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