From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java |  381 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 204 insertions(+), 177 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 1f052e7..ee8c91e 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,177 +1,204 @@
-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;
-
-import com.aliyun.openservices.ons.api.Action;
-import com.aliyun.openservices.ons.api.ConsumeContext;
-import com.aliyun.openservices.ons.api.Message;
-import com.aliyun.openservices.ons.api.MessageListener;
-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.TimeUtil;
-import com.yeshi.fanli.util.VersionUtil;
-import com.yeshi.fanli.util.rocketmq.MQTopicName;
-
-/**
- * 鍚屾娑堟伅
- * 
- * @author Administrator
- *
- */
-@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;
-
-	@Resource
-	private UserInfoExtraService userInfoExtraService;
-
-	@Resource
-	private ThreeSaleSerivce threeSaleSerivce;
-
-	@Override
-	public Action consume(Message message, ConsumeContext context) {
-
-		LogHelper.mqInfo("consumer-SyncBeforeInfoMessageListener", message.getMsgID(), message.getTopic(),
-				message.getTag(), new String(message.getBody()));
-		String tag = message.getTag();
-		if (tag == null)
-			tag = "";
-
-		// 閭�璇风浉鍏�
-		if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) {
-			// 鐢ㄦ埛娲昏穬
-			if (tag.equalsIgnoreCase(UserTopicTagEnum.userActve.name())) {
-				UserActiveMQMsg msg = new Gson().fromJson(new String(message.getBody()), UserActiveMQMsg.class);
-				Long uid = msg.getUid();
-
-				// 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭�
-				userInfoModifyRecordService.syncBeforeInfo(uid);
-
-				// 浣庣増鏈叏閮ㄥ崌绾ф櫘閫氫細鍛�
-
-				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 (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);
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-}
+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 com.yeshi.fanli.exception.user.vip.UserVIPUpgradeException;
+import org.springframework.stereotype.Component;
+
+import com.aliyun.openservices.ons.api.Action;
+import com.aliyun.openservices.ons.api.ConsumeContext;
+import com.aliyun.openservices.ons.api.Message;
+import com.aliyun.openservices.ons.api.MessageListener;
+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 org.yeshi.utils.TimeUtil;
+import com.yeshi.fanli.util.VersionUtil;
+import com.yeshi.fanli.util.rocketmq.MQTopicName;
+
+/**
+ * 鍚屾娑堟伅
+ * 
+ * @author Administrator
+ *
+ */
+@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;
+
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+
+	@Override
+	public Action consume(Message message, ConsumeContext context) {
+
+		LogHelper.mqInfo("consumer-SyncBeforeInfoMessageListener", message.getMsgID(), message.getTopic(),
+				message.getTag(), new String(message.getBody()));
+		String tag = message.getTag();
+		if (tag == null)
+			tag = "";
+
+		// 閭�璇风浉鍏�
+		if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) {
+			// 鐢ㄦ埛娲昏穬
+			if (tag.equalsIgnoreCase(UserTopicTagEnum.userActve.name())) {
+				UserActiveMQMsg msg = new Gson().fromJson(new String(message.getBody()), UserActiveMQMsg.class);
+				Long uid = msg.getUid();
+				// 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭�
+
+				userInfoModifyRecordService.syncBeforeInfo(uid);
+				// 浣庣増鏈叏閮ㄥ崌绾ф櫘閫氫細鍛�
+
+				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())) {
+
+							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 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) {
+							// 璁$畻绛夌骇
+							try {
+								userVIPPreInfoService.upgradeVipByMyOrder(uid);
+							} catch (UserVIPUpgradeException e) {
+								e.printStackTrace();
+							}
+							try {
+								userVIPPreInfoService.upgradeVipByTeamNum(uid);
+							} catch (UserVIPUpgradeException e) {
+								e.printStackTrace();
+							}
+							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")) {
+								// 璁$畻绛夌骇
+								try {
+									userVIPPreInfoService.upgradeVipByMyOrder(uid);
+								} catch (UserVIPUpgradeException e) {
+									e.printStackTrace();
+								}
+								try {
+									userVIPPreInfoService.upgradeVipByTeamNum(uid);
+								} catch (UserVIPUpgradeException e) {
+									e.printStackTrace();
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+}

--
Gitblit v1.8.0