From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java | 306 ++++++++++++++++++++++++++++---------------------- 1 files changed, 169 insertions(+), 137 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java index 47c3d3e..a791b5c 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/UserVIPMessageListener.java @@ -1,137 +1,169 @@ -package com.yeshi.fanli.util.rocketmq.consumer.user; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import com.aliyun.openservices.ons.api.Action; -import com.aliyun.openservices.ons.api.ConsumeContext; -import com.aliyun.openservices.ons.api.Message; -import com.aliyun.openservices.ons.api.MessageListener; -import com.google.gson.Gson; -import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; -import com.yeshi.fanli.dto.mq.order.body.OrderConfirmMQMsg; -import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg; -import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; -import com.yeshi.fanli.dto.mq.user.body.ThreeSaleSeparateMQMsg; -import com.yeshi.fanli.dto.mq.user.body.UserLevelChangedMQMsg; -import com.yeshi.fanli.entity.bus.user.UserActiveLog; -import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.log.LogHelper; -import com.yeshi.fanli.service.inter.user.UserActiveLogService; -import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; -import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService; -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; - -/** - * 鐢ㄦ埛瓒呯骇浼氬憳 - * - * @author Administrator - * - */ -@Component -public class UserVIPMessageListener implements MessageListener { - - @Resource - private UserVIPPreInfoService userVIPPreInfoService; - - @Resource - private TeamUserLevelStatisticService teamUserLevelStatisticService; - - @Resource - private ThreeSaleSerivce threeSaleSerivce; - - @Resource - private UserInviteValidNumService userInviteValidNumService; - - @Resource - private UserActiveLogService userActiveLogService; - - - @Override - public Action consume(Message message, ConsumeContext context) { - - LogHelper.mqInfo("consumer-UserVIPMessageListener", message.getMsgID(), message.getTopic(), message.getTag(), - new String(message.getBody())); - String tag = message.getTag(); - if (tag == null) - tag = ""; - - if (java.lang.System.currentTimeMillis() <= Constant.NEW_ORDER_FANLI_RULE_TIME) { - return Action.CommitMessage; - } - - // 閭�璇风浉鍏� - if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { - if (tag.equalsIgnoreCase(UserTopicTagEnum.userLevelChanged.name())) {// 鐢ㄦ埛绛夌骇鍙戠敓鍙樺寲 - UserLevelChangedMQMsg msg = new Gson().fromJson(new String(message.getBody()), - UserLevelChangedMQMsg.class); - - for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾� - if (msg.getUid().longValue() == fuid) - return Action.CommitMessage; - } - - // 鏇存柊涓�2绾х殑閭�璇风粺璁� - teamUserLevelStatisticService.updateUserLevel(msg.getUid()); - UserInfo boss = threeSaleSerivce.getBoss(msg.getUid()); - if (boss != null) { - teamUserLevelStatisticService.initData(boss.getId()); - boss = threeSaleSerivce.getBoss(boss.getId()); - if (boss != null) { - teamUserLevelStatisticService.initData(boss.getId()); - } - - } - return Action.CommitMessage; - } - - } else if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { - // 璁㈠崟鍒拌处鐩稿叧 - if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiActual.name())) { - OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(message.getBody()), - OrderMoneyRecievedMQMsg.class); - if (dto != null) { - for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾� - if (dto.getUid().longValue() == fuid) - return Action.CommitMessage; - } - // 鍒ゆ柇鐗堟湰 - UserActiveLog log = userActiveLogService.getUserLatestActiveInfo(dto.getUid()); - - if (log == null || !VersionUtil.greaterThan_2_1( - "appstore".equalsIgnoreCase(log.getChannel()) ? "ios" : "android", log.getVersionCode())) { - return Action.CommitMessage; - } - - if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_ZIGOU) {// 鑷喘鍒拌处 - // 浼氬憳鍗囩骇-鑷喘璁㈠崟鏁伴噺楠岃瘉 - userVIPPreInfoService.upgradeVipByMyOrder(dto.getUid()); - } else if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_SHARE) {// 鍒嗕韩鍒拌处 - // 浼氬憳鍗囩骇-鍒嗕韩璁㈠崟鏁伴噺楠岃瘉 - userVIPPreInfoService.upgradeVipByMyOrder(dto.getUid()); - } - } - } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) { - OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class); - if (dto != null) { - for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾� - if (dto.getSourceUid().longValue() == fuid) - return Action.CommitMessage; - } - - // 浼氬憳绛夌骇鍗囩骇-绮変笣鏁伴噺楠岃瘉 - userVIPPreInfoService.upgradeVipByTeamNum(dto.getSourceUid()); - userInviteValidNumService.addValidTeamNum(dto.getSourceUid(), dto.getSettleMent(), - dto.getPlaceOrderTime()); - } - } - } - - return Action.CommitMessage; - } -} +package com.yeshi.fanli.util.rocketmq.consumer.user; + +import javax.annotation.Resource; + +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemFunction; +import com.yeshi.fanli.exception.user.vip.UserVIPUpgradeException; +import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.util.SystemInfoUtil; +import org.springframework.stereotype.Component; + +import com.aliyun.openservices.ons.api.Action; +import com.aliyun.openservices.ons.api.ConsumeContext; +import com.aliyun.openservices.ons.api.Message; +import com.aliyun.openservices.ons.api.MessageListener; +import com.google.gson.Gson; +import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; +import com.yeshi.fanli.dto.mq.order.body.OrderConfirmMQMsg; +import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg; +import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; +import com.yeshi.fanli.dto.mq.user.body.ThreeSaleSeparateMQMsg; +import com.yeshi.fanli.dto.mq.user.body.UserLevelChangedMQMsg; +import com.yeshi.fanli.entity.bus.user.UserActiveLog; +import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.user.UserActiveLogService; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService; +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; + +/** + * 鐢ㄦ埛瓒呯骇浼氬憳 + * + * @author Administrator + */ +@Component +public class UserVIPMessageListener implements MessageListener { + + @Resource + private UserVIPPreInfoService userVIPPreInfoService; + + @Resource + private TeamUserLevelStatisticService teamUserLevelStatisticService; + + @Resource + private ThreeSaleSerivce threeSaleSerivce; + + @Resource + private UserInviteValidNumService userInviteValidNumService; + + @Resource + private UserActiveLogService userActiveLogService; + + @Resource + private UserInfoService userInfoService; + + + @Override + public Action consume(Message message, ConsumeContext context) { + + LogHelper.mqInfo("consumer-UserVIPMessageListener", message.getMsgID(), message.getTopic(), message.getTag(), + new String(message.getBody())); + String tag = message.getTag(); + if (tag == null) + tag = ""; + + if (java.lang.System.currentTimeMillis() <= Constant.NEW_ORDER_FANLI_RULE_TIME) { + return Action.CommitMessage; + } + + // 閭�璇风浉鍏� + if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { + if (tag.equalsIgnoreCase(UserTopicTagEnum.userLevelChanged.name())) {// 鐢ㄦ埛绛夌骇鍙戠敓鍙樺寲 + UserLevelChangedMQMsg msg = new Gson().fromJson(new String(message.getBody()), + UserLevelChangedMQMsg.class); + + //鍒ゆ柇绯荤粺鏄惁鏈変笁绾у垎閿�鍔熻兘 + Long sourceUid = msg.getUid(); + SystemEnum system = userInfoService.getUserSystem(sourceUid); + if (!SystemInfoUtil.hasFunctions(system, SystemFunction.threeSale, SystemFunction.vip)) + return Action.CommitMessage; + + for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾� + if (msg.getUid().longValue() == fuid) + return Action.CommitMessage; + } + + + // 鏇存柊涓�2绾х殑閭�璇风粺璁� + teamUserLevelStatisticService.updateUserLevel(msg.getUid()); + UserInfo boss = threeSaleSerivce.getBoss(msg.getUid()); + if (boss != null) { + teamUserLevelStatisticService.initData(boss.getId()); + boss = threeSaleSerivce.getBoss(boss.getId()); + if (boss != null) { + teamUserLevelStatisticService.initData(boss.getId()); + } + } + return Action.CommitMessage; + } + + } else if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { + // 璁㈠崟鍒拌处鐩稿叧 + if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiActual.name())) { + OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(message.getBody()), + OrderMoneyRecievedMQMsg.class); + + if (dto != null) { + SystemEnum system = userInfoService.getUserSystem(dto.getUid()); + if (!SystemInfoUtil.hasFunctions(system, SystemFunction.vip)) + return Action.CommitMessage; + for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾� + if (dto.getUid().longValue() == fuid) + return Action.CommitMessage; + } + // 鍒ゆ柇鐗堟湰 + UserActiveLog log = userActiveLogService.getUserLatestActiveInfo(dto.getUid()); + if (log == null || !VersionUtil.greaterThan_2_1( + "appstore".equalsIgnoreCase(log.getChannel()) ? "ios" : "android", log.getVersionCode())) { + return Action.CommitMessage; + } + + if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_ZIGOU) {// 鑷喘鍒拌处 + // 浼氬憳鍗囩骇-鑷喘璁㈠崟鏁伴噺楠岃瘉 + try { + userVIPPreInfoService.upgradeVipByMyOrder(dto.getUid()); + } catch (UserVIPUpgradeException e) { + e.printStackTrace(); + } + } else if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_SHARE) {// 鍒嗕韩鍒拌处 + // 浼氬憳鍗囩骇-鍒嗕韩璁㈠崟鏁伴噺楠岃瘉 + try { + userVIPPreInfoService.upgradeVipByMyOrder(dto.getUid()); + } catch (UserVIPUpgradeException e) { + e.printStackTrace(); + } + } + } + + } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) { + OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class); + if (dto != null) { + SystemEnum system = userInfoService.getUserSystem(dto.getSourceUid()); + if (!SystemInfoUtil.hasFunctions(system, SystemFunction.vip)) + return Action.CommitMessage; + for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾� + if (dto.getSourceUid().longValue() == fuid) + return Action.CommitMessage; + } + + // 浼氬憳绛夌骇鍗囩骇-绮変笣鏁伴噺楠岃瘉 + try { + userVIPPreInfoService.upgradeVipByTeamNum(dto.getSourceUid()); + } catch (UserVIPUpgradeException e) { + e.printStackTrace(); + } + userInviteValidNumService.addValidTeamNum(dto.getSourceUid(), dto.getSettleMent(), + dto.getPlaceOrderTime()); + } + } + } + + return Action.CommitMessage; + } +} -- Gitblit v1.8.0