From 394ee5b2dc3416634540b9f942c869574adb3d9c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 20 十一月 2019 14:47:32 +0800
Subject: [PATCH] 邀请订单到账

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java |   51 ++++++++++++++++++++++++---------------------------
 1 files changed, 24 insertions(+), 27 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 b7710be..8c62abc 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
@@ -18,6 +18,7 @@
 import com.yeshi.fanli.entity.bus.user.UserActiveLog;
 import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.redpack.RedPackWinInvite;
 import com.yeshi.fanli.entity.redpack.RedPackWinInvite.RedPackWinInviteTypeEnum;
 import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
@@ -36,6 +37,7 @@
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService;
+import com.yeshi.fanli.util.annotation.redpack.RedPackGetVersionLimit;
 import com.yeshi.fanli.util.factory.RedPackDetailFactory;
 
 @Service
@@ -163,54 +165,49 @@
 	
 	
 	@RequestSerializableByKeyService(key = "#uid")
+	@RedPackGetVersionLimit(uid = "#uid")
 	@Transactional(rollbackFor = Exception.class)
 	@Override
-	public void orderArriveReward(Long uid, Integer source, String orderNo) throws Exception {
+	public void inviteOrderArriveReward(Long uid, Integer source, String orderNo) throws Exception {
 		if (uid == null || source == null || StringUtil.isNullOrEmpty(orderNo))
 			return;
 		
-		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(uid, Constant.RED_PACK_REWARD_TIME);
-		if(threeSale == null)
-			return;
-		bossReward(threeSale.getBoss().getId(), uid, source, orderNo);
-	}
-	
-	
-	/**
-	 * 涓婄骇濂栧姳
-	 * @param uid
-	 * @param teamUid
-	 * @param source
-	 * @param orderNo
-	 * @throws Exception
-	 */
-	@Transactional
-	private void  bossReward(Long bossId, Long teamUid, Integer source, String orderNo)  throws Exception {
-		UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
-		if (activeLog == null) 
+		//鑾峰彇璁㈠崟瀵瑰簲涓嬪崟浜�
+		List<CommonOrder> list = commonOrderService.listBySourceTypeAndOrderId(source, orderNo);
+		if (list == null || list.isEmpty())
 			return;
 		
-		// 灏忎簬2.0.2鐗堟湰涓嶅鍔�
-		if (!VersionUtil.greaterThan_2_1("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android",
-				activeLog.getVersionCode()))
+		CommonOrder commonOrder = list.get(0);
+		if (commonOrder == null || commonOrder.getUserInfo() == null)
+			return;
+		
+		// 涓嬪崟浜篿d
+		Long teamUid = commonOrder.getUserInfo().getId();
+		if (teamUid == null)
+			return;
+		
+		// 楠岃瘉涓婁笅绾у叧绯�
+		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, Constant.RED_PACK_REWARD_TIME);
+		if(threeSale == null || threeSale.getBoss().getId().longValue() != uid.longValue())
 			return;
 		
 		// 绗竴闃舵(楠岃瘉)
-		RedPackWinInvite oneStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(bossId, teamUid, RedPackWinInviteTypeEnum.oneStageReward.name());
+		RedPackWinInvite oneStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(uid, teamUid, RedPackWinInviteTypeEnum.oneStageReward.name());
 		if (oneStage == null)
 			return;
 		
 		// 绗簩闃舵(楠岃瘉)
-		RedPackWinInvite twoStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(bossId, teamUid, RedPackWinInviteTypeEnum.twoStageReward.name());
+		RedPackWinInvite twoStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(uid, teamUid, RedPackWinInviteTypeEnum.twoStageReward.name());
 		if (twoStage == null) {
-			twoStageRewardToBoss(bossId, teamUid, oneStage.getCreateTime(), source, orderNo);
+			twoStageRewardToBoss(uid, teamUid, oneStage.getCreateTime(), source, orderNo);
 			return;
 		} 
 		
 		// 绗笁闃舵
-		threeStageRewardToBoss(bossId, teamUid, twoStage.getCreateTime(), source, orderNo);
+		threeStageRewardToBoss(uid, teamUid, twoStage.getCreateTime(), source, orderNo);
 	}
 	
+	
 	/**
 	 *    涓婄骇濂栧姳--绗簩闃舵
 	 * @param uid

--
Gitblit v1.8.0