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/redpack/RedPackMessageListener.java | 172 ++++++++++++++++++++++++-------------------------------- 1 files changed, 74 insertions(+), 98 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/redpack/RedPackMessageListener.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/redpack/RedPackMessageListener.java index 89e7090..871680e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/redpack/RedPackMessageListener.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/redpack/RedPackMessageListener.java @@ -1,98 +1,74 @@ -package com.yeshi.fanli.util.rocketmq.consumer.redpack; - -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.aliyun.openservices.ons.api.Producer; -import com.google.gson.Gson; -import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; -import com.yeshi.fanli.dto.mq.order.body.OrderMQMsg; -import com.yeshi.fanli.log.LogHelper; -import com.yeshi.fanli.service.inter.redpack.RedPackGiveRecordService; -import com.yeshi.fanli.service.inter.redpack.RedPackWinInviteService; -import com.yeshi.fanli.service.inter.user.UserSystemCouponService; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.rocketmq.MQTopicName; - -/** - * 绾㈠寘娑堣垂 - * - * @author Administrator - * - */ -@Component -public class RedPackMessageListener implements MessageListener { - - @Resource - private UserSystemCouponService userSystemCouponService; - - @Resource - private RedPackWinInviteService redPackWinInviteService; - - @Resource - private RedPackGiveRecordService redPackGiveRecordService; - - @Resource(name = "producer") - private Producer producer; - - @Override - public Action consume(Message message, ConsumeContext context) { - LogHelper.mqInfo("consumer-RedPackMessageListener", message.getMsgID(), message.getTopic(), message.getTag(), - new String(message.getBody())); - String tag = message.getTag(); - if (tag == null) - tag = ""; - - if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { - if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatistic.name())) {// 璁㈠崟缁� - OrderMQMsg mqMsg = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); - - try {// 閭�璇峰鍔� - redPackWinInviteService.winRedPackByOrder(mqMsg.getUid(), mqMsg.getOrderId(), mqMsg.getType(), mqMsg.getPlaceTime()); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - - boolean verifyOrder = redPackWinInviteService.verifyOrder(mqMsg.getUid(), mqMsg.getOrderId(), mqMsg.getType(), mqMsg.getPlaceTime()); - if (verifyOrder) { - // 鍙戦��48灏忔椂寤舵椂娑堟伅 - int hour = 48; - if (Constant.IS_TEST) { - hour = 1; - } - mqMsg.setDelayHour(hour); - Message msg = new Message(message.getTopic(), OrderTopicTagEnum.orderStatisticDelay.name(), - new Gson().toJson(mqMsg).getBytes()); - if (mqMsg.getStaticticDate().getTime() + 1000 * 60 * 60L * hour > System.currentTimeMillis())// 鏃堕棿鏄惁宸茬粡杩囦簡 - msg.setStartDeliverTime(mqMsg.getStaticticDate().getTime() + 1000 * 60 * 60L * hour); - else - msg.setStartDeliverTime(System.currentTimeMillis() + 1000 * 60); - producer.send(msg); - } - return Action.CommitMessage; - } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatisticDelay.name())) {// 璁㈠崟缁熻 - OrderMQMsg mqMsg = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); - int hour = 48; - if (Constant.IS_TEST) { - hour = 1; - } - - if (mqMsg.getDelayHour() == hour) { - try { - redPackWinInviteService.winFreeCoupon(mqMsg.getUid(), mqMsg.getOrderId(), mqMsg.getType(), mqMsg.getPlaceTime()); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - return Action.ReconsumeLater; - } - } - return Action.CommitMessage; - } - } - return Action.CommitMessage; - } -} +package com.yeshi.fanli.util.rocketmq.consumer.redpack; + +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.service.manger.msg.RocketMQManager; +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.aliyun.openservices.ons.api.Producer; +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.log.LogHelper; +import com.yeshi.fanli.service.inter.redpack.RedPackGiveRecordService; +import com.yeshi.fanli.service.inter.redpack.RedPackWinInviteService; +import com.yeshi.fanli.service.inter.user.UserSystemCouponService; +import com.yeshi.fanli.util.rocketmq.MQTopicName; + +/** + * 绾㈠寘娑堣垂 + * + * @author Administrator + */ +@Component +public class RedPackMessageListener implements MessageListener { + + @Resource + private UserSystemCouponService userSystemCouponService; + + @Resource + private RedPackWinInviteService redPackWinInviteService; + + @Resource + private RedPackGiveRecordService redPackGiveRecordService; + + @Resource + private RocketMQManager rocketMQManager; + + @Resource + private UserInfoService userInfoService; + + @Override + public Action consume(Message message, ConsumeContext context) { + LogHelper.mqInfo("consumer-RedPackMessageListener", message.getMsgID(), message.getTopic(), message.getTag(), + new String(message.getBody())); + String tag = message.getTag(); + if (tag == null) + tag = ""; + + if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { + // 璁㈠崟纭鏀惰揣 + if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) { + OrderConfirmMQMsg mqMsg = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class); + //鍒ゆ柇绯荤粺鏄惁鍖呭惈绾㈠寘鍔熻兘 + Long sourceUid = mqMsg.getSourceUid(); + SystemEnum system = userInfoService.getUserSystem(sourceUid); + if (!system.getFunctionSet().contains(SystemFunction.redPack)) + return Action.CommitMessage; + try {// 閭�璇峰鍔� + redPackWinInviteService.winRedPackByOrder(mqMsg.getSourceUid(), mqMsg.getOrderNo(), mqMsg.getSourceType()); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + } + } + return Action.CommitMessage; + } +} -- Gitblit v1.8.0