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