From 4e105a2500cf82c6ebad0015497077e873317a6f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 28 四月 2020 17:52:40 +0800 Subject: [PATCH] 新版本才能升级高级会员 --- fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java | 126 ++++++++++++++++++++++++----------------- 1 files changed, 74 insertions(+), 52 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 a91f336..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,6 +15,7 @@ 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; @@ -25,6 +26,7 @@ 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; @@ -59,6 +61,9 @@ @Resource private UserInfoExtraService userInfoExtraService; + @Resource + private ThreeSaleSerivce threeSaleSerivce; + @Override public Action consume(Message message, ConsumeContext context) { @@ -78,70 +83,87 @@ // 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭� userInfoModifyRecordService.syncBeforeInfo(uid); - // 鍚屾鑰佺敤鎴风瓑绾� - 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(); - } + + 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 (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(); } } } } } } - } } - return Action.CommitMessage; } } -- Gitblit v1.8.0