From b3da9f82b7740d39742fef1a81a56c22fe1c8b9c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 08 六月 2020 17:27:02 +0800 Subject: [PATCH] 券后价调整 --- fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/SyncBeforeInfoMessageListener.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 96 insertions(+), 24 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..399a1ba 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,23 @@ 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; @@ -53,6 +59,12 @@ @Resource private UserVIPPreInfoService userVIPPreInfoService; + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private ThreeSaleSerivce threeSaleSerivce; + @Override public Action consume(Message message, ConsumeContext context) { @@ -68,35 +80,54 @@ if (tag.equalsIgnoreCase(UserTopicTagEnum.userActve.name())) { UserActiveMQMsg msg = new Gson().fromJson(new String(message.getBody()), UserActiveMQMsg.class); Long uid = msg.getUid(); - // 鑰佺敤鎴峰悓姝ョ粦瀹氫俊鎭� - 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) {// 娌℃湁鐢熸垚楂樼骇鍙婁互涓婁細鍛� + 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) { @@ -107,9 +138,50 @@ } } } - + } 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); + 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")) { + // 璁$畻绛夌骇 + userVIPPreInfoService.upgradeVipByMyOrder(uid); + userVIPPreInfoService.upgradeVipByTeamNum(uid); + } + } + } + } } } - return Action.CommitMessage; } } -- Gitblit v1.8.0