From dcfd801ea435c1c87ed47f2ee24cdabaaf230d6f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 31 三月 2020 12:15:56 +0800
Subject: [PATCH] 大淘客商品过滤修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java |  105 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 86 insertions(+), 19 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
index b446926..4c96320 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -17,10 +17,14 @@
 import org.yeshi.utils.entity.DateInfo;
 import org.yeshi.utils.taobao.TbImgUtil;
 
+import com.aliyun.openservices.ons.api.Message;
+import com.aliyun.openservices.ons.api.Producer;
 import com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper;
 import com.yeshi.fanli.dao.mybatis.order.CommonOrderMapper;
 import com.yeshi.fanli.dao.mybatis.order.CommonOrderTradeIdMapMapper;
 import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
+import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum;
+import com.yeshi.fanli.dto.mq.order.body.OrderConfirmMQMsg;
 import com.yeshi.fanli.dto.order.CommonOrderAddResultDTO;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.entity.accept.AcceptData;
@@ -71,7 +75,8 @@
 import com.yeshi.fanli.util.jd.JDApiUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
-import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
+import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
+import com.yeshi.fanli.util.rocketmq.MQTopicName;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.util.user.UserLevelUtil;
@@ -130,6 +135,9 @@
 
 	@Resource
 	private UserInfoService userInfoService;
+
+	@Resource(name = "producer")
+	private Producer orderProducer;
 
 	// 濂栧姳璁㈠崟鍥剧墖
 	public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png";
@@ -944,11 +952,19 @@
 			wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_BUFENYOUXIAO;
 
 		for (TaoBaoOrder taoBaoOrder : taoBaoOrders) {
-			CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder);
+			CommonOrder newCommonOrder = CommonOrderFactory.create(taoBaoOrder);
 			CommonOrderGoods cog = new CommonOrderGoods();
-			cog.setGoodsId(taoBaoOrder.getAuctionId() + "");
-			cog.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
-			newCommonOrder.setCommonOrderGoods(cog);
+
+			if ("楗夸簡涔�".equalsIgnoreCase(taoBaoOrder.getOrderType())) {
+				cog.setGoodsId(taoBaoOrder.getTradeId() + "");
+				cog.setGoodsType(Constant.SOURCE_TYPE_ELME);
+				cog.setTitle(taoBaoOrder.getTitle());
+				newCommonOrder.setCommonOrderGoods(cog);
+			} else {
+				cog.setGoodsId(taoBaoOrder.getAuctionId() + "");
+				cog.setGoodsType(Constant.SOURCE_TYPE_TAOBAO);
+				newCommonOrder.setCommonOrderGoods(cog);
+			}
 			newCommonOrder.setStateWholeOrder(wholeOrderState);
 			// 璁㈠崟鍟嗗搧鎻掑叆
 			List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper.listByGoodsIdAndGoodsType(cog.getGoodsId(),
@@ -956,22 +972,25 @@
 			if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧
 			{
 				TaoBaoGoodsBrief taoBaoGoods = null;
-				try {
-					taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId());
-					LogManager.getLogger(LogType.taobaoGoods).info(String.format("璁㈠崟鍟嗗搧鍒嗙被:%s#%s#%s",
-							taoBaoGoods.getAuctionId(), taoBaoGoods.getRootCategoryName(), taoBaoGoods.getLeafName()));
-				} catch (TaobaoGoodsDownException e) {
-					e.printStackTrace();
-					LogHelper.errorDetailInfo(e, "AUCTIONID:" + taoBaoOrder.getAuctionId(), "");
+				if (cog.getGoodsType() != Constant.SOURCE_TYPE_ELME) {
 					try {
-						taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId());
-						// 璁板綍鍟嗗搧鍒嗙被
+						taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId());
+						LogManager.getLogger(LogType.taobaoGoods)
+								.info(String.format("璁㈠崟鍟嗗搧鍒嗙被:%s#%s#%s", taoBaoGoods.getAuctionId(),
+										taoBaoGoods.getRootCategoryName(), taoBaoGoods.getLeafName()));
+					} catch (TaobaoGoodsDownException e) {
+						e.printStackTrace();
+						LogHelper.errorDetailInfo(e, "AUCTIONID:" + taoBaoOrder.getAuctionId(), "");
+						try {
+							taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId());
+							// 璁板綍鍟嗗搧鍒嗙被
 
-					} catch (Exception e1) {
-						CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
-								taoBaoOrder.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO);
-						if (commonGoods != null)
-							taoBaoGoods = TaoBaoUtil.convert(commonGoods);
+						} catch (Exception e1) {
+							CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
+									taoBaoOrder.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO);
+							if (commonGoods != null)
+								taoBaoGoods = TaoBaoUtil.convert(commonGoods);
+						}
 					}
 				}
 				if (taoBaoGoods != null) {
@@ -984,6 +1003,7 @@
 			newCommonOrder.setUserInfo(new UserInfo(uid));
 			commonOrderList.add(addCommonOrder(newCommonOrder));
 		}
+		addConfirmMQMsg(commonOrderList);
 		return commonOrderList;
 	}
 
@@ -1034,7 +1054,53 @@
 			newCommonOrder.setUserInfo(new UserInfo(uid));
 			commonOrderList.add(addCommonOrder(newCommonOrder));
 		}
+		addConfirmMQMsg(commonOrderList);
 		return commonOrderList;
+	}
+
+	private void addConfirmMQMsg(List<CommonOrderAddResultDTO> resultList) {
+
+		// 璁㈠崟鏄惁鏂板鎴栬�呮洿鏂拌繃
+		boolean isAddOrUpdate = false;
+		for (CommonOrderAddResultDTO dto : resultList)
+			if (dto.getType() == CommonOrderAddResultDTO.TYPE_ADD
+					|| dto.getType() == CommonOrderAddResultDTO.TYPE_UPDATE) {
+				isAddOrUpdate = true;
+				break;
+			}
+		boolean hasSettleOrder = false;
+		// 鏌ヨ鏄惁鏈夌粨绠楃殑璁㈠崟
+		if (isAddOrUpdate) {
+			for (CommonOrderAddResultDTO dto : resultList) {
+				if (dto.getCommonOrder().getSettleTime() != null && dto.getCommonOrder().getSettlement() != null) {
+					hasSettleOrder = true;
+					break;
+				}
+			}
+		}
+		// 鏈夌粨绠楃殑璁㈠崟
+		if (hasSettleOrder) {
+			if (!Constant.IS_TEST) {
+				// 缁熻缁撶畻閲戦
+				BigDecimal settlement = new BigDecimal("0");
+				CommonOrder firstOrder = null;
+				for (CommonOrderAddResultDTO dto : resultList)
+					if (dto.getCommonOrder().getSettlement() != null) {
+						settlement = settlement.add(dto.getCommonOrder().getSettlement());
+						if (firstOrder == null)
+							firstOrder = dto.getCommonOrder();
+					}
+				if (firstOrder != null) {
+					Date placeDate = firstOrder.getThirdCreateTime();
+					OrderConfirmMQMsg mqMsg = new OrderConfirmMQMsg(firstOrder.getOrderNo(), firstOrder.getSourceType(),
+							settlement, firstOrder.getUserInfo().getId(), placeDate, new Date());
+					Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderConfirm,
+							mqMsg);
+					orderProducer.send(msg);
+				}
+			}
+		}
+
 	}
 
 	@Transactional(rollbackFor = Exception.class)
@@ -1099,6 +1165,7 @@
 			newCommonOrder.setUserInfo(new UserInfo(uid));
 			commonOrderList.add(addCommonOrder(newCommonOrder));
 		}
+		addConfirmMQMsg(commonOrderList);
 		return commonOrderList;
 	}
 

--
Gitblit v1.8.0