From 2147d023563a7c9d05d97547c00d6b0162c0644c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 09 十一月 2020 18:37:24 +0800
Subject: [PATCH] 刷单风险规则优化

---
 fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java |  827 ++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 448 insertions(+), 379 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java
index 5b4aa63..8f04c3b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java
@@ -6,13 +6,16 @@
 import java.util.Map;
 
 import com.yeshi.fanli.dto.order.CommonOrderAddResultDTO;
+import com.yeshi.fanli.entity.SystemEnum;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.jd.JDOrder;
 import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.order.ESOrder;
 import com.yeshi.fanli.entity.pdd.PDDOrder;
+import com.yeshi.fanli.entity.suning.SuningOrderInfo;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
+import com.yeshi.fanli.entity.vipshop.VipShopOrder;
 import com.yeshi.fanli.exception.order.CommonOrderException;
 import com.yeshi.fanli.vo.order.CommonOrderVO;
 import com.yeshi.fanli.vo.order.OrderCountVO;
@@ -21,430 +24,496 @@
 
 public interface CommonOrderService {
 
-	public int insert(CommonOrder record);
 
-	public int insertSelective(CommonOrder record);
+    public int insert(CommonOrder record);
 
-	public int updateByPrimaryKey(CommonOrder record);
+    public int insertSelective(CommonOrder record);
 
-	public int updateByPrimaryKeySelective(CommonOrder record);
+    public int updateByPrimaryKey(CommonOrder record);
 
-	public int deleteByPrimaryKey(Long id);
+    public int updateByPrimaryKeySelective(CommonOrder record);
 
-	public CommonOrder selectByPrimaryKey(Long id);
+    public int deleteByPrimaryKey(Long id);
 
-	/**
-	 * 鏌ヨ鐢ㄦ埛璁㈠崟 骞惰鍗曞彿鍒嗙粍
-	 * 
-	 * @param start
-	 * @param count
-	 * @param uid
-	 * @param state
-	 * @param type
-	 * @param orderNo
-	 *            璁㈠崟鍙�
-	 * @param startTime
-	 *            璧峰绯荤粺褰曞叆鏃堕棿
-	 * @param endTime
-	 *            缁撴潫绯荤粺褰曞叆鏃堕棿
-	 * @return
-	 * @throws CommonOrderException
-	 */
-	public List<CommonOrderVO> listGroupOrderNoByUid(long start, int count, Long uid, Integer state, Integer type,
-			Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, Integer source)
-			throws CommonOrderException;
+    public CommonOrder selectByPrimaryKey(Long id);
 
-	/**
-	 * 缁熻鏌ヨ
-	 * 
-	 * @param uid
-	 * @param state
-	 * @param type
-	 * @param orderNo
-	 * @param startTime
-	 * @param endTime
-	 * @return
-	 * @throws CommonOrderException
-	 */
-	long countGroupOrderNoByUid(Long uid, Integer state, Integer type, Integer orderState, String orderNo,
-			String startTime, String endTime, Integer dateType, List<Integer> listSource) throws CommonOrderException;
+    /**
+     * 鏌ヨ鐢ㄦ埛璁㈠崟 骞惰鍗曞彿鍒嗙粍
+     *
+     * @param start
+     * @param count
+     * @param uid
+     * @param state
+     * @param type
+     * @param orderNo   璁㈠崟鍙�
+     * @param startTime 璧峰绯荤粺褰曞叆鏃堕棿
+     * @param endTime   缁撴潫绯荤粺褰曞叆鏃堕棿
+     * @return
+     * @throws CommonOrderException
+     */
+    public List<CommonOrderVO> listGroupOrderNoByUid(long start, int count, Long uid, Integer state, Integer type,
+                                                     Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, Integer source)
+            throws CommonOrderException;
 
-	/**
-	 * 绉诲姩娈佃鍗曞垪琛�
-	 * 
-	 * @param start
-	 * @param count
-	 * @param uid
-	 *            鐢ㄦ埛id
-	 * @param type
-	 *            鍒拌处鐘舵��
-	 * @return
-	 */
-	public List<CommonOrderVO> getOrderByUid(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type,
-			Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, List<Integer> listSource)
-			throws CommonOrderException,Exception;
+    /**
+     * 缁熻鏌ヨ
+     *
+     * @param uid
+     * @param state
+     * @param type
+     * @param orderNo
+     * @param startTime
+     * @param endTime
+     * @return
+     * @throws CommonOrderException
+     */
+    long countGroupOrderNoByUid(Long uid, Integer state, Integer type, Integer orderState, String orderNo,
+                                String startTime, String endTime, Integer dateType, List<Integer> listSource) throws CommonOrderException;
 
-	/**
-	 * 缁熻璁㈠崟-鏍规嵁绾㈠寘绫诲瀷 鑷喘 閭�璇� 鍒嗕韩
-	 * 
-	 * @param uid
-	 * @return
-	 */
-	public Map<String, BigDecimal> countHistoryOrder(Long uid, Integer day, Integer source);
+    /**
+     * 绉诲姩娈佃鍗曞垪琛�
+     *
+     * @param start
+     * @param count
+     * @param uid   鐢ㄦ埛id
+     * @param type  鍒拌处鐘舵��
+     * @return
+     */
+    public List<CommonOrderVO> getOrderByUid(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type,
+                                             Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, List<Integer> listSource)
+            throws CommonOrderException, Exception;
 
-	/**
-	 * 缁熻璁㈠崟
-	 * 
-	 * @param uid
-	 * @return
-	 */
-	public long countBonusOrderNumber(Long uid, Integer type, Integer isToday, String startTime, String endTime,
-			Integer source);
+    /**
+     * 缁熻璁㈠崟-鏍规嵁绾㈠寘绫诲瀷 鑷喘 閭�璇� 鍒嗕韩
+     *
+     * @param uid
+     * @return
+     */
+    public Map<String, BigDecimal> countHistoryOrder(Long uid, Integer day, Integer source);
 
-	/**
-	 * 缁熻璁㈠崟
-	 * 
-	 * @param uid
-	 * @return
-	 */
-	public BigDecimal countBonusOrderMoney(Long uid, Integer type, Integer isToday, String startTime, String endTime,
-			Integer source);
+    /**
+     * 缁熻璁㈠崟
+     *
+     * @param uid
+     * @return
+     */
+    public long countBonusOrderNumber(Long uid, Integer type, Integer isToday, String startTime, String endTime,
+                                      Integer source);
 
-	/**
-	 * 缁熻濂栭噾璁㈠崟鏁伴噺銆侀噾棰�
-	 * 
-	 * @param uid
-	 * @param type
-	 * @param day
-	 * @param startTime
-	 * @param endTime
-	 * @return
-	 */
-	public Map<String, Object> countBonusOrderMoneyAndNumber(Long uid, Integer type, Integer day, String startTime,
-			String endTime, Integer source);
+    /**
+     * 缁熻璁㈠崟
+     *
+     * @param uid
+     * @return
+     */
+    public BigDecimal countBonusOrderMoney(Long uid, Integer type, Integer isToday, String startTime, String endTime,
+                                           Integer source);
 
-	/**
-	 * 鏍规嵁鏉′欢缁熻
-	 * 
-	 * @param uid
-	 * @param type
-	 * @param startTime
-	 * @param endTime
-	 * @return
-	 */
-	public Long countUserOrderToApp(Long uid, Integer type, String startTime, String endTime,
-			Integer day, Integer source, Integer state, Integer stateOrder);
+    /**
+     * 缁熻濂栭噾璁㈠崟鏁伴噺銆侀噾棰�
+     *
+     * @param uid
+     * @param type
+     * @param day
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public Map<String, Object> countBonusOrderMoneyAndNumber(Long uid, Integer type, Integer day, String startTime,
+                                                             String endTime, Integer source);
 
-	/**
-	 * 鏍规嵁璁㈠崟鍙蜂笌璁㈠崟绫诲瀷鏌ヨ璁㈠崟
-	 * 
-	 * @param sourceType
-	 * @param orderId
-	 * @return
-	 */
-	public List<CommonOrder> listBySourceTypeAndOrderId(int sourceType, String orderId);
+    /**
+     * 鏍规嵁鏉′欢缁熻
+     *
+     * @param uid
+     * @param type
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public Long countUserOrderToApp(Long uid, Integer type, String startTime, String endTime,
+                                    Integer day, Integer source, Integer state, Integer stateOrder);
 
-	/**
-	 * 缂撳瓨娣樺疂绫绘櫘閫氳鍗�
-	 * 
-	 * @param taoBaoOrder
-	 * @param uid
-	 * @return
-	 * @throws CommonOrderException
-	 */
-	public List<CommonOrderAddResultDTO> addTaoBaoOrder(List<TaoBaoOrder> taoBaoOrder, Long uid) throws CommonOrderException;
+    /**
+     * 鏍规嵁璁㈠崟鍙蜂笌璁㈠崟绫诲瀷鏌ヨ璁㈠崟
+     *
+     * @param sourceType
+     * @param orderId
+     * @return
+     */
+    public List<CommonOrder> listBySourceTypeAndOrderId(int sourceType, String orderId);
 
-	/**
-	 * 缂撳瓨鎷煎澶氱被鏅�氳鍗�
-	 * 
-	 * @param pddOrderList
-	 * @param uid
-	 * @return
-	 * @throws CommonOrderException
-	 */
-	public List<CommonOrderAddResultDTO> addPDDOrder(List<PDDOrder> pddOrderList, Long uid) throws CommonOrderException;
+    /**
+     * 缂撳瓨娣樺疂绫绘櫘閫氳鍗�
+     *
+     * @param taoBaoOrder
+     * @param uid
+     * @return
+     * @throws CommonOrderException
+     */
+    public List<CommonOrderAddResultDTO> addTaoBaoOrder(List<TaoBaoOrder> taoBaoOrder, Long uid) throws CommonOrderException;
 
-	/**
-	 * 缂撳瓨浜笢鏅�氳鍗�
-	 * 
-	 * @param jdOrderList
-	 * @param uid
-	 * @return
-	 * @throws CommonOrderException
-	 */
-	public List<CommonOrderAddResultDTO> addJDOrder(JDOrder jdOrder, Long uid) throws CommonOrderException;
+    /**
+     * 缂撳瓨鎷煎澶氱被鏅�氳鍗�
+     *
+     * @param pddOrderList
+     * @param uid
+     * @return
+     * @throws CommonOrderException
+     */
+    public List<CommonOrderAddResultDTO> addPDDOrder(List<PDDOrder> pddOrderList, Long uid) throws CommonOrderException;
 
-	/**
-	 * 鏍规嵁鐢ㄦ埛ID锛岃鍗曠姸鎬侊紝缁撶畻鏃堕棿缁熻璁㈠崟鏁伴噺
-	 * 
-	 * @param uid
-	 * @param state
-	 * @param minDate
-	 * @param maxDate
-	 * @return
-	 */
-	public long countByUidAndOrderStateWithOrderBalanceTime(Long uid, int state, Date minDate, Date maxDate);
+    /**
+     * 缂撳瓨浜笢鏅�氳鍗�
+     *
+     * @param jdOrderList
+     * @param uid
+     * @return
+     * @throws CommonOrderException
+     */
+    public List<CommonOrderAddResultDTO> addJDOrder(JDOrder jdOrder, Long uid) throws CommonOrderException;
 
-	/**
-	 * 鍚庣鏌ヨ璁㈠崟鍒楄〃
-	 * 
-	 * @param start
-	 * @param count
-	 * @param uid
-	 * @param state
-	 * @param type
-	 * @param orderState
-	 * @param orderNo
-	 * @param startTime
-	 * @param endTime
-	 * @param dateType
-	 *            1鏄ㄥぉ 2浠婂ぉ 3鏈湀 4 涓婃湀
-	 * @return
-	 * @throws CommonOrderException
-	 */
-	public List<CommonOrderVO> listQueryByUid(long start, int count, Long uid, Integer state, Integer type,
-			Integer orderState, String orderNo, String startTime, String endTime, Integer dateType)
-			throws CommonOrderException;
 
-	public long countQueryByUid(Long uid, Integer state, Integer type, Integer orderState, String orderNo,
-			String startTime, String endTime, Integer dateType) throws CommonOrderException;
+    /**
+     * 娣诲姞鍞搧浼氳鍗�
+     *
+     * @param order
+     * @param uid
+     * @return
+     * @throws CommonOrderException List<CommonOrderAddResultDTO> 杩斿洖绫诲瀷
+     * @throws
+     * @Title: addVipShopOrder
+     * @Description:
+     */
+    public List<CommonOrderAddResultDTO> addVipShopOrder(VipShopOrder order, Long uid) throws CommonOrderException;
 
-	/**
-	 * 鏌ヨ鎵�鏈夌敤鎴疯鍗�
-	 * 
-	 * @param start
-	 * @param count
-	 * @param keyType
-	 * @param key
-	 * @param state
-	 * @param type
-	 * @param orderState
-	 * @param startTime
-	 * @param endTime
-	 * @return
-	 * @throws CommonOrderException
-	 */
 
-	public List<CommonOrderVO> listQuery(long start, int count, Integer keyType, String key, Integer state,
-			Integer type, Integer orderState, String startTime, String endTime, Integer source,
-			List<Long> listShopId, List<Long> listGoodsId, Date minTime, BigDecimal money,BigDecimal payment)
-			throws CommonOrderException;
+    /**
+     * 娣诲姞鑻忓畞璁㈠崟
+     *
+     * @param order
+     * @param uid
+     * @return
+     * @throws CommonOrderException List<CommonOrderAddResultDTO> 杩斿洖绫诲瀷
+     * @throws
+     * @Title: addVipShopOrder
+     * @Description:
+     */
+    public List<CommonOrderAddResultDTO> addSuningOrder(List<SuningOrderInfo> suningOrderList, Long uid) throws CommonOrderException;
 
-	public long countQuery(Integer keyType, String key, Integer state, Integer type, Integer orderState,
-			String startTime, String endTime, Integer source, 
-			List<Long> listShopId, List<Long> listGoodsId,Date minTime, BigDecimal money,BigDecimal payment) throws CommonOrderException;
 
-	/**
-	 * 鏌ヨ璁㈠崟
-	 * 
-	 * @param uid
-	 * @param orderNo
-	 * @return
-	 * @throws CommonOrderException
-	 */
-	public CommonOrderVO getCommonOrderByOrderNo(Long uid, String orderNo, Integer orderState, Integer sourceType)
-			throws CommonOrderException;
+    /**
+     * 鏍规嵁鐢ㄦ埛ID锛岃鍗曠姸鎬侊紝缁撶畻鏃堕棿缁熻璁㈠崟鏁伴噺
+     *
+     * @param uid
+     * @param state
+     * @param minDate
+     * @param maxDate
+     * @return
+     */
+    public long countByUidAndOrderStateWithOrderBalanceTime(Long uid, int state, Date minDate, Date maxDate);
 
-	/**
-	 * 浣跨敤濂栧姳鍒告垚鍔熷悗璺宠浆 淇敼
-	 * 
-	 * @param orderNo
-	 * @return
-	 */
-	public JSONObject getRewardJumpInfo(String orderNo, Integer goodsType);
+    /**
+     * 鍚庣鏌ヨ璁㈠崟鍒楄〃
+     *
+     * @param start
+     * @param count
+     * @param uid
+     * @param state
+     * @param type
+     * @param orderState
+     * @param orderNo
+     * @param startTime
+     * @param endTime
+     * @param dateType   1鏄ㄥぉ 2浠婂ぉ 3鏈湀 4 涓婃湀
+     * @return
+     * @throws CommonOrderException
+     */
+    public List<CommonOrderVO> listQueryByUid(long start, int count, Long uid, Integer state, Integer type,
+                                              Integer orderState, String orderNo, String startTime, String endTime, Integer dateType)
+            throws CommonOrderException;
 
-	/**
-	 * 鏍规嵁浜ゆ槗鍙疯幏鍙栬鍗曡鎯�
-	 * 
-	 * @param sourceType
-	 * @param tradeId
-	 * @return
-	 */
-	public CommonOrder selectBySourceTypeAndTradeId(int sourceType, String tradeId);
+    public long countQueryByUid(Long uid, Integer state, Integer type, Integer orderState, String orderNo,
+                                String startTime, String endTime, Integer dateType) throws CommonOrderException;
 
-	/**
-	 * 鍒犻櫎閿欒璁㈠崟
-	 * 
-	 * @param coId
-	 */
-	public void deleteErrorCommonOrder(Long coId);
+    /**
+     * 鏌ヨ鎵�鏈夌敤鎴疯鍗�
+     *
+     * @param start
+     * @param count
+     * @param keyType
+     * @param key
+     * @param state
+     * @param typeList
+     * @param orderState
+     * @param startTime
+     * @param endTime
+     * @return
+     * @throws CommonOrderException
+     */
 
-	/**
-	 * 鏍规嵁璁㈠崟绫诲瀷涓庝氦鏄揑D鏌ヨ
-	 * 
-	 * @param sourceType
-	 * @param tradeId
-	 * @return
-	 */
-	public List<CommonOrder> listBySourceTypeAndTradeId(int sourceType, String tradeId);
+    public List<CommonOrderVO> listQuery(long start, int count, Integer keyType, String key, Integer state,
+                                         List<Integer> typeList, Integer orderState, String startTime, String endTime, Integer source,
+                                         List<Long> listShopId, List<Long> listGoodsId, Date minTime, BigDecimal money, BigDecimal payment, SystemEnum system)
+            throws CommonOrderException;
 
-	/**
-	 * 鏍规嵁鏉′欢鏌ヨ璁㈠崟
-	 * 
-	 * @param sourceType
-	 * @param state
-	 * @param minTime
-	 * @param maxTime
-	 * @param page
-	 * @param pageSize
-	 * @return
-	 */
-	public List<CommonOrder> listBySourceTypeAndStateAndThirdCrateTime(int sourceType, Integer state, Long minTime,
-			Long maxTime, int page, int pageSize);
+    public long countQuery(Integer keyType, String key, Integer state, List<Integer> typeList, Integer orderState,
+                           String startTime, String endTime, Integer source,
+                           List<Long> listShopId, List<Long> listGoodsId, Date minTime, BigDecimal money, BigDecimal payment, SystemEnum system) throws CommonOrderException;
 
-	/**
-	 * 鏌ヨ璁㈠崟 -鏍规嵁璁㈠崟鍙�
-	 * 
-	 * @param uid
-	 * @param orderNO
-	 * @return
-	 */
-	public List<CommonOrder> getByOrderNo(Long uid, String orderNO);
+    /**
+     * 鏌ヨ璁㈠崟
+     *
+     * @param uid
+     * @param orderNo
+     * @return
+     * @throws CommonOrderException
+     */
+    public CommonOrderVO getCommonOrderByOrderNo(Long uid, String orderNo, Integer orderState, Integer sourceType)
+            throws CommonOrderException;
 
-	/**
-	 * 鏍规嵁鐢ㄦ埛ID鏌ヨ鏈�杩戜竴鏉℃湁鏁堢殑璁㈠崟
-	 * 
-	 * @param uid
-	 * @return
-	 */
-	public CommonOrder selectLatestValidByUid(Long uid);
-	
-	/**
-	 * 鏌ヨ棣栫瑪鏈夋晥璁㈠崟
-	 * @param uid  
-	 * @return
-	 */
-	public CommonOrderVO firstValidOrderByUid(Long uid);
-	
+    /**
+     * 浣跨敤濂栧姳鍒告垚鍔熷悗璺宠浆 淇敼
+     *
+     * @param orderNo
+     * @return
+     */
+    public JSONObject getRewardJumpInfo(String orderNo, Integer goodsType);
 
-	/**
-	 * 鏌ヨ棣栫瑪鏈夋晥璁㈠崟
-	 * @param uid  
-	 * @param type 绫诲瀷锛� 1鑷喘  2鍒嗕韩 3閭�璇�
-	 * @return
-	 */
-	public CommonOrderVO firstValidOrderByUidAndType(Long uid, Integer type);
+    /**
+     * 鏍规嵁浜ゆ槗鍙疯幏鍙栬鍗曡鎯�
+     *
+     * @param sourceType
+     * @param tradeId
+     * @return
+     */
+    public CommonOrder selectBySourceTypeAndTradeId(int sourceType, String tradeId);
 
-	/**
-	 * 鏌ヨ鏄惁涓婃湀鍒拌处璁㈠崟
-	 * @param uid
-	 * @param type 绫诲瀷锛� 1鑷喘  2鍒嗕韩 3閭�璇�
-	 * @return
-	 */
-	public CommonOrderVO firstValidOrderLastMonthByUidAndType(Long uid, Integer type);
+    /**
+     * 鍒犻櫎閿欒璁㈠崟
+     *
+     * @param coId
+     */
+    public void deleteErrorCommonOrder(Long coId);
 
-	/**
-	 * 棣栦釜鍒嗕韩璁㈠崟
-	 * @param uid
-	 * @return
-	 */
-	public CommonOrder getFirstShareOrderByUid(Long uid);
+    /**
+     * 鏍规嵁璁㈠崟绫诲瀷涓庝氦鏄揑D鏌ヨ
+     *
+     * @param sourceType
+     * @param tradeId
+     * @return
+     */
+    public List<CommonOrder> listBySourceTypeAndTradeId(int sourceType, String tradeId);
 
-	/**
-	 * 璁㈠崟涓幏寰楁湁鏁堝閲�
-	 * @param orderNo
-	 * @param sourceType
-	 * @return
-	 */
-	public BigDecimal getTotalRewardMoneyByOrderNoAndSourceType(String orderNo, Integer sourceType);
+    /**
+     * 鏍规嵁鏉′欢鏌ヨ璁㈠崟
+     *
+     * @param sourceType
+     * @param state
+     * @param minTime
+     * @param maxTime
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    public List<CommonOrder> listBySourceTypeAndStateAndThirdCrateTime(int sourceType, Integer state, Long minTime,
+                                                                       Long maxTime, int page, int pageSize);
 
-	/**
-	 * 缁熻24灏忔椂鏈夋晥鑷喘璁㈠崟
-	 * @param uid
-	 * @param minTime
-	 * @return
-	 */
-	public long count24HValidOrderByUid(Long uid, Date minTime);
+    /**
+     * 鏌ヨ璁㈠崟 -鏍规嵁璁㈠崟鍙�
+     *
+     * @param uid
+     * @param orderNO
+     * @return
+     */
+    public List<CommonOrder> getByOrderNo(Long uid, String orderNO);
 
-	/**
-	 * 璁㈠崟缁熻鏈夋晥鏁伴噺
-	 * @param uid
-	 * @param day
-	 * @param source
-	 * @return
-	 */
-	public OrderCountVO getOrderCount(Long uid, Integer day,  List<Integer> listSource);
+    /**
+     * 鏍规嵁鐢ㄦ埛ID鏌ヨ鏈�杩戜竴鏉℃湁鏁堢殑璁㈠崟
+     *
+     * @param uid
+     * @return
+     */
+    public CommonOrder selectLatestValidByUid(Long uid);
 
-	/**
-	 * 鎼滅储璁㈠崟淇℃伅
-	 * @param page
-	 * @param size
-	 * @param uid
-	 * @param list
-	 * @return
-	 */
-	public List<CommonOrderVO> searchOrderByUid(AcceptData acceptData, int page, int size, Long uid, List<ESOrder> list) throws Exception;
+    /**
+     * 鏌ヨ棣栫瑪鏈夋晥璁㈠崟
+     *
+     * @param uid
+     * @return
+     */
+    public CommonOrderVO firstValidOrderByUid(Long uid);
 
-	public long countSearchOrderByUid(Long uid, List<ESOrder> list);
-	
-	/**
-	 * 杩斿洖璁㈠崟鐨勭涓夋柟鍒涘缓鏃堕棿
-	 * @Title: getThirdCreateTime
-	 * @Description: 
-	 * @param orderId
-	 * @param sourceType
-	 * @return 
-	 * Date 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	public Date getThirdCreateTime(String orderId,int sourceType);
 
-	
-	public List<CommonOrder> getMinSettleTimeAndUid();
+    /**
+     * 鏌ヨ棣栫瑪鏈夋晥璁㈠崟
+     *
+     * @param uid
+     * @param type 绫诲瀷锛� 1鑷喘  2鍒嗕韩 3閭�璇�
+     * @return
+     */
+    public CommonOrderVO firstValidOrderByUidAndType(Long uid, Integer type);
 
-	/**
-	 * 鏂扮増绾㈠寘淇℃伅2.1
-	 * @param acceptData
-	 * @param page
-	 * @param uid
-	 * @param state
-	 * @param type
-	 * @param orderState
-	 * @param orderNo
-	 * @param startTime
-	 * @param endTime
-	 * @param dateType
-	 * @param listSource
-	 * @return
-	 * @throws CommonOrderException
-	 * @throws Exception
-	 */
-	public List<CommonOrderVO> getOrderList(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type,
-			Integer orderState, String orderNo, String startTime, String endTime, Integer dateType,
-			List<Integer> listSource, boolean notBackSuVip) throws CommonOrderException, Exception;
+    /**
+     * 鏌ヨ鏄惁涓婃湀鍒拌处璁㈠崟
+     *
+     * @param uid
+     * @param type 绫诲瀷锛� 1鑷喘  2鍒嗕韩 3閭�璇�
+     * @return
+     */
+    public CommonOrderVO firstValidOrderLastMonthByUidAndType(Long uid, Integer type);
 
-	long countOrderList(Long uid, Integer state, Integer type, Integer orderState, String orderNo, String startTime,
-			String endTime, Integer dateType, List<Integer> listSource, boolean notBackSuVip) throws CommonOrderException;
+    /**
+     * 棣栦釜鍒嗕韩璁㈠崟
+     *
+     * @param uid
+     * @return
+     */
+    public CommonOrder getFirstShareOrderByUid(Long uid);
 
-	/**
-	 * 缁存潈閲戦璁$畻
-	 * @param listWQ
-	 * @param sourceType
-	 * @param uid
-	 * @return
-	 */
-	public BigDecimal getWeiQuanMoney(List<TaoBaoWeiQuanOrder> listWQ, int sourceType, Long uid);
+    /**
+     * 璁㈠崟涓幏寰楁湁鏁堝閲�
+     *
+     * @param orderNo
+     * @param sourceType
+     * @return
+     */
+    public BigDecimal getTotalRewardMoneyByOrderNoAndSourceType(String orderNo, Integer sourceType);
 
-	
-	/**
-	 * 缁熻璁㈠崟璁板綍鏁伴噺-闈炶鍗曞彿涓轰富
-	 * @param uid
-	 * @param payment
-	 * @return
-	 */
-	public long countOrderByUidAndSettled(Long uid, BigDecimal payment);
+    /**
+     * 缁熻24灏忔椂鏈夋晥鑷喘璁㈠崟
+     *
+     * @param uid
+     * @param minTime
+     * @return
+     */
+    public long count24HValidOrderByUid(Long uid, Date minTime);
 
-	/**
-	 * 鑾峰彇鏈�鏂扮殑娣樺疂璁㈠崟鍙�
-	 * @return
-	 */
-	public String getNewestOrderNoByTaoBao();
+    /**
+     * 璁㈠崟缁熻鏈夋晥鏁伴噺
+     *
+     * @param uid
+     * @param day
+     * @param source
+     * @return
+     */
+    public OrderCountVO getOrderCount(Long uid, Integer day, List<Integer> listSource);
 
-	/**
-	 * 鏍规嵁璁㈠崟鍙锋煡璇�
-	 * @param orderNo
-	 * @return
-	 */
-	public List<CommonOrder> listByOrderNo(String orderNo);
+    /**
+     * 鎼滅储璁㈠崟淇℃伅
+     *
+     * @param page
+     * @param size
+     * @param uid
+     * @param list
+     * @return
+     */
+    public List<CommonOrderVO> searchOrderByUid(AcceptData acceptData, int page, int size, Long uid, List<ESOrder> list) throws Exception;
+
+    public long countSearchOrderByUid(Long uid, List<ESOrder> list);
+
+    /**
+     * 杩斿洖璁㈠崟鐨勭涓夋柟鍒涘缓鏃堕棿
+     *
+     * @param orderId
+     * @param sourceType
+     * @return Date 杩斿洖绫诲瀷
+     * @throws
+     * @Title: getThirdCreateTime
+     * @Description:
+     */
+    public Date getThirdCreateTime(String orderId, int sourceType);
+
+
+    public List<CommonOrder> getMinSettleTimeAndUid();
+
+    /**
+     * 鏂扮増绾㈠寘淇℃伅2.1
+     *
+     * @param acceptData
+     * @param page
+     * @param uid
+     * @param state
+     * @param type
+     * @param orderState
+     * @param orderNo
+     * @param startTime
+     * @param endTime
+     * @param dateType
+     * @param listSource
+     * @return
+     * @throws CommonOrderException
+     * @throws Exception
+     */
+    public List<CommonOrderVO> getOrderList(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type,
+                                            Integer orderState, String orderNo, String startTime, String endTime, Integer dateType,
+                                            List<Integer> listSource) throws CommonOrderException, Exception;
+
+    long countOrderList(Long uid, Integer state, Integer type, Integer orderState, String orderNo, String startTime,
+                        String endTime, Integer dateType, List<Integer> listSource);
+
+    /**
+     * 缁存潈閲戦璁$畻
+     *
+     * @param listWQ
+     * @param sourceType
+     * @param uid
+     * @return
+     */
+    public BigDecimal getWeiQuanMoney(List<TaoBaoWeiQuanOrder> listWQ, int sourceType, Long uid);
+
+
+    /**
+     * 缁熻璁㈠崟璁板綍鏁伴噺-闈炶鍗曞彿涓轰富
+     *
+     * @param uid
+     * @param payment
+     * @return
+     */
+    public long countOrderByUidAndSettled(Long uid, BigDecimal payment);
+
+    /**
+     * 鑾峰彇鏈�鏂扮殑娣樺疂璁㈠崟鍙�
+     *
+     * @return
+     */
+    public String getNewestOrderNoByTaoBao();
+
+    /**
+     * 鏍规嵁璁㈠崟鍙锋煡璇�
+     *
+     * @param orderNo
+     * @return
+     */
+    public List<CommonOrder> listByOrderNo(String orderNo);
+
+    /**
+     * 鏍规嵁璁㈠崟绫诲瀷+ 璁㈠崟鍙锋煡璇�
+     *
+     * @param uid
+     * @param orderNO
+     * @param sourceType
+     * @return
+     */
+    public List<CommonOrder> getByOrderNoAndSourceType(Long uid, String orderNO, int sourceType);
+
+    /**
+     * 棣栧崟
+     *
+     * @param uid
+     * @return
+     */
+    public CommonOrder getFirstOrder(Long uid);
+
+
+    /**
+     * 鏍规嵁鍟嗗搧ID锛岀敤鎴稩D锛屾渶灏忓垱寤烘椂闂存煡璇�
+     *
+     * @param goodsId
+     * @param uid
+     * @param minThirdCreateTime
+     * @return
+     */
+    public List<CommonOrder> listByGoodsIdAndUidAndMinThirdCreateTime(Long goodsId, Long uid, Date minThirdCreateTime);
 
 }

--
Gitblit v1.8.0