From e8f00cc0506705a2bed7dd4e060541230a7d2ab2 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 28 四月 2020 14:50:55 +0800
Subject: [PATCH] 线上版本用户升级普通会员

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java |   58 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 45 insertions(+), 13 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..a91f336 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
@@ -16,16 +16,19 @@
 import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
 import com.yeshi.fanli.dto.mq.user.body.UserActiveMQMsg;
 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.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 +56,9 @@
 	@Resource
 	private UserVIPPreInfoService userVIPPreInfoService;
 
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
 	@Override
 	public Action consume(Message message, ConsumeContext context) {
 
@@ -72,12 +78,35 @@
 				// 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭�
 				userInfoModifyRecordService.syncBeforeInfo(uid);
 
-				//鍚屾鑰佺敤鎴风瓑绾�
+				// 鍚屾鑰佺敤鎴风瓑绾�
 				UserActiveLog log = userActiveLogService.getUserLatestActiveInfo(uid);
-				if (log != null && VersionUtil.greaterThan_2_1(
+
+				// 浣庣増鏈叏閮ㄥ崌绾ф櫘閫氫細鍛�
+				if (log != null && !VersionUtil.greaterThan_2_1(
 						"appstore".equalsIgnoreCase(log.getChannel()) ? "ios" : "android", log.getVersionCode())) {
-					//绾夸笂鑰佺敤鎴峰崌绾у埌2.1锛岃嚜鍔ㄨ绠楃瓑绾�
-					
+					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);
@@ -92,15 +121,18 @@
 								userVIPPreInfoService.upgradeVipByTeamNum(uid);
 								vipInfo = userVIPPreInfoService.getLatestProcessInfo(uid);
 								if (vipInfo == null) {// 娌℃湁鐢熸垚楂樼骇鍙婁互涓婁細鍛�
-									// 鑰佺敤鎴风敓鎴愭櫘閫氫細鍛�
-									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();
+									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();
+										}
 									}
 								}
 							}

--
Gitblit v1.8.0