From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java | 55 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 32 insertions(+), 23 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java index 57011ba..32bd91f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.order.tb; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -8,7 +9,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.aliyun.openservices.ons.api.Message; +import com.aliyun.openservices.ons.api.Producer; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper; +import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; +import com.yeshi.fanli.dto.mq.order.body.BanLiShopOrderMQMsg; +import com.yeshi.fanli.dto.mq.order.body.OrderWeiQuanMQMsg; import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail; import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum; import com.yeshi.fanli.entity.order.CommonOrder; @@ -19,6 +25,8 @@ import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService; import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; +import com.yeshi.fanli.util.rocketmq.MQTopicName; @Service public class TaoBaoWeiQuanOrderServiceImpl implements TaoBaoWeiQuanOrderService { @@ -37,18 +45,25 @@ @Resource private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService; + @Resource(name = "producer") + private Producer producer; + @Transactional(rollbackFor = Exception.class) @Override public void addWeiQuanOrder(TaoBaoWeiQuanOrder order) { if (order == null) return; + boolean isAdd = false; + boolean isUpdate = false; + Long id = null; + TaoBaoWeiQuanOrder taoBaoWeiQuanOrder = taoBaoWeiQuanOrderMapper .selectByOrderIdAndOrderItemId(order.getOrderId(), order.getOrderItemId()); if (taoBaoWeiQuanOrder != null) { + id = taoBaoWeiQuanOrder.getId(); // 宸茬粡鏄渶鏂扮殑鐘舵�佷簡 - if (taoBaoWeiQuanOrder.getState() != null && (taoBaoWeiQuanOrder.getState().contains("缁存潈鎴愬姛") - || taoBaoWeiQuanOrder.getState().contains("缁存潈澶辫触"))) + if (taoBaoWeiQuanOrder.getState() != null && (taoBaoWeiQuanOrder.getState().contains("缁存潈鎴愬姛"))) return; // 鏇存柊閲戦锛岀姸鎬佷笌鏃堕棿 TaoBaoWeiQuanOrder update = new TaoBaoWeiQuanOrder(); @@ -60,7 +75,7 @@ update.setUpdateTime(new Date()); update.setWeiQuanFinishTime(order.getWeiQuanFinishTime()); taoBaoWeiQuanOrderMapper.updateByPrimaryKeySelective(update); - + isUpdate = true; try { if (order.getState().contains("缁存潈鎴愬姛")) { // 鏇存敼CommonOrder鐨勭姸鎬� @@ -73,26 +88,6 @@ commonOrderService.updateByPrimaryKeySelective(updateCommonOrder); userOrderWeiQuanRecordService.addTaoBaoWeiQuan(taoBaoWeiQuanOrder); } - - // 缁存潈鐘舵�佷笉闇�瑕佹秷鎭� - // List<MsgOrderDetail> msgList = - // msgOrderDetailService.listMsgOrderByOrderId(order.getOrderId()); - // for (MsgOrderDetail msg : msgList) { - // if (msg.getType() == MsgTypeOrderTypeEnum.fanli) { - // userOrderMsgNotificationService.orderFanLiStateChanged(msg.getUser().getId(), - // order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null, - // null, CommonOrder.STATE_WQ); - // } else if (msg.getType() == MsgTypeOrderTypeEnum.invite) - // { - // userOrderMsgNotificationService.orderInviteStateChanged(msg.getUser().getId(), - // order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null, - // null, CommonOrder.STATE_WQ); - // } else if (msg.getType() == MsgTypeOrderTypeEnum.share) { - // userOrderMsgNotificationService.orderShareStateChanged(msg.getUser().getId(), - // order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null, - // null, CommonOrder.STATE_WQ); - // } - // } } } catch (Exception e) { @@ -101,6 +96,8 @@ order.setCreateTime(new Date()); order.setUpdateTime(new Date()); taoBaoWeiQuanOrderMapper.insertSelective(order); + id = order.getId(); + isAdd = true; if (order.getState().contains("缁存潈鎴愬姛")) { // 鏇存敼CommonOrder鐨勭姸鎬� CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, @@ -114,6 +111,18 @@ } } } + + // 澧炲姞鎴栦慨鏀� + if (isAdd || isUpdate) { + if (id != null) { + OrderWeiQuanMQMsg msg = new OrderWeiQuanMQMsg(order.getOrderId(), order.getOrderItemId(), + Constant.SOURCE_TYPE_TAOBAO); + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.taoBaoOrderWeiQuan, + msg); + producer.send(message); + } + } + } @Override -- Gitblit v1.8.0