From 880238957a973ecd9676237672276b0e99d31115 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 29 六月 2020 13:55:28 +0800 Subject: [PATCH] 免单 --- fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/redpack/RedPackMessageListener.java | 40 ++++++++++++++++++++++++++++++++++------ 1 files changed, 34 insertions(+), 6 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 72ba462..5416749 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 @@ -11,11 +11,12 @@ 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.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; /** @@ -45,14 +46,41 @@ 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); - redPackWinInviteService.winRedPackByOrder(mqMsg.getSourceUid(), mqMsg.getOrderNo(), mqMsg.getSourceType()); + if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatistic.name())) {// 璁㈠崟缁� + OrderMQMsg orderMQMsg = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); + // 鍙戦��24灏忔椂寤舵椂娑堟伅 + // 娴嬭瘯鏃跺彂閫� + int hour = 48; + if (Constant.IS_TEST) { + hour = 1; + } + orderMQMsg.setDelayHour(hour); + Message msg = new Message(message.getTopic(), OrderTopicTagEnum.orderStatisticDelay.name(), + new Gson().toJson(orderMQMsg).getBytes()); + if (orderMQMsg.getStaticticDate().getTime() + 1000 * 60 * 60L * hour > System.currentTimeMillis())// 鏃堕棿鏄惁宸茬粡杩囦簡 + msg.setStartDeliverTime(orderMQMsg.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.winRedPackByOrder(mqMsg.getUid(), mqMsg.getOrderId(), mqMsg.getType()); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + return Action.ReconsumeLater; + } + } return Action.CommitMessage; } } -- Gitblit v1.8.0