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 | 112 +++++++++++++++---------------------------------------- 1 files changed, 31 insertions(+), 81 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 844dc7d..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 @@ -12,17 +12,11 @@ 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.dto.mq.order.body.OrderMoneyRecievedMQMsg; -import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; -import com.yeshi.fanli.dto.mq.user.body.UserAccountBindingMQMsg; -import com.yeshi.fanli.dto.mq.user.body.UserInviteMQMsg; -import com.yeshi.fanli.dto.mq.user.body.UserRedPackGiftMQMsg; 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.StringUtil; import com.yeshi.fanli.util.rocketmq.MQTopicName; /** @@ -55,92 +49,48 @@ tag = ""; 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 = 24; - if (Constant.IS_TEST) { - hour = 1; + 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); } - 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 orderMQMsg = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); - int hour = 24; + OrderMQMsg mqMsg = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); + int hour = 48; if (Constant.IS_TEST) { hour = 1; } - if (orderMQMsg.getDelayHour() == hour) { - try {// 閭�璇峰鍔� - redPackWinInviteService.inviteSucceedReward(orderMQMsg.getUid()); + if (mqMsg.getDelayHour() == hour) { + try { + redPackWinInviteService.winFreeCoupon(mqMsg.getUid(), mqMsg.getOrderId(), mqMsg.getType(), mqMsg.getPlaceTime()); } catch (Exception e) { - e.printStackTrace(); + LogHelper.errorDetailInfo(e); + return Action.ReconsumeLater; } } 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_INVITE) { - if (!StringUtil.isNullOrEmpty(orderMoneyRecievedMQMsg.getOrderId()) - && orderMoneyRecievedMQMsg.getUid() != null) { - try { - redPackWinInviteService.inviteOrderArriveReward(orderMoneyRecievedMQMsg.getUid(), - orderMoneyRecievedMQMsg.getSourceType(), orderMoneyRecievedMQMsg.getOrderId()); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - return Action.CommitMessage; - } - } else if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { - boolean inviteSucceedReward = false; - Long uid = null; - if (tag.equalsIgnoreCase(UserTopicTagEnum.userAccountBinding.name())) {// 璐﹀彿缁戝畾 - UserAccountBindingMQMsg userAccountBindingMQMsg = new Gson().fromJson(new String(message.getBody()), - UserAccountBindingMQMsg.class); - Integer type = userAccountBindingMQMsg.getType(); - if (type == UserAccountBindingMQMsg.TYPE_PHONE || type == UserAccountBindingMQMsg.TYPE_WX - || type == UserAccountBindingMQMsg.TYPE_TAOBAO) { - inviteSucceedReward = true; - uid = userAccountBindingMQMsg.getUid(); - } - } else if (tag.equalsIgnoreCase(UserTopicTagEnum.inviteSuccess.name())) {// 閭�璇锋垚鍔� - UserInviteMQMsg userInviteMQMsg = new Gson().fromJson(new String(message.getBody()), - UserInviteMQMsg.class); - inviteSucceedReward = true; - uid = userInviteMQMsg.getWorkerId(); - - redPackWinInviteService.initCreateRedPackWin(userInviteMQMsg.getBossId(),userInviteMQMsg.getWorkerId()); - - } else if (tag.equalsIgnoreCase(UserTopicTagEnum.redPackGiftDrawback.name())) {// 绾㈠寘璧犻�� - UserRedPackGiftMQMsg userRedPackGiftMQMsg = new Gson().fromJson(new String(message.getBody()), - UserRedPackGiftMQMsg.class); - try { // 绾㈠寘璧犻�佸埌鏈熸湭棰嗗彇 - redPackGiveRecordService.overdueByPrimaryKey(userRedPackGiftMQMsg.getId()); - } catch (Exception e) { - e.printStackTrace(); - } - return Action.CommitMessage; - } - - if (inviteSucceedReward) { - try {// 閭�璇峰鍔� - redPackWinInviteService.inviteSucceedReward(uid); - } catch (Exception e) { - e.printStackTrace(); - } } } return Action.CommitMessage; -- Gitblit v1.8.0