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