From 061e912ff3cec51f8f8dcb4e6336bcd2fc03c164 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 28 四月 2020 17:53:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java | 98 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 76 insertions(+), 22 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..d989066 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 @@ -15,17 +15,22 @@ 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.VersionUtil; import com.yeshi.fanli.util.rocketmq.MQTopicName; @@ -53,6 +58,12 @@ @Resource private UserVIPPreInfoService userVIPPreInfoService; + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private ThreeSaleSerivce threeSaleSerivce; + @Override public Action consume(Message message, ConsumeContext context) { @@ -72,26 +83,71 @@ // 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭� 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) {// 娌℃湁鐢熸垚楂樼骇鍙婁互涓婁細鍛� + + // 浣庣増鏈叏閮ㄥ崌绾ф櫘閫氫細鍛� + + 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()); @@ -107,9 +163,7 @@ } } } - } } - return Action.CommitMessage; } } -- Gitblit v1.8.0