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/order/OrderDividentsMessageListener.java | 285 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 150 insertions(+), 135 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java index 2d60100..e1c6cb8 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java @@ -1,135 +1,150 @@ -package com.yeshi.fanli.util.rocketmq.consumer.order; - -import java.util.ArrayList; -import java.util.List; - -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.OrderMQMsg; -import com.yeshi.fanli.dto.mq.order.body.OrderWeiQuanMQMsg; -import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; -import com.yeshi.fanli.dto.mq.user.body.UserForbiddenMQMsg; -import com.yeshi.fanli.dto.order.UserTeamLevel; -import com.yeshi.fanli.entity.bus.user.ThreeSale; -import com.yeshi.fanli.entity.bus.user.vip.TeamUserLevelStatistic; -import com.yeshi.fanli.entity.order.CommonOrder; -import com.yeshi.fanli.exception.ParamsException; -import com.yeshi.fanli.exception.money.TeamDividentsDebtException; -import com.yeshi.fanli.exception.order.dividents.TeamDividentsSourceOrderException; -import com.yeshi.fanli.log.LogHelper; -import com.yeshi.fanli.service.inter.order.CommonOrderService; -import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderService; -import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; -import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService; -import com.yeshi.fanli.service.manger.order.TeamDividentsManager; -import com.yeshi.fanli.service.manger.order.TeamDividentsSourceManager; -import com.yeshi.fanli.util.order.CommonOrderUtil; -import com.yeshi.fanli.util.rocketmq.MQTopicName; - -/** - * 璁㈠崟鍒嗙孩娑堟伅 - * @author Administrator - * - */ -@Component -public class OrderDividentsMessageListener implements MessageListener { - - @Resource - private TeamDividentsSourceOrderService teamDividentsSourceOrderService; - - @Resource - private CommonOrderService commonOrderService; - - @Resource - private TeamDividentsManager teamDividentsManager; - - @Resource - private TeamDividentsSourceManager teamDividentsSourceManager; - - @Resource - private ThreeSaleSerivce threeSaleSerivce; - - @Resource - private TeamUserLevelStatisticService teamUserLevelStatisticService; - - public OrderDividentsMessageListener() { - - } - - @Override - public Action consume(Message message, ConsumeContext context) { - LogHelper.mqInfo("consumer:OrderDividentsMessageListener", message.getMsgID(), message.getTopic(), - message.getTag(), new String(message.getBody())); - String tag = message.getTag(); - - if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { - if (tag.equalsIgnoreCase(UserTopicTagEnum.forbiddenUser.name())) { - // 鏌ヨ涓婄骇绾㈠寘 - UserForbiddenMQMsg dto = new Gson().fromJson(new String(message.getBody()), UserForbiddenMQMsg.class); - if (dto != null) { - teamDividentsSourceOrderService.invalidOrderByUid(dto.getUid(), "鐢ㄦ埛琚皝绂�"); - return Action.CommitMessage; - } - } - } else if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { - if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatistic.name())) { - OrderMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); - if (dto.getHandleType() == OrderMQMsg.HANDLE_TYPE_ADD) { - List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(dto.getType(), - dto.getOrderId()); - - int state = CommonOrderUtil.getState(commonOrderList); - if (commonOrderList.size() > 0 && state != CommonOrder.STATE_SX) { - List<UserTeamLevel> bossList = new ArrayList<>(); - List<ThreeSale> threeSalesList = threeSaleSerivce.getMyBossDeepList(dto.getUid(), 100); - if (threeSalesList != null) - for (ThreeSale ts : threeSalesList) { - TeamUserLevelStatistic levelStatistic = teamUserLevelStatisticService - .selectByUid(ts.getBoss().getId()); - if (levelStatistic == null) { - teamUserLevelStatisticService.initData(ts.getBoss().getId()); - levelStatistic = teamUserLevelStatisticService.selectByUid(ts.getBoss().getId()); - } - bossList.add(new UserTeamLevel(ts.getBoss().getId(), levelStatistic.getLevel())); - } - try { - teamDividentsSourceManager.addSource(commonOrderList, bossList); - return Action.CommitMessage; - } catch (TeamDividentsSourceOrderException e) { - if (e.getCode() == TeamDividentsSourceOrderException.CODE_EXIST) { - return Action.CommitMessage; - } - } catch (ParamsException e) { - e.printStackTrace(); - } - } - } else { - teamDividentsSourceManager.updateOrderMoney(dto.getOrderId(), dto.getType()); - } - - } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) {// 璁㈠崟纭鏀惰揣 - // 鎻掑叆鍒嗙孩 - OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class); - teamDividentsSourceManager.orderSettle(dto.getOrderNo(), dto.getSourceType()); - } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.taoBaoOrderWeiQuan.name())) { - OrderWeiQuanMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderWeiQuanMQMsg.class); - try { - teamDividentsManager.weiQuan(dto.getOrderNo(), dto.getSourceType()); - return Action.CommitMessage; - } catch (TeamDividentsDebtException e) { - e.printStackTrace(); - } - } - } - return Action.CommitMessage; - } -} +package com.yeshi.fanli.util.rocketmq.consumer.order; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Resource; + +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemFunction; +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.OrderMQMsg; +import com.yeshi.fanli.dto.mq.order.body.OrderWeiQuanMQMsg; +import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; +import com.yeshi.fanli.dto.mq.user.body.UserForbiddenMQMsg; +import com.yeshi.fanli.dto.order.UserTeamLevel; +import com.yeshi.fanli.entity.bus.user.ThreeSale; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; +import com.yeshi.fanli.entity.order.CommonOrder; +import com.yeshi.fanli.exception.ParamsException; +import com.yeshi.fanli.exception.money.TeamDividentsDebtException; +import com.yeshi.fanli.exception.order.dividents.TeamDividentsSourceOrderException; +import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.order.CommonOrderService; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; +import com.yeshi.fanli.service.manger.order.TeamDividentsManager; +import com.yeshi.fanli.service.manger.order.TeamDividentsSourceManager; +import com.yeshi.fanli.service.manger.user.UserLevelManager; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.order.CommonOrderUtil; +import com.yeshi.fanli.util.rocketmq.MQTopicName; + +/** + * 璁㈠崟鍒嗙孩娑堟伅 + * + * @author Administrator + */ +@Component +public class OrderDividentsMessageListener implements MessageListener { + + @Resource + private CommonOrderService commonOrderService; + + @Resource + private TeamDividentsManager teamDividentsManager; + + @Resource + private TeamDividentsSourceManager teamDividentsSourceManager; + + @Resource + private ThreeSaleSerivce threeSaleSerivce; + + @Resource + private UserLevelManager userLevelManager; + + @Resource + private UserInfoService userInfoService; + + public OrderDividentsMessageListener() { + + } + + @Override + public Action consume(Message message, ConsumeContext context) { + LogHelper.mqInfo("consumer:OrderDividentsMessageListener", message.getMsgID(), message.getTopic(), + message.getTag(), new String(message.getBody())); + String tag = message.getTag(); + + if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { + if (tag.equalsIgnoreCase(UserTopicTagEnum.forbiddenUser.name())) { + // 鏌ヨ涓婄骇绾㈠寘 + UserForbiddenMQMsg dto = new Gson().fromJson(new String(message.getBody()), UserForbiddenMQMsg.class); + if (dto != null) { + teamDividentsSourceManager.invalidBySourceUid(dto.getUid(), "鐢ㄦ埛琚皝绂�"); + return Action.CommitMessage; + } + } + } else if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { + if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatistic.name())) { + + OrderMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); + if (dto == null || dto.getStaticticDate().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) + return Action.CommitMessage; + + //鏄惁鏈変笁绾у垎閿�鏉冮檺 + SystemEnum system = userInfoService.getUserSystem(dto.getUid()); + if (!SystemInfoUtil.hasFunctions(system, SystemFunction.threeSale)) + return Action.CommitMessage; + + if (dto.isMiandan())// 鍏嶅崟鐨勫晢鍝佷笉鍙備笌鍒嗙孩 + return Action.CommitMessage; + + + if (dto.getHandleType() == OrderMQMsg.HANDLE_TYPE_ADD) { + List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(dto.getType(), + dto.getOrderId()); + + int state = CommonOrderUtil.getState(commonOrderList); + if (commonOrderList.size() > 0 && state != CommonOrder.STATE_SX) { + List<UserTeamLevel> bossList = new ArrayList<>(); + List<ThreeSale> threeSalesList = threeSaleSerivce.getMyBossDeepList(dto.getUid(), 100); + if (threeSalesList != null) + for (ThreeSale ts : threeSalesList) { + UserLevelEnum level = userLevelManager.getUserLevel(ts.getBoss().getId()); + bossList.add(new UserTeamLevel(ts.getBoss().getId(), level)); + } + try { + teamDividentsSourceManager.addSource(commonOrderList, bossList); + return Action.CommitMessage; + } catch (TeamDividentsSourceOrderException e) { + if (e.getCode() == TeamDividentsSourceOrderException.CODE_EXIST) { + return Action.CommitMessage; + } + } catch (ParamsException e) { + e.printStackTrace(); + } + } + } else { + teamDividentsSourceManager.updateOrderMoney(dto.getOrderId(), dto.getType()); + } + + } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) {// 璁㈠崟纭鏀惰揣 + OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class); + //鏄惁鏈変笁绾у垎閿�鏉冮檺 + SystemEnum system = userInfoService.getUserSystem(dto.getSourceUid()); + if (!SystemInfoUtil.hasFunctions(system, SystemFunction.threeSale)) + return Action.CommitMessage; + teamDividentsSourceManager.orderSettle(dto.getOrderNo(), dto.getSourceType()); + } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.taoBaoOrderWeiQuan.name())) { + OrderWeiQuanMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderWeiQuanMQMsg.class); + try { + teamDividentsManager.weiQuan(dto.getOrderNo(), dto.getSourceType()); + return Action.CommitMessage; + } catch (TeamDividentsDebtException e) { + e.printStackTrace(); + } + } + } + return Action.CommitMessage; + } +} -- Gitblit v1.8.0