From 8b37d2f16d4aa7c7ce19829b74307ae0072b127f Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 25 二月 2019 10:44:55 +0800
Subject: [PATCH] 1.5.1  奖励券、免单券

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java |  124 ++++++++++++++--------------------------
 1 files changed, 44 insertions(+), 80 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..a77aa6f 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
@@ -201,98 +201,61 @@
 
 	@Override
 	@Transactional
-	public void addBatch(List<Long> auctionIdList, 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);
+	public void addBatchGoodsByTaoBaoId(List<Long> listTaoBaoId, String lableNames, AdminUser admin) 
+			throws Exception {
+		
+		List<TaoBaoGoodsBrief> listAddGoods = new ArrayList<TaoBaoGoodsBrief>();
+		if (listTaoBaoId != null && listTaoBaoId.size() > 0) {
+			for (Long auctionId: listTaoBaoId) {
+				/* 鏍规嵁auctionId 鑾峰彇娣樺疂鍟嗗搧 */
+				TaoBaoGoodsBrief goodsBrief = TaoKeApiUtil.searchGoodsDetail(auctionId);
+				if (goodsBrief != null) {
+					listAddGoods.add(goodsBrief);
 				}
-
 			}
 		}
+	}
 
-		List<TaoBaoGoodsBrief> existList = taoBaoGoodsBriefRecordMapper.queryByAuctionIdList(auctionIdList);
+	
+	@Override
+	@Transactional
+	public void addBatchTaoBaoGoods(List<TaoBaoGoodsBrief> listTaoBaoGoods, String lableNames, AdminUser admin) throws Exception {
+		
+		if (listTaoBaoGoods == null || listTaoBaoGoods.size() == 0) {
+			throw new Exception("鏈壘鍒板尮閰嶇殑鍟嗗搧");
+		}
+		
+		// 鍒涘缓鏍囩
+		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 +270,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 +278,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,23 +291,24 @@
 						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);
 		}
 
 	}
 
+	
 	@Override
 	@Transactional
 	public void setWeightBatch(List<Long> idList, AdminUser admin, Integer weight, Integer weightSmall,

--
Gitblit v1.8.0