From f99d8098b0aee17c09be5dfee8b4f72a6f4071b1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期日, 26 四月 2020 11:57:39 +0800
Subject: [PATCH] 同步老用户等级数据

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 6 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 7884b70..fc7e86e 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
@@ -1,5 +1,9 @@
 package com.yeshi.fanli.util.rocketmq.consumer.user;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Component;
@@ -11,9 +15,18 @@
 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.UserActiveLog;
+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.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.VersionUtil;
 import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
 /**
@@ -25,19 +38,26 @@
 @Component
 public class SyncBeforeInfoMessageListener implements MessageListener {
 
-
 	@Resource
 	private UserInfoModifyRecordService userInfoModifyRecordService;
-	
+
 	@Resource
 	private TeamUserLevelStatisticService teamUserLevelStatisticService;
-	
-	
+
+	@Resource
+	private UserActiveLogService userActiveLogService;
+
+	@Resource
+	private UserInfoRegisterService userInfoRegisterService;
+
+	@Resource
+	private UserVIPPreInfoService userVIPPreInfoService;
+
 	@Override
 	public Action consume(Message message, ConsumeContext context) {
 
-		LogHelper.mqInfo("consumer-SyncBeforeInfoMessageListener", message.getMsgID(), message.getTopic(), message.getTag(),
-				new String(message.getBody()));
+		LogHelper.mqInfo("consumer-SyncBeforeInfoMessageListener", message.getMsgID(), message.getTopic(),
+				message.getTag(), new String(message.getBody()));
 		String tag = message.getTag();
 		if (tag == null)
 			tag = "";
@@ -51,6 +71,43 @@
 
 				// 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭�
 				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) {// 娌℃湁鐢熸垚楂樼骇鍙婁互涓婁細鍛�
+									// 鑰佺敤鎴风敓鎴愭櫘閫氫細鍛�
+									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