From 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 11 七月 2019 16:34:13 +0800
Subject: [PATCH] 订单bug,分享爆款自购修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java |   41 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java
index 507d736..c7493f6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoOrderServiceImpl.java
@@ -1,9 +1,11 @@
 package com.yeshi.fanli.service.impl.taobao;
 
 import java.util.Date;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.annotation.Resource;
 
@@ -14,6 +16,7 @@
 import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoOrderTradeMapMapper;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrderTradeMap;
+import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.RedisManager;
@@ -80,6 +83,33 @@
 	@Transactional
 	@Override
 	public void addTaoBaoOrder(String orderId, List<TaoBaoOrder> list) {
+		LogHelper.test("璁㈠崟鍙蜂笌璁㈠崟鏁伴噺:" + orderId + "-" + list.size());
+		// 楠岃瘉orderby鏄惁姝g‘
+		if (list != null && list.size() > 0) {
+			int maxOrderBy = list.get(0).getOrderBy();
+			if (list.size() > 1)
+				for (TaoBaoOrder order : list) {
+					if (order.getOrderBy() > maxOrderBy)
+						maxOrderBy = order.getOrderBy();
+				}
+
+			if (list.size() != maxOrderBy) {
+				LogHelper.test("鎹曟崏鍒版帓搴忓�奸敊璇�:" + orderId);
+				return;
+			}
+		}
+		// 楠岃瘉tradeId闂
+		Set<String> tradesIds = new HashSet<>();
+		for (TaoBaoOrder order : list) {
+			tradesIds.add(order.getTradeId());
+		}
+
+		// 鏈夐噸澶嶇殑浜ゆ槗ID涓嶅鐞�
+		if (tradesIds.size() != list.size()) {
+			LogHelper.test("妫�娴嬪埌浜ゆ槗ID閲嶅闂:" + orderId);
+			return;
+		}
+
 		List<TaoBaoOrder> oldOrderList = taoBaoOrderMapper.selectTaoBaoOrderByOrderId(orderId);
 		if (oldOrderList == null || oldOrderList.size() == 0) {
 			for (TaoBaoOrder taoBaoOrder : list) {
@@ -105,8 +135,10 @@
 						addTaoBaoOrderTradeMap(taoBaoOrder);
 					} else {
 						taoBaoOrder.setId(order.getId());
-						taoBaoOrder.setRelationId(order.getRelationId());
-						taoBaoOrder.setSpecialId(order.getSpecialId());
+						if (!StringUtil.isNullOrEmpty(order.getRelationId()))
+							taoBaoOrder.setRelationId(order.getRelationId());
+						if (!StringUtil.isNullOrEmpty(order.getSpecialId()))
+							taoBaoOrder.setSpecialId(order.getSpecialId());
 						taoBaoOrder.setLatestUpdateTime(new Date());
 						taoBaoOrderMapper.updateByPrimaryKeySelective(taoBaoOrder);
 						addTaoBaoOrderTradeMap(taoBaoOrder);
@@ -141,4 +173,9 @@
 		}
 	}
 
+	@Override
+	public TaoBaoOrder selectByTradeId(String tradeId) {
+		return taoBaoOrderMapper.selectTaoBaoOrderByTradeId(tradeId);
+	}
+
 }

--
Gitblit v1.8.0