From 061e912ff3cec51f8f8dcb4e6336bcd2fc03c164 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 28 四月 2020 17:53:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java |   98 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 76 insertions(+), 22 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java
index fc7e86e..d989066 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java
@@ -15,17 +15,22 @@
 import com.google.gson.Gson;
 import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
 import com.yeshi.fanli.dto.mq.user.body.UserActiveMQMsg;
+import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.UserActiveLog;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.bus.user.UserInfoRegister;
 import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
 import com.yeshi.fanli.exception.user.vip.UserVIPPreInfoException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
 import com.yeshi.fanli.service.inter.user.UserInfoRegisterService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
@@ -53,6 +58,12 @@
 	@Resource
 	private UserVIPPreInfoService userVIPPreInfoService;
 
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+
 	@Override
 	public Action consume(Message message, ConsumeContext context) {
 
@@ -72,26 +83,71 @@
 				// 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭�
 				userInfoModifyRecordService.syncBeforeInfo(uid);
 
-				//鍚屾鑰佺敤鎴风瓑绾�
-				UserActiveLog log = userActiveLogService.getUserLatestActiveInfo(uid);
-				if (log != null && VersionUtil.greaterThan_2_1(
-						"appstore".equalsIgnoreCase(log.getChannel()) ? "ios" : "android", log.getVersionCode())) {
-					//绾夸笂鑰佺敤鎴峰崌绾у埌2.1锛岃嚜鍔ㄨ绠楃瓑绾�
-					
-					List<Long> uids = new ArrayList<>();
-					uids.add(uid);
-					List<UserInfoRegister> list = userInfoRegisterService.listByMultipleUids(uids);
-					if (list != null && list.size() > 0)// 鏈夋敞鍐屼俊鎭�
-					{
-						if (list.get(0).getCreateTime().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) {// 鑰佺敤鎴�
-							// 鍚屾鐢ㄦ埛绛夌骇
-							UserVIPPreInfo vipInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
-							if (vipInfo == null) {
-								// 璁$畻绛夌骇
-								userVIPPreInfoService.upgradeVipByMyOrder(uid);
-								userVIPPreInfoService.upgradeVipByTeamNum(uid);
-								vipInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
-								if (vipInfo == null) {// 娌℃湁鐢熸垚楂樼骇鍙婁互涓婁細鍛�
+
+				// 浣庣増鏈叏閮ㄥ崌绾ф櫘閫氫細鍛�
+
+				List<ThreeSale> threeSaleList = threeSaleSerivce.getMyBossDeepList(uid, 2);
+				List<Long> uidList = new ArrayList<>();
+				uidList.add(uid);
+
+				if (threeSaleList != null) {
+					for (ThreeSale ts : threeSaleList) {
+						uidList.add(ts.getBoss().getId());
+					}
+				}
+				upgradeOldUser(uidList);
+			}
+		}
+		return Action.CommitMessage;
+	}
+
+	private void upgradeOldUser(List<Long> uidList) {
+		for (Long uid : uidList) {
+			// 鍚屾鑰佺敤鎴风瓑绾�
+			UserActiveLog log = userActiveLogService.getUserLatestActiveInfo(uid);
+
+			// 浣庣増鏈叏閮ㄥ崌绾ф櫘閫氫細鍛�
+			if (log != null
+					&& !VersionUtil.greaterThan_2_1("appstore".equalsIgnoreCase(log.getChannel()) ? "ios" : "android",
+							log.getVersionCode())) {
+				UserVIPPreInfo vipInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
+				if (vipInfo == null) {
+					vipInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
+					if (vipInfo == null) {// 娌℃湁鐢熸垚楂樼骇鍙婁互涓婁細鍛�
+						UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
+						if (extra != null && !StringUtil.isNullOrEmpty(extra.getInviteCode())) {
+							// 鑰佺敤鎴风敓鎴愭櫘閫氫細鍛�
+							UserVIPPreInfo vip = new UserVIPPreInfo();
+							vip.setCreateTime(new Date());
+							vip.setProcess(UserVIPPreInfo.PROCESS_1);
+							vip.setUid(uid);
+							try {
+								userVIPPreInfoService.addUserVIPPreInfo(vip);
+							} catch (UserVIPPreInfoException e) {
+								e.printStackTrace();
+							}
+						}
+					}
+				}
+			} else if (log != null && VersionUtil.greaterThan_2_1(
+					"appstore".equalsIgnoreCase(log.getChannel()) ? "ios" : "android", log.getVersionCode())) {// 2.1鍚庡崌绾у叾浠栫瓑绾�
+				// 绾夸笂鑰佺敤鎴峰崌绾у埌2.1锛岃嚜鍔ㄨ绠楃瓑绾�
+				List<Long> uids = new ArrayList<>();
+				uids.add(uid);
+				List<UserInfoRegister> list = userInfoRegisterService.listByMultipleUids(uids);
+				if (list != null && list.size() > 0)// 鏈夋敞鍐屼俊鎭�
+				{
+					if (list.get(0).getCreateTime().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) {// 鑰佺敤鎴�
+						// 鍚屾鐢ㄦ埛绛夌骇
+						UserVIPPreInfo vipInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
+						if (vipInfo == null) {
+							// 璁$畻绛夌骇
+							userVIPPreInfoService.upgradeVipByMyOrder(uid);
+							userVIPPreInfoService.upgradeVipByTeamNum(uid);
+							vipInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
+							if (vipInfo == null) {// 娌℃湁鐢熸垚楂樼骇鍙婁互涓婁細鍛�
+								UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
+								if (extra != null && !StringUtil.isNullOrEmpty(extra.getInviteCode())) {
 									// 鑰佺敤鎴风敓鎴愭櫘閫氫細鍛�
 									UserVIPPreInfo vip = new UserVIPPreInfo();
 									vip.setCreateTime(new Date());
@@ -107,9 +163,7 @@
 						}
 					}
 				}
-
 			}
 		}
-		return Action.CommitMessage;
 	}
 }

--
Gitblit v1.8.0