From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 06 五月 2020 12:02:09 +0800 Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java | 68 +++++++++++++++++++++++++-------- 1 files changed, 51 insertions(+), 17 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 18d4286..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,22 +1,32 @@ package com.yeshi.fanli.service.impl.order.tb; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import javax.annotation.Resource; 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; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.service.inter.order.CommonOrderService; +import com.yeshi.fanli.service.inter.order.UserOrderWeiQuanRecordService; import com.yeshi.fanli.service.inter.order.msg.MsgOrderDetailService; 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 { @@ -32,17 +42,28 @@ @Resource private CommonOrderService commonOrderService; + @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(); @@ -54,7 +75,7 @@ update.setUpdateTime(new Date()); update.setWeiQuanFinishTime(order.getWeiQuanFinishTime()); taoBaoWeiQuanOrderMapper.updateByPrimaryKeySelective(update); - + isUpdate = true; try { if (order.getState().contains("缁存潈鎴愬姛")) { // 鏇存敼CommonOrder鐨勭姸鎬� @@ -65,20 +86,7 @@ updateCommonOrder.setState(CommonOrder.STATE_WQ); updateCommonOrder.setUpdateTime(new Date()); commonOrderService.updateByPrimaryKeySelective(updateCommonOrder); - } - - 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); - } + userOrderWeiQuanRecordService.addTaoBaoWeiQuan(taoBaoWeiQuanOrder); } } } catch (Exception e) { @@ -88,7 +96,33 @@ 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, + order.getOrderItemId()); + if (commonOrder != null) { + CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId()); + updateCommonOrder.setState(CommonOrder.STATE_WQ); + updateCommonOrder.setUpdateTime(new Date()); + commonOrderService.updateByPrimaryKeySelective(updateCommonOrder); + userOrderWeiQuanRecordService.addTaoBaoWeiQuan(order); + } + } } + + // 澧炲姞鎴栦慨鏀� + 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