From 319a0ca57e5a35ce29efb97c4a1a52648a5ce9c6 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 28 六月 2019 12:19:52 +0800
Subject: [PATCH] 邀请队友奖励推广红包逻辑修改: 以邀请者当前活跃版本进行判断是否赠送

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java |  105 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 78 insertions(+), 27 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
index 7685061..692f57f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
@@ -8,6 +8,7 @@
 
 import javax.annotation.Resource;
 
+import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -15,6 +16,7 @@
 import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
+import com.yeshi.fanli.entity.bus.user.UserActiveLog;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.exception.ThreeSaleException;
 import com.yeshi.fanli.log.LogHelper;
@@ -23,6 +25,7 @@
 import com.yeshi.fanli.service.inter.msg.MsgInviteDetailService;
 import com.yeshi.fanli.service.inter.msg.UserInviteMsgNotificationService;
 import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
+import com.yeshi.fanli.service.inter.user.UserActiveLogService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
@@ -55,6 +58,13 @@
 	
 	@Resource
 	private UserTaoLiJinOriginService userTaoLiJinOriginService;
+	
+	@Resource
+	private UserActiveLogService userActiveLogService;
+	
+	@Resource(name = "taskExecutor")
+	private TaskExecutor executor;
+	
 	
 
 	public UserInfo getBoss(final long uid) {
@@ -527,21 +537,43 @@
 		// 閭�璇锋秷鎭�
 		userInviteMsgNotificationService.inviteSuccess(inviter.getId(), threeSale);
 		
-		if (VersionUtil.greaterThan_1_5_60(platform, version)) {
-			// 濂栧姳娣樼ぜ閲戠孩鍖�
-			try {
-				String inviteName= invitee.getNickName();
-				if (StringUtil.isNullOrEmpty(inviteName)) {
-					UserInfo userInfo = userInfoService.selectByPKey(invitee.getId());
-					if (userInfo != null) {
-						inviteName= userInfo.getNickName();
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				try {
+					UserActiveLog activeLog  = userActiveLogService.getUserLatestActiveInfo(inviter.getId());
+					if (activeLog != null  && !StringUtil.isNullOrEmpty(activeLog.getVersionCode()) ) {
+						String versionCode = activeLog.getVersionCode();
+						String channel = activeLog.getChannel();
+						
+						boolean result = false;
+						// 娓犻亾鏄痑ppstore 鍒ゆ柇涓篒OS
+						if (!StringUtil.isNullOrEmpty(channel) && "appstore".equalsIgnoreCase(channel)) {
+							result = VersionUtil.greaterThan_1_5_60("ios", versionCode);
+						} else {
+							result = VersionUtil.greaterThan_1_5_60("android", versionCode);
+						}
+						
+						if (result) {
+							// 琚個璇峰悕绉�
+							String inviteName= invitee.getNickName();
+							if (StringUtil.isNullOrEmpty(inviteName)) {
+								UserInfo userInfo = userInfoService.selectByPKey(invitee.getId());
+								if (userInfo != null) {
+									inviteName= userInfo.getNickName();
+								}
+							}
+							// 濂栧姳閭�璇风孩鍖咃紙娣樼ぜ閲戯級
+							userTaoLiJinOriginService.addInviteWinMoney(inviter.getId(), inviteName);
+						}
 					}
+				} catch (Exception e) {
+					LogHelper.errorDetailInfo(e);
 				}
-				userTaoLiJinOriginService.addInviteWinMoney(inviter.getId(), inviteName);
-			} catch (Exception e) {
-				LogHelper.errorDetailInfo(e);
 			}
-		}
+		});
+		
+		
 	}
 
 	@Override
@@ -590,29 +622,48 @@
 		UserInfo boss = userInfoService.selectByPKey(threeSale.getBoss().getId());
 		threeSale.setBoss(boss);
 		
-		
 		// 娣诲姞鍒伴槦鍒�
 		ThreeSaleCMQManager.getInstance().addThreeSaleMsg(threeSale);
+	
 		// 閭�璇锋秷鎭�
 		userInviteMsgNotificationService.inviteSuccess(threeSale.getBoss().getId(), threeSale);
 		
-		if (VersionUtil.greaterThan_1_5_60(platform, version)) {
-			// 濂栧姳娣樼ぜ閲戠孩鍖�
-			try {
-				String inviteName= invitee.getNickName();
-				if (StringUtil.isNullOrEmpty(inviteName)) {
-					UserInfo userInfo = userInfoService.selectByPKey(invitee.getId());
-					if (userInfo != null) {
-						inviteName= userInfo.getNickName();
+		
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				try {
+					UserActiveLog activeLog  = userActiveLogService.getUserLatestActiveInfo(inviterId);
+					if (activeLog != null  && !StringUtil.isNullOrEmpty(activeLog.getVersionCode()) ) {
+						boolean result = false;
+						String versionCode = activeLog.getVersionCode();
+						String channel = activeLog.getChannel();
+						
+						// 娓犻亾鏄痑ppstore 鍒ゆ柇涓篒OS
+						if (!StringUtil.isNullOrEmpty(channel) && "appstore".equalsIgnoreCase(channel)) {
+							result = VersionUtil.greaterThan_1_5_60("ios", versionCode);
+						} else {
+							result = VersionUtil.greaterThan_1_5_60("android", versionCode);
+						}
+						
+						if (result) {
+							// 琚個璇峰悕绉�
+							String inviteName= invitee.getNickName();
+							if (StringUtil.isNullOrEmpty(inviteName)) {
+								UserInfo userInfo = userInfoService.selectByPKey(invitee.getId());
+								if (userInfo != null) {
+									inviteName= userInfo.getNickName();
+								}
+							}
+							// 濂栧姳閭�璇风孩鍖咃紙娣樼ぜ閲戯級
+							userTaoLiJinOriginService.addInviteWinMoney(inviterId, inviteName);
+						}
 					}
+				} catch (Exception e) {
+					LogHelper.errorDetailInfo(e);
 				}
-				userTaoLiJinOriginService.addInviteWinMoney(inviterId, inviteName);
-			} catch (Exception e) {
-				LogHelper.errorDetailInfo(e);
 			}
-		}
-		
-		
+		});
 	}
 	
 	/**

--
Gitblit v1.8.0