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