From ad9fbd2c18f280ef9bba47f28353d367cf2d94e8 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 14 五月 2019 11:28:03 +0800
Subject: [PATCH] Merge branch 'div_12'

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java |  119 +++++++++++++++++------------------------------------------
 1 files changed, 35 insertions(+), 84 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 dbd19ca..b56cc2d 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
@@ -8,16 +8,15 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.transaction.Transactional;
 
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import com.yeshi.fanli.dao.mybatis.TaoBaoClassRelationMapper;
 import com.yeshi.fanli.dao.mybatis.lable.LabelGoodsMapper;
 import com.yeshi.fanli.dao.mybatis.lable.QualityFactoryMapper;
 import com.yeshi.fanli.dao.mybatis.lable.QualityFlashSaleMapper;
 import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper;
-import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefRecordMapper;
 import com.yeshi.fanli.entity.bus.clazz.TaoBaoClassRelation;
 import com.yeshi.fanli.entity.bus.lable.BoutiqueAutoRule;
 import com.yeshi.fanli.entity.bus.lable.Label;
@@ -60,8 +59,6 @@
 	private TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper;
 	@Resource
 	private TaoBaoUnionConfigService taoBaoUnionConfigService;
-	@Resource
-	private TaoBaoGoodsBriefRecordMapper taoBaoGoodsBriefRecordMapper;
 	@Resource
 	private TaoBaoClassRelationMapper taoBaoClassRelationMapper;
 	@Resource
@@ -201,98 +198,44 @@
 
 	@Override
 	@Transactional
-	public void addBatch(List<Long> auctionIdList, String lableNames, AdminUser admin) throws Exception {
+	public void addBatchTaoBaoGoods(List<TaoBaoGoodsBrief> listTaoBaoGoods, String lableNames, AdminUser admin)
+			throws Exception {
 
-		List<Label> listLabs = new ArrayList<Label>();
-
-		if (!StringUtil.isNullOrEmpty(lableNames)) {
-			// 绌烘牸闅斿紑
-			String[] arrtitles = lableNames.split("\\s+");
-			for (String title : arrtitles) {
-				/* 閬嶅巻鏍囩鍚嶇О锛氭煡璇㈡暟鎹簱涓槸鍚﹀凡瀛樺湪 */
-				List<Label> labels = labelService.selectByTitle(title.trim());
-
-				if (labels != null && labels.size() > 0) {
-					Label label = labels.get(0);
-
-					listLabs.add(label);
-				} else {
-					// 鏂板
-					Label label = new Label();
-					label.setTitle(title);// 鍚嶇О
-					label.setEntrymode(Label.MODE_SYSTEM); // 鎵归噺褰曞叆
-					label.setCreatetime(new Date());
-					label.setUpdatetime(new Date());
-					label.setCreateUser(admin);
-					label.setIosClick(0l);
-					label.setAndroidClick(0l);
-					labelService.insertSelective(label);
-
-					listLabs.add(label);
-				}
-
-			}
+		if (listTaoBaoGoods == null || listTaoBaoGoods.size() == 0) {
+			throw new Exception("鏈壘鍒板尮閰嶇殑鍟嗗搧");
 		}
 
-		List<TaoBaoGoodsBrief> existList = taoBaoGoodsBriefRecordMapper.queryByAuctionIdList(auctionIdList);
+		// 鍒涘缓鏍囩
+		List<Label> listLabel = labelService.addBatchByNames(lableNames, admin);
 
-		List<QualityFactory> addList = new ArrayList<QualityFactory>();
-		List<LabelGoods> addLabelList = new ArrayList<LabelGoods>();
+		List<QualityFactory> listQuality = new ArrayList<QualityFactory>();
+		List<LabelGoods> listLabelGoods = new ArrayList<LabelGoods>();
 
-		for (Long auctionId : auctionIdList) {
+		for (TaoBaoGoodsBrief goodsBrief : listTaoBaoGoods) {
 
-			boolean process = false;
-			TaoBaoGoodsBrief goodsBrief = null;
+			// 鏈湴鏄惁宸插瓨鍦ㄦ鍟嗗搧
+			List<TaoBaoGoodsBrief> hasList = taoBaoGoodsBriefService.queryByAuctionId(goodsBrief.getAuctionId());
 
-			if (existList != null && existList.size() > 0) {
-				for (TaoBaoGoodsBrief taoBaoGoodsBrief : existList) {
-					Long aId = taoBaoGoodsBrief.getAuctionId();
-					if (auctionId.equals(aId)) {
-						goodsBrief = taoBaoGoodsBrief;
-						goodsBrief.setId(null);
-						process = true;
-					}
-				}
-			}
-
-			if (!process) {
-				/* 鏍规嵁auctionId 鑾峰彇娣樺疂鍟嗗搧 */
-				goodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
-			}
-
-			if (goodsBrief == null)
-				continue;
-
-			/* 鍒ゆ柇鍟嗗搧 鏄惁宸茬粡瀛樺湪鏁版嵁搴� */
-			List<TaoBaoGoodsBrief> taoBaoGoodsBriefList = taoBaoGoodsBriefService.queryByAuctionId(auctionId);
-
-			if (taoBaoGoodsBriefList != null && taoBaoGoodsBriefList.size() > 0) {
-
-				TaoBaoGoodsBrief currentGoodsBrief = taoBaoGoodsBriefList.get(0);
-
+			if (hasList != null && hasList.size() > 0) {
+				TaoBaoGoodsBrief currentGoodsBrief = hasList.get(0);
 				goodsBrief.setId(currentGoodsBrief.getId());
 
 				// 鏇存柊鍟嗗搧鏈�鏂颁俊鎭�
 				taoBaoGoodsUpdateService.updateTaoBaoGoods(goodsBrief);
-
 			} else {
-
-				// 鎻掑叆鏈湴鏁版嵁搴�
 				goodsBrief.setId(null);
 				goodsBrief.setState(0);
 				goodsBrief.setCreatetime(new Date());
 				goodsBrief.setUpdatetime(new Date());
-				// 闈炵┖椤� 澶勭悊
+				// 闈炵┖椤� 璁剧疆榛樿鍊�
 				setTaoBaoGoodsBriefDefault(goodsBrief);
-
+				// 淇濆瓨鑷虫湰鍦�
 				taoBaoGoodsBriefService.insertSelective(goodsBrief);
 			}
 
 			// 鏄惁宸插叆搴�
-			Long id = goodsBrief.getId();
-			List<QualityFactory> selectionList = qualityFactoryMapper.queryByGoodsId(id);
+			List<QualityFactory> selectionList = qualityFactoryMapper.queryByGoodsId(goodsBrief.getId());
 
-			/* 杩涘叆绮鹃�夊晢鍝佸簱 */
 			if (selectionList == null || selectionList.size() == 0) {
 				// 娣诲姞鑷崇簿閫夊晢鍝佸簱
 				QualityFactory selectionGoods = new QualityFactory();
@@ -307,7 +250,7 @@
 				selectionGoods.setEntryMode(QualityFactory.MODE_MANUAL);// 浜哄伐绛涢��
 				selectionGoods.setGoodsSource(QualityFactory.SOURCE_TAOBAO);// 鏉ユ簮娣樺疂
 
-				addList.add(selectionGoods);
+				listQuality.add(selectionGoods);
 			} else {
 				// 鏇存柊鍟嗗搧
 				QualityFactory selectionGoods = selectionList.get(0);
@@ -315,10 +258,10 @@
 				qualityFactoryMapper.updateByPrimaryKeySelective(selectionGoods);
 			}
 
-			if (listLabs.size() > 0) {
-				for (Label label : listLabs) {
+			if (listLabel != null && listLabel.size() > 0) {
+				for (Label label : listLabel) {
 					/* 璐翠笂鏍囩 锛� 宸茶创涓嶅鐞嗗垯 */
-					Long existence = labelGoodsMapper.isExistence(id, label.getId());
+					Long existence = labelGoodsMapper.isExistence(goodsBrief.getId(), label.getId());
 
 					// 璇ュ晢鍝佷笉瀛樺湪姝ゆ爣绛惧垯娣诲姞锛� 鍙嶄箣涓嶅仛澶勭悊
 					if (existence == null || existence == 0l) {
@@ -328,19 +271,19 @@
 						lg.setCreateUser(admin);
 						lg.setCreatetime(new Date());
 						lg.setTaoBaoGoodsBrief(goodsBrief);
-
-						addLabelList.add(lg);
+						listLabelGoods.add(lg);
 					}
 				}
 			}
+
 		}
 
-		if (addList.size() > 0) {
-			qualityFactoryMapper.insertBatch(addList);
+		if (listQuality.size() > 0) {
+			qualityFactoryMapper.insertBatch(listQuality);
 		}
 
-		if (addLabelList.size() > 0) {
-			labelGoodsMapper.insertBatch(addLabelList);
+		if (listLabelGoods.size() > 0) {
+			labelGoodsMapper.insertBatch(listLabelGoods);
 		}
 
 	}
@@ -637,6 +580,7 @@
 				try {
 					TaoBaoGoodsBrief taoBaoGoodsBrief = TaoKeApiUtil.searchGoodsDetail(goods.getAuctionId());
 					if (taoBaoGoodsBrief != null) {
+
 						listGoodsBrief.add(taoBaoGoodsBrief);
 					}
 
@@ -654,6 +598,13 @@
 			}
 		}
 
+		for (int i = 0; i < goodsList.size(); i++) {
+			if (goodsList.get(i).getMaterialLibType() != null && goodsList.get(i).getMaterialLibType() == 0) {
+				goodsList.remove(i);
+				i--;
+			}
+		}
+
 		// 鍟嗗搧id闆嗗悎
 		List<Long> listSystemTBid = new ArrayList<Long>();
 

--
Gitblit v1.8.0