From 153901de9782f71992f17607c8ab4faeaace3d09 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 十一月 2019 12:13:24 +0800 Subject: [PATCH] 红包模块增加24小时订单消息,自购/分享订单到账消息 --- fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/redpack/RedPackMessageListener.java | 64 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 11 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 5f74637..30be42b 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 @@ -8,8 +8,8 @@ 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.BaseMQMsgBody; import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; import com.yeshi.fanli.dto.mq.order.body.OrderMQMsg; import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg; @@ -23,6 +23,7 @@ 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.StringUtil; import com.yeshi.fanli.util.rocketmq.MQTopicName; /** @@ -39,9 +40,12 @@ @Resource private RedPackWinInviteService redPackWinInviteService; - + @Resource private RedPackGiveRecordService redPackGiveRecordService; + + @Resource(name = "producer") + private Producer producer; @Override public Action consume(Message message, ConsumeContext context) { @@ -57,12 +61,13 @@ OrderMoneyRecievedMQMsg.class); // 鍒嗕韩璁㈠崟濂栧姳 if (orderMoneyRecievedMQMsg.getType() == OrderMoneyRecievedMQMsg.TYPE_SHARE) { -// try { -// redPackWinInviteService.orderArriveReward(orderMoneyRecievedMQMsg.getUid(), -// orderMoneyRecievedMQMsg.getSourceType(), orderMoneyRecievedMQMsg.getOrderId()); -// } catch (Exception e) { -// e.printStackTrace(); -// } + // try { + // redPackWinInviteService.orderArriveReward(orderMoneyRecievedMQMsg.getUid(), + // orderMoneyRecievedMQMsg.getSourceType(), + // orderMoneyRecievedMQMsg.getOrderId()); + // } catch (Exception e) { + // e.printStackTrace(); + // } } } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatistic.name())) {// 璁㈠崟缁熻 OrderMQMsg orderMQMsg = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); @@ -73,8 +78,46 @@ e.printStackTrace(); } } + // 鍙戦��24灏忔椂寤舵椂娑堟伅 + // 娴嬭瘯鏃跺彂閫� + int hour = 24; + 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 orderMQMsg = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); + int hour = 24; + if (Constant.IS_TEST) { + hour = 1; + } + + if (orderMQMsg.getDelayHour() == hour) { + // TODO 澶勭悊寤舵椂娑堟伅 + } + return Action.CommitMessage; + } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiSeparateByOrderNo.name())) {// 璁㈠崟鍒拌处锛堟寜璁㈠崟鍙峰鐞嗭級 + OrderMoneyRecievedMQMsg orderMoneyRecievedMQMsg = new Gson().fromJson(new String(message.getBody()), + OrderMoneyRecievedMQMsg.class); + if (orderMoneyRecievedMQMsg.getType() == OrderMoneyRecievedMQMsg.TYPE_ZIGOU + || orderMoneyRecievedMQMsg.getType() == OrderMoneyRecievedMQMsg.TYPE_SHARE) { + if (!StringUtil.isNullOrEmpty(orderMoneyRecievedMQMsg.getOrderId()) + && orderMoneyRecievedMQMsg.getUid() != null) { + // TODO 鑷喘涓庡垎浜鍗曞埌璐﹀鐞� + } + } + + return Action.CommitMessage; } else if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { boolean inviteSucceedReward = false; Long uid = null; @@ -110,11 +153,10 @@ if (inviteSucceedReward) { try {// 閭�璇峰鍔� - if(uid==6269748) - { + if (uid == 6269748) { System.out.println(uid); } -// redPackWinInviteService.inviteSucceedReward(uid); + // redPackWinInviteService.inviteSucceedReward(uid); } catch (Exception e) { e.printStackTrace(); } -- Gitblit v1.8.0