From f9155fec1956d54d5b8f40cab22571215975ef88 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 02 十一月 2019 15:41:59 +0800
Subject: [PATCH] 板栗商城订单系统修改 消息机制完善

---
 fanli/src/main/java/com/yeshi/fanli/util/rocketmq/order/MQLocalTransactionChecker.java |   29 ++++++++++++++++-------------
 1 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/order/MQLocalTransactionChecker.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/order/MQLocalTransactionChecker.java
index 1c3d27b..bec2144 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/order/MQLocalTransactionChecker.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/order/MQLocalTransactionChecker.java
@@ -10,7 +10,9 @@
 import com.aliyun.openservices.ons.api.transaction.LocalTransactionChecker;
 import com.aliyun.openservices.ons.api.transaction.TransactionStatus;
 import com.google.gson.Gson;
-import com.yeshi.fanli.dto.order.OrderMoneyRecievedMQMsgDTO;
+import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum;
+import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg;
+import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.order.HongBaoOrder;
@@ -18,7 +20,6 @@
 import com.yeshi.fanli.service.inter.order.CommonOrderService;
 import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
 import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
-import com.yeshi.fanli.util.rocketmq.MQTagConstant;
 import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
 @Component
@@ -46,21 +47,22 @@
 	@Override
 	public TransactionStatus check(Message msg) {
 
+		String tag = msg.getTag();
 		if (msg.getTopic().equalsIgnoreCase(MQTopicName.TOPIC_ORDER.name())) {
-			if (msg.getTag().startsWith(MQTagConstant.TAG_ORDER_STATISTIC_PREFIX)) {// 璁㈠崟鍔犲叆绾㈠寘鏍囪瘑
+
+			if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatistic.name())) {
+				// TODO 鍔犲叆鎴愬姛鏍囪瘑
 				return TransactionStatus.CommitTransaction;
-			}
-		} else if (msg.getTopic().equalsIgnoreCase(MQTopicName.TOPIC_FANLI.name())) {
-			if (msg.getTag().equalsIgnoreCase("actual")) {// 鏌ヨkey鍊兼槸鍚﹀湪
+			} else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiActual.name())) {
 				if (hongBaoV2SettleTempService.countByKey(msg.getKey()) > 0)
 					return TransactionStatus.CommitTransaction;
 				else
 					return TransactionStatus.RollbackTransaction;
-			} else if (msg.getTag().equalsIgnoreCase("delay")) {
-				OrderMoneyRecievedMQMsgDTO dto = new Gson().fromJson(new String(msg.getBody()),
-						OrderMoneyRecievedMQMsgDTO.class);
+			} else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderFanLiDelay.name())) {
+				OrderMoneyRecievedMQMsg dto = new Gson().fromJson(new String(msg.getBody()),
+						OrderMoneyRecievedMQMsg.class);
 				if (dto != null) {
-					if (dto.getType() == OrderMoneyRecievedMQMsgDTO.TYPE_ZIGOU) {
+					if (dto.getType() == OrderMoneyRecievedMQMsg.TYPE_ZIGOU) {
 						// TODO 灏氭湭澶勭悊涓�涓鍗曢儴鍒嗗埌璐︾殑鐘跺喌
 						// 杩斿埄鏄惁鍒拌处
 						List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(dto.getSourceType(),
@@ -75,12 +77,13 @@
 						return TransactionStatus.RollbackTransaction;
 					}
 				}
-
 				// 鍏朵粬鏈煡鏉′欢鏆傛椂澶勭悊涓哄洖婊�
 				return TransactionStatus.RollbackTransaction;
 			}
-		} else if (msg.getTopic().equalsIgnoreCase(MQTopicName.TOPIC_SYSTEM_COUPON_USE.name())) {
-			return mqLocalUserCouponUsedTransactionChecker.check(msg);
+
+		} else if (msg.getTopic().equalsIgnoreCase(MQTopicName.TOPIC_USER.name())) {
+			if (tag.equalsIgnoreCase(UserTopicTagEnum.useSystemCoupon.name()))// 绯荤粺鍒镐娇鐢�
+				return mqLocalUserCouponUsedTransactionChecker.check(msg);
 		}
 
 		return TransactionStatus.Unknow;

--
Gitblit v1.8.0