From a4637ae9d71aa4a624b217ed3a1483f0e3a3a7ed Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 06 五月 2020 14:04:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java |  149 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 90 insertions(+), 59 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..41975b6 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,10 +26,12 @@
 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.TimeUtil;
 import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
@@ -59,6 +62,9 @@
 	@Resource
 	private UserInfoExtraService userInfoExtraService;
 
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+
 	@Override
 	public Action consume(Message message, ConsumeContext context) {
 
@@ -74,74 +80,99 @@
 			if (tag.equalsIgnoreCase(UserTopicTagEnum.userActve.name())) {
 				UserActiveMQMsg msg = new Gson().fromJson(new String(message.getBody()), UserActiveMQMsg.class);
 				Long uid = msg.getUid();
-
 				// 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭�
+				
 				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();
-								}
-							}
-						}
-					}
 
-				} 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();
-										}
-									}
-								}
+				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);
+							vip.setSourceType(UserVIPPreInfo.SOURCE_TYPE_ORDER);
+							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);
+									vip.setSourceType(UserVIPPreInfo.SOURCE_TYPE_ORDER);
+									try {
+										userVIPPreInfoService.addUserVIPPreInfo(vip);
+									} catch (UserVIPPreInfoException e) {
+										e.printStackTrace();
+									}
+								}
+							}
+						} else {//涔嬪墠鑰佺増鏈鐞嗕负鏅�氫細鍛樼殑鐢ㄦ埛鍗囩骇鏂扮増鏈�
+							if (vipInfo.getProcess() == UserVIPPreInfo.PROCESS_1
+									&& vipInfo.getCreateTime().getTime() < TimeUtil
+											.convertToTimeTemp("2020-04-30 14:10:00", "yyyy-MM-dd HH:mm:ss")) {
+								// 璁$畻绛夌骇
+								userVIPPreInfoService.upgradeVipByMyOrder(uid);
+								userVIPPreInfoService.upgradeVipByTeamNum(uid);
+							}
+						}
+					}
+				}
 			}
 		}
-		return Action.CommitMessage;
 	}
 }

--
Gitblit v1.8.0