From 52a5a39966f303be57876d817561597b8c0dc6c7 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 11 四月 2020 18:17:30 +0800
Subject: [PATCH] 团队收益相关规则修改

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java |  148 +-----------------------------------------------
 1 files changed, 5 insertions(+), 143 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java
index 72af241..f0b0837 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/InviteOrderSubsidyMessageListener.java
@@ -1,7 +1,6 @@
 package com.yeshi.fanli.util.rocketmq.consumer.order;
 
 import java.util.Date;
-import java.util.List;
 
 import javax.annotation.Resource;
 
@@ -12,32 +11,19 @@
 import com.aliyun.openservices.ons.api.Message;
 import com.aliyun.openservices.ons.api.MessageListener;
 import com.aliyun.openservices.ons.api.Producer;
-import com.aliyun.openservices.ons.api.SendResult;
 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.UserSystemCouponUseMQMsg;
-import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord;
-import com.yeshi.fanli.entity.mq.MQUnSendInfo;
-import com.yeshi.fanli.entity.order.CommonOrder;
-import com.yeshi.fanli.entity.system.SystemCoupon;
-import com.yeshi.fanli.exception.money.OrderMoneySettleException;
-import com.yeshi.fanli.exception.mq.MQUnSendInfoException;
 import com.yeshi.fanli.exception.order.CommonOrderException;
 import com.yeshi.fanli.exception.order.InviteOrderSubsidyException;
 import com.yeshi.fanli.exception.order.OrderTeamRewardException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.mq.MQUnSendInfoService;
 import com.yeshi.fanli.service.inter.order.CommonOrderService;
-import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
-import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyServiceV2;
 import com.yeshi.fanli.service.inter.order.OrderMoneySettleService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
-import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.service.manger.order.TeamSubsidyManager;
 import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
 import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
 /**
@@ -49,10 +35,7 @@
 @Component
 public class InviteOrderSubsidyMessageListener implements MessageListener {
 	@Resource
-	private InviteOrderSubsidyService inviteOrderSubsidyService;
-
-	@Resource
-	private InviteOrderSubsidyServiceV2 inviteOrderSubsidyServiceV2;
+	private TeamSubsidyManager teamSubsidyManager;
 
 	@Resource
 	private UserSystemCouponRecordService userSystemCouponRecordService;
@@ -92,7 +75,7 @@
 					Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(), dto.getType());
 					if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
 						try {
-							inviteOrderSubsidyServiceV2.addOrUpdateByOrder(dto.getOrderId(), dto.getType());
+							teamSubsidyManager.addOrUpdateOrder(dto.getOrderId(), dto.getType());
 							return Action.CommitMessage;
 						} catch (InviteOrderSubsidyException e) {
 							e.printStackTrace();
@@ -107,136 +90,15 @@
 						return Action.ReconsumeLater;
 					} else {
 						try {
-							inviteOrderSubsidyService.addOrUpdateByOrder(dto.getOrderId(), dto.getType());
-						} catch (InviteOrderSubsidyException e) {
+							teamSubsidyManager.addOrUpdateOrder(dto.getOrderId(), dto.getType());
+						} catch (Exception e) {
 							LogHelper.errorDetailInfo(e, new Gson().toJson(dto), "");
 							return Action.ReconsumeLater;
 						}
 					}
-
-				}
-			} else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiActual.name())) {
-				OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(message.getBody()),
-						OrderMoneyRecievedMQMsg.class);
-				if (dto != null) {
-					if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_ZIGOU) {// 鑷喘鍒拌处
-						// 鍒ゆ柇璁㈠崟鍙锋槸鍚﹀湪琛ヨ创涓�
-						long count = inviteOrderSubsidyService.countByOrderIdAndSourceType(dto.getOrderId(),
-								dto.getSourceType());
-						if (count > 0) {// 寤舵椂娑堟伅鍙戦��
-							sendOrderSubsidyUpdateLater(dto, 5);
-						}
-					} else if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_INVITE) {// 閭�璇峰埌璐�
-						// 琛ヨ创鍒拌处
-						try {
-							orderMoneySettleService.inviteSubsidySettle(dto.getUid(), message.getKey());
-							return Action.CommitMessage;
-						} catch (OrderMoneySettleException e) {
-							return Action.ReconsumeLater;
-						}
-					}
-				}
-			} else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiDelay.name())) {
-				OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(message.getBody()),
-						OrderMoneyRecievedMQMsg.class);
-				if (dto != null) {
-					if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_ZIGOU) {// 寤舵椂鏃堕棿宸插埌
-						// 鍒ゆ柇璁㈠崟鍙锋槸鍚﹀湪琛ヨ创涓�
-						long count = inviteOrderSubsidyService.countByOrderIdAndSourceType(dto.getOrderId(),
-								dto.getSourceType());
-						if (count > 0) {
-							// 鍒ゆ柇鏄惁瑕佷娇鐢ㄥ鍔卞埜
-							UserSystemCouponRecord record = userSystemCouponRecordService
-									.getRecordByOrderNo(dto.getOrderId(), UserSystemCouponRecord.STATE_SUCCESS);
-							if (record != null
-									&& record.getCouponType()
-											.equalsIgnoreCase(SystemCoupon.CouponTypeEnum.rebatePercentCoupon.name())
-									&& record.getGoodSource() == dto.getSourceType()) {// 鎴愬姛浣跨敤浜嗗鍔卞埜
-
-								Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(), dto.getType());
-								if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
-									inviteOrderSubsidyServiceV2.invalidByOrderIdAndSourceType(dto.getOrderId(),
-											dto.getSourceType());
-								} else
-
-									inviteOrderSubsidyService.invalidByOrderIdAndSourceType(dto.getOrderId(),
-											dto.getSourceType());
-							} else {
-								// 浣挎暟鎹湁鏁�
-								try {
-									Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(),
-											dto.getType());
-									if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
-										inviteOrderSubsidyServiceV2.validByOrderIdAndSourceType(dto.getOrderId(),
-												dto.getSourceType());
-									} else
-
-										inviteOrderSubsidyService.validByOrderIdAndSourceType(dto.getOrderId(),
-												dto.getSourceType());
-								} catch (InviteOrderSubsidyException e) {
-									e.printStackTrace();
-									return Action.ReconsumeLater;
-								}
-							}
-						}
-					}
 				}
 			}
-		} else if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) {
-			if (tag.equalsIgnoreCase(UserTopicTagEnum.useSystemCoupon.name())) {
-				UserSystemCouponUseMQMsg dto = new Gson().fromJson(new String(message.getBody()),
-						UserSystemCouponUseMQMsg.class);
-				if (dto != null && dto.getCouponType()
-						.equalsIgnoreCase(SystemCoupon.CouponTypeEnum.rebatePercentCoupon.name())) {// 杩斿埄濂栧姳鍒哥殑浣跨敤
-					long count = inviteOrderSubsidyService.countByOrderIdAndSourceType(dto.getOrderId(),
-							dto.getSourceType());
-					if (count > 0) {
-						// 浣跨浉鍏宠鍗曞け鏁�
-						Date orderTime = commonOrderService.getThirdCreateTime(dto.getOrderId(), dto.getSourceType());
-						if (orderTime.getTime() >= TEAM_REWARD_START_TIME) {
-							inviteOrderSubsidyServiceV2.invalidByOrderIdAndSourceType(dto.getOrderId(),
-									dto.getSourceType());
-						} else
-							inviteOrderSubsidyService.invalidByOrderIdAndSourceType(dto.getOrderId(),
-									dto.getSourceType());
-					}
-					return Action.CommitMessage;
-				}
-			}
-			//
 		}
 		return Action.CommitMessage;
 	}
-
-	/**
-	 * 鍙戦�佽鍗曞欢鏃舵秷鎭�
-	 * 
-	 * @param day
-	 */
-	private boolean sendOrderSubsidyUpdateLater(OrderMoneyRecievedMQMsg dto, int day) {
-
-		Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiDelay, dto);
-		msg.setKey(dto.getSourceType() + "_" + dto.getOrderId());
-		long delayTime = System.currentTimeMillis() + (Constant.IS_TEST ? 1000 * 30L : 1000 * 60 * 60 * 24L * day);
-		msg.setStartDeliverTime(delayTime);
-		SendResult sendResult = producer.send(msg);
-		if (sendResult != null) {
-			return true;
-		} else {
-			MQUnSendInfo info = new MQUnSendInfo();
-			info.setBody(new String(msg.getBody()));
-			if (msg.getStartDeliverTime() > 0)
-				info.setDeliverTime(new Date(msg.getStartDeliverTime()));
-			info.setKey(msg.getKey());
-			info.setTag(msg.getTag());
-			info.setTopic(msg.getTopic());
-			try {
-				mqUnSendInfoService.addMQUnSendInfo(info);
-			} catch (MQUnSendInfoException e) {
-				e.printStackTrace();
-			}
-			return false;
-		}
-	}
-
 }

--
Gitblit v1.8.0