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