From 4e105a2500cf82c6ebad0015497077e873317a6f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 28 四月 2020 17:52:40 +0800
Subject: [PATCH] 新版本才能升级高级会员

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java |  126 ++++++++++++++++++++++++-----------------
 1 files changed, 74 insertions(+), 52 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 a91f336..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,6 +15,7 @@
 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;
@@ -25,6 +26,7 @@
 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;
@@ -59,6 +61,9 @@
 	@Resource
 	private UserInfoExtraService userInfoExtraService;
 
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+
 	@Override
 	public Action consume(Message message, ConsumeContext context) {
 
@@ -78,70 +83,87 @@
 				// 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭�
 				userInfoModifyRecordService.syncBeforeInfo(uid);
 
-				// 鍚屾鑰佺敤鎴风瓑绾�
-				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();
-								}
+
+				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());
-										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());
+									vip.setProcess(UserVIPPreInfo.PROCESS_1);
+									vip.setUid(uid);
+									try {
+										userVIPPreInfoService.addUserVIPPreInfo(vip);
+									} catch (UserVIPPreInfoException e) {
+										e.printStackTrace();
 									}
 								}
 							}
 						}
 					}
 				}
-
 			}
 		}
-		return Action.CommitMessage;
 	}
 }

--
Gitblit v1.8.0