From ec60e757d358636dcac1589c44a66f3e276fe58c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 29 六月 2020 14:41:42 +0800 Subject: [PATCH] 拉新 --- fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/redpack/RedPackMessageListener.java | 41 +++++++++++++++++++++++++---------------- 1 files changed, 25 insertions(+), 16 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 5416749..89e7090 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 @@ -50,21 +50,30 @@ if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { 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 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); } - 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); + + 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); @@ -74,8 +83,8 @@ } if (mqMsg.getDelayHour() == hour) { - try {// 閭�璇峰鍔� - redPackWinInviteService.winRedPackByOrder(mqMsg.getUid(), mqMsg.getOrderId(), mqMsg.getType()); + try { + redPackWinInviteService.winFreeCoupon(mqMsg.getUid(), mqMsg.getOrderId(), mqMsg.getType(), mqMsg.getPlaceTime()); } catch (Exception e) { LogHelper.errorDetailInfo(e); return Action.ReconsumeLater; -- Gitblit v1.8.0