From e40d1c22c7202aac843c66f9ee9cc000744f9e10 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 30 六月 2020 15:52:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java |   41 ++++++++++++++++++++++++++++++-----------
 1 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
index eaeedc7..df12626 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
@@ -467,21 +467,25 @@
 	@Override
 	@RequestSerializableByKeyService(key = "#orderUid")
 	@Transactional(rollbackFor = Exception.class)
-	public void winRedPackByOrder(Long orderUid, String orderNo, Integer source, Date downTime) {
+	public void winRedPackByOrder(Long orderUid, String orderNo, Integer source) {
 		if (orderUid == null || StringUtil.isNullOrEmpty(orderNo)) {
 			return;
 		}
+		// 楠岃瘉鏄惁鏈鍗�
+		CommonOrder firstOrder = commonOrderService.getFirstOrder(orderUid);
+		if (!firstOrder.getOrderNo().equals(orderNo) && firstOrder.getSourceType() != source)
+			return;
 		
+		Date downTime = firstOrder.getThirdCreateTime();
 		// 娉ㄥ唽鏃堕棿
 		UserInfoRegister register = userInfoRegisterService.selectByPrimaryKey(orderUid);
 		if (register == null) 
 			return;
-		// 娉ㄥ唽48灏忔椂 浠ュ唴 :鏂颁汉
 		long registerTime = register.getCreateTime().getTime();
-		// 48灏忔椂闄愬埗
+		// 娉ㄥ唽48灏忔椂鍐呬笅鍗曢檺鍒�
 		if (downTime.getTime() < registerTime || downTime.getTime() > registerTime + 1000*60*60*48)
 			return;
-		
+				
 		// 鏄惁瀛樺湪涓婁笅绾у叧绯�
 		ThreeSale threeSale = threeSaleSerivce.getByWorkerId(orderUid);
 		if (threeSale == null)
@@ -490,17 +494,17 @@
 		if (bossId == null)
 			return;
 		
+		// 璇ラ個璇锋槸鍚﹀凡娣诲姞
+		RedPackWinInvite threeStage = redPackWinInviteMapper.getByUidAndTeamUid(bossId, orderUid);
+		if (threeStage != null)
+			return;
+		
 		// 灏忎簬2.1.3鐗堟湰涓嶅鍔�
 		UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
 		if (activeLog == null)
 			return;
 		if (!VersionUtil.greaterThan_2_1_3("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android",
 				activeLog.getVersionCode()))
-			return;
-		
-		// 璇ラ個璇锋槸鍚﹀凡娣诲姞
-		RedPackWinInvite threeStage = redPackWinInviteMapper.getByUidAndTeamUid(bossId, orderUid);
-		if (threeStage != null)
 			return;
 		
 		// 鏌ヨ璁㈠崟
@@ -515,6 +519,10 @@
 	    boolean satisfy = false;
 		// 閬嶅巻鏄惁瀛樺湪绗﹀悎鐩稿簲鍟嗗搧
 		for (CommonOrder commonOrder: list) {
+			// 璁㈠崟鏈粨绠�
+			if(commonOrder.getState() != CommonOrder.STATE_JS)
+				continue;
+						
 			// 閭�璇峰叧绯讳箣鍚�
 			long thirdTime = commonOrder.getThirdCreateTime().getTime();
 			if (thirdTime < threeSale.getCreateTime())
@@ -569,6 +577,10 @@
 		if (downTime.getTime() < registerTime || downTime.getTime() > registerTime + 1000*60*60*48)
 			return satisfy;
 		
+		CommonOrder firstOrder = commonOrderService.getFirstOrder(orderUid);
+		if (!firstOrder.getOrderNo().equals(orderNo) && firstOrder.getSourceType() != source)
+			return satisfy;
+		
 		// 鏄惁宸插鍔�
 		List<UserSystemCoupon> coupons = userSystemCouponService.getUserCouponBySource(orderUid, UserSystemCoupon.SOURCE_PULL_NEW);
 		if (coupons != null && coupons.size() > 0) {
@@ -605,6 +617,10 @@
 			long thirdTime = commonOrder.getThirdCreateTime().getTime();
 			if (thirdTime < threeSale.getCreateTime())
 				continue;
+			// 璁㈠崟澶辨晥
+			if(commonOrder.getState() != CommonOrder.STATE_FK && commonOrder.getState() != CommonOrder.STATE_JS)
+				continue;
+						
 			// 浠樻閲戦闄愬埗
 			BigDecimal payment = commonOrder.getPayment();
 			if (payment == null || payment.compareTo(limitPayMent) < 0) 
@@ -663,6 +679,9 @@
 	    boolean satisfy = false;
 		// 閬嶅巻鏄惁瀛樺湪绗﹀悎鐩稿簲鍟嗗搧
 		for (CommonOrder commonOrder: list) {
+			// 璁㈠崟澶辨晥
+			if(commonOrder.getState() != CommonOrder.STATE_FK && commonOrder.getState() != CommonOrder.STATE_JS)
+				continue;
 			// 浠樻閲戦闄愬埗
 			BigDecimal payment = commonOrder.getPayment();
 			if (payment == null || payment.compareTo(limitPayMent) < 0) 
@@ -687,8 +706,8 @@
 		
 		// 璧犻�佽喘涔拌�呬竴寮犲厤鍗曞埜
 		try {
-			userSystemCouponService.freeCouponWinBySystem(orderUid, CouponTypeEnum.freeCouponBuy, 
-					UserSystemCoupon.SOURCE_PULL_NEW, 1, true, 2);
+			userSystemCouponService.freeCouponWinBySystem(orderUid, CouponTypeEnum.freeCoupon, 
+					UserSystemCoupon.SOURCE_PULL_NEW, 1, true, 2, 1);
 		} catch (UserSystemCouponException e) {
 			e.printStackTrace();
 		} catch (Exception e) {

--
Gitblit v1.8.0