From f0ce6c75e05041b7ca39230df4bf14474ccbeb41 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 30 五月 2019 12:10:04 +0800
Subject: [PATCH] 后端手动加入精选库 修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java |  157 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 94 insertions(+), 63 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java
index e7e60b5..a6a4c43 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java
@@ -3,7 +3,6 @@
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -27,14 +26,12 @@
 import com.yeshi.fanli.exception.QualityFactoryException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException;
-import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
 import com.yeshi.fanli.service.inter.lable.LabelService;
 import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
 import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -164,86 +161,120 @@
 		}
 
 		// 鍒涘缓鏍囩
-		List<Label> listLabel = labelService.addBatchByNames(lableNames, admin);
+		List<Label> listLabs = labelService.addBatchByNames(lableNames, admin);
+		
+	
+		// 娣诲姞鍟嗗搧鏍囩鍒楄〃
+		List<LabelGoods> listLabelAdd = new ArrayList<LabelGoods>();
+		// 鎻掑叆鍟嗗搧闆嗗悎
+		List<TaoBaoGoodsBrief> listGoodsInsert = new ArrayList<TaoBaoGoodsBrief>();
+		// 鏇存柊鍟嗗搧闆嗗悎
+		List<TaoBaoGoodsBrief> listGoodsUpdate = new ArrayList<TaoBaoGoodsBrief>();
+		// 杩涘叆绮鹃�夊晢鍝佸垪琛�
+		List<QualityFactory> listInsertQuality = new ArrayList<QualityFactory>();
+		
 
-		List<QualityFactory> listQuality = new ArrayList<QualityFactory>();
-		List<LabelGoods> listLabelGoods = new ArrayList<LabelGoods>();
-
+		// 鎻掑叆鍟嗗搧娣樺疂ID闆嗗悎
+		List<Long> listAuctionId = new ArrayList<Long>();
 		for (TaoBaoGoodsBrief goodsBrief : listTaoBaoGoods) {
+			listAuctionId.add(goodsBrief.getAuctionId());
+		}
+		List<Long> listHas = taoBaoGoodsBriefService.listExistById(listAuctionId);
 
-			// 鏈湴鏄惁宸插瓨鍦ㄦ鍟嗗搧
-			List<TaoBaoGoodsBrief> hasList = taoBaoGoodsBriefService.queryByAuctionId(goodsBrief.getAuctionId());
-
-			if (hasList != null && hasList.size() > 0) {
-				TaoBaoGoodsBrief currentGoodsBrief = hasList.get(0);
-				goodsBrief.setId(currentGoodsBrief.getId());
-
-				// 鏇存柊鍟嗗搧鏈�鏂颁俊鎭�
-				taoBaoGoodsUpdateService.updateTaoBaoGoods(goodsBrief);
+		// 閬嶅巻鍟嗗搧
+		for (TaoBaoGoodsBrief newGoodsBrief : listTaoBaoGoods) {
+			Long auctionId = newGoodsBrief.getAuctionId();
+			// 璁剧疆鎴愪富閿�
+			newGoodsBrief.setId(auctionId);
+			newGoodsBrief.setState(0); // 鐘舵�佸惎鐢�
+			newGoodsBrief.setCreatetime(new Date());
+			newGoodsBrief.setUpdatetime(new Date());
+			
+			/* 鍒ゆ柇鍟嗗搧 鏄惁宸茬粡瀛樺湪鏁版嵁搴� */
+			if (listHas != null && listHas.size() > 0 && listHas.contains(auctionId)) {
+				// 鏇存柊鍟嗗搧
+				
+				listGoodsUpdate.add(newGoodsBrief);	
+				// 鍟嗗搧鏍囩
+				if (listLabs != null && listLabs.size() > 0) {
+					for (Label lab: listLabs) {
+						long existence = labelGoodsMapper.isExistence(auctionId, lab.getId());
+						if (existence <= 0) {
+							// 璐翠笂鏂版爣绛�
+							LabelGoods lg = new LabelGoods();
+							lg.setLabel(lab);
+							lg.setCreateUser(admin);
+							lg.setCreatetime(new Date());
+							lg.setTaoBaoGoodsBrief(newGoodsBrief);
+							listLabelAdd.add(lg);
+						}
+					}
+				}
+				
+				// 鏇存柊鐨勫晢鍝佷俊鎭� 鏄惁瀛樺湪绮鹃�夊簱涓�
+				QualityFactory quality = qualityFactoryMapper.getByAuctionId(auctionId);
+				if (quality == null) {
+					QualityFactory selectionGoods = new QualityFactory();
+					selectionGoods.setTaoBaoGoodsBrief(newGoodsBrief);
+					selectionGoods.setCreateUser(admin);
+					selectionGoods.setCreatetime(new Date());
+					selectionGoods.setUpdateUser(admin);
+					selectionGoods.setUpdatetime(new Date());
+					selectionGoods.setEntryMode(QualityFactory.MODE_MANUAL);// 浜哄伐绛涢��
+					selectionGoods.setGoodsSource(QualityFactory.SOURCE_TAOBAO);// 鏉ユ簮
+					selectionGoods.setWeight((int) (Math.random() * (4000)));
+					listInsertQuality.add(selectionGoods);
+				} 
 			} else {
-				goodsBrief.setId(null);
-				goodsBrief.setState(0);
-				goodsBrief.setCreatetime(new Date());
-				goodsBrief.setUpdatetime(new Date());
-				// 闈炵┖椤� 璁剧疆榛樿鍊�
-				taoBaoGoodsBriefService.setGoodsBriefDefault(goodsBrief);
-				// 淇濆瓨鑷虫湰鍦�
-				taoBaoGoodsBriefService.insertSelective(goodsBrief);
-			}
-
-			// 鏄惁宸插叆搴�
-			List<QualityFactory> selectionList = qualityFactoryMapper.queryByGoodsId(goodsBrief.getId());
-
-			if (selectionList == null || selectionList.size() == 0) {
-				// 娣诲姞鑷崇簿閫夊晢鍝佸簱
+				// 璁剧疆鍟嗗搧榛樿鍊�
+				taoBaoGoodsBriefService.setGoodsBriefDefault(newGoodsBrief);
+				listGoodsInsert.add(newGoodsBrief);
+				
+				// 绮鹃�夊簱淇℃伅
 				QualityFactory selectionGoods = new QualityFactory();
-
+				selectionGoods.setTaoBaoGoodsBrief(newGoodsBrief);
 				selectionGoods.setCreateUser(admin);
 				selectionGoods.setCreatetime(new Date());
 				selectionGoods.setUpdateUser(admin);
 				selectionGoods.setUpdatetime(new Date());
-
-				selectionGoods.setWeight(50);// 榛樿50
-				selectionGoods.setTaoBaoGoodsBrief(goodsBrief);
 				selectionGoods.setEntryMode(QualityFactory.MODE_MANUAL);// 浜哄伐绛涢��
-				selectionGoods.setGoodsSource(QualityFactory.SOURCE_TAOBAO);// 鏉ユ簮娣樺疂
+				selectionGoods.setGoodsSource(QualityFactory.SOURCE_TAOBAO);// 鏉ユ簮
+				selectionGoods.setWeight((int) (Math.random() * (4000)));
+				listInsertQuality.add(selectionGoods);
 
-				listQuality.add(selectionGoods);
-			} else {
-				// 鏇存柊鍟嗗搧
-				QualityFactory selectionGoods = selectionList.get(0);
-				selectionGoods.setUpdatetime(new Date());
-				qualityFactoryMapper.updateByPrimaryKeySelective(selectionGoods);
-			}
-
-			if (listLabel != null && listLabel.size() > 0) {
-				for (Label label : listLabel) {
-					/* 璐翠笂鏍囩 锛� 宸茶创涓嶅鐞嗗垯 */
-					Long existence = labelGoodsMapper.isExistence(goodsBrief.getId(), label.getId());
-
-					// 璇ュ晢鍝佷笉瀛樺湪姝ゆ爣绛惧垯娣诲姞锛� 鍙嶄箣涓嶅仛澶勭悊
-					if (existence == null || existence == 0l) {
-						// 璐翠笂鏂版爣绛�
+				// 鍟嗗搧鏍囩
+				if (listLabs != null && listLabs.size() > 0) {
+					for (Label lab: listLabs) {
 						LabelGoods lg = new LabelGoods();
-						lg.setLabel(label);
+						lg.setLabel(lab);
 						lg.setCreateUser(admin);
 						lg.setCreatetime(new Date());
-						lg.setTaoBaoGoodsBrief(goodsBrief);
-						listLabelGoods.add(lg);
+						lg.setTaoBaoGoodsBrief(newGoodsBrief);
+						listLabelAdd.add(lg);
 					}
 				}
 			}
-
+		}
+		// 鎻掑叆娣樺疂鍟嗗搧
+		if (listGoodsInsert.size() > 0) {
+			taoBaoGoodsBriefService.insertBatch(listGoodsInsert);
+		}
+				
+		// 鏇存柊娣樺疂鍟嗗搧
+		if (listGoodsUpdate.size() > 0) {
+			taoBaoGoodsUpdateService.updateTaoBaoGoods(listGoodsUpdate);
+		}
+		
+		// 鍔犲叆绮鹃�夊簱
+		if (listInsertQuality.size() > 0) {
+			qualityFactoryMapper.insertBatch(listInsertQuality);
 		}
 
-		if (listQuality.size() > 0) {
-			qualityFactoryMapper.insertBatch(listQuality);
+		// 娣诲姞鏍囩
+		if (listLabelAdd.size() > 0) {
+			labelGoodsMapper.insertBatch(listLabelAdd);
 		}
-
-		if (listLabelGoods.size() > 0) {
-			labelGoodsMapper.insertBatch(listLabelGoods);
-		}
-
+	
 	}
 
 	@Override

--
Gitblit v1.8.0