From 69bee82b81626b82b7f39f0e459e4f56b1699b51 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 13 三月 2019 12:02:16 +0800
Subject: [PATCH] 正式数据库修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java |  344 +++++++++++++++++++++++++-------------------------------
 1 files changed, 154 insertions(+), 190 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 2f5e525..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
@@ -28,6 +28,7 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 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;
@@ -40,6 +41,7 @@
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.quality.QualityFactoryVO;
 
 @Service
 public class QualityFactoryServiceImpl implements QualityFactoryService {
@@ -70,12 +72,10 @@
 	@Resource
 	private TaoBaoGoodsUpdateService taoBaoGoodsUpdateService;
 
-
 	@Override
 	public int updateByPrimaryKeySelective(QualityFactory record) throws QualityFactoryException {
 		return qualityFactoryMapper.updateByPrimaryKeySelective(record);
 	}
-
 
 	@Override
 	public void deleteByTbAuctionId(Long auctionId) {
@@ -147,7 +147,6 @@
 		labelGoodsMapper.deleteBatchByGoodsId(listGid);
 	}
 
-
 	@Override
 	@Transactional
 	public void deleteByGoodsId(List<String> ids) throws QualityFactoryException {
@@ -158,7 +157,6 @@
 			}
 		}
 	}
-
 
 	@Override
 	public QualityFactory selectByPrimaryKey(Long id) throws QualityFactoryException {
@@ -177,29 +175,13 @@
 	}
 
 	@Override
-	public List<QualityFactory> query(long start, int count, String key, Integer totalSales, Integer price,
-			Integer tkRate, Integer propor, Integer goodsSource, Integer days, Integer startZkPrice, Integer endZkPrice,
-			Integer startBiz30day, Integer endBiz30day, Integer startWeight, Integer endWeight, Integer startTkRate,
-			Integer endTkRate, Integer startAmount, Integer endAmount, Integer hasCoupon, Integer freeShipment,
-			Integer isPrepay, Integer payRate30, Integer goodRate, Integer rfdRate, Integer startPropor,
-			Integer endPropor, Long gcid, Integer keyType) throws QualityFactoryException {
-
-		return qualityFactoryMapper.query(start, count, key, totalSales, price, tkRate, propor, goodsSource, days,
-				startZkPrice, endZkPrice, startBiz30day, endBiz30day, startWeight, endWeight, startTkRate, endTkRate,
-				startAmount, endAmount, hasCoupon, freeShipment, isPrepay, payRate30, goodRate, rfdRate, startPropor,
-				endPropor, gcid, keyType);
+	public List<QualityFactory> query(QualityFactoryVO qualityFactoryVO) throws QualityFactoryException {
+		return qualityFactoryMapper.query(qualityFactoryVO);
 	}
 
 	@Override
-	public long queryCount(String key, Integer goodsSource, Integer days, Integer startZkPrice, Integer endZkPrice,
-			Integer startBiz30day, Integer endBiz30day, Integer startWeight, Integer endWeight, Integer startTkRate,
-			Integer endTkRate, Integer startAmount, Integer endAmount, Integer hasCoupon, Integer freeShipment,
-			Integer isPrepay, Integer payRate30, Integer goodRate, Integer rfdRate, Integer startPropor,
-			Integer endPropor, Long gcid, Integer keyType) throws QualityFactoryException {
-
-		return qualityFactoryMapper.queryCount(key, goodsSource, days, startZkPrice, endZkPrice, startBiz30day,
-				endBiz30day, startWeight, endWeight, startTkRate, endTkRate, startAmount, endAmount, hasCoupon,
-				freeShipment, isPrepay, payRate30, goodRate, rfdRate, startPropor, endPropor, gcid, keyType);
+	public long queryCount(QualityFactoryVO qualityFactoryVO) throws QualityFactoryException {
+		return qualityFactoryMapper.queryCount(qualityFactoryVO);
 	}
 
 	@Override
@@ -219,102 +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);
-				}
-
-			}
-		}
-
-		List<String> strList = new ArrayList<String>();
-		for (Long id : auctionIdList) {
-			strList.add(id + "");
-		}
-		List<TaoBaoGoodsBrief> existList = taoBaoGoodsBriefRecordMapper.queryGoodsByAuctionId(strList);
-
-		List<QualityFactory> addList = new ArrayList<QualityFactory>();
-		List<LabelGoods> addLabelList = new ArrayList<LabelGoods>();
-
-		for (Long auctionId : auctionIdList) {
-
-			boolean process = false;
-			TaoBaoGoodsBrief goodsBrief = null;
-
-			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) {
+	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 鑾峰彇娣樺疂鍟嗗搧 */
-				goodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
+				TaoBaoGoodsBrief goodsBrief = TaoKeApiUtil.searchGoodsDetail(auctionId);
+				if (goodsBrief != null) {
+					listAddGoods.add(goodsBrief);
+				}
 			}
+		}
+	}
 
-			if (goodsBrief == null)
-				continue;
+	
+	@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<TaoBaoGoodsBrief> taoBaoGoodsBriefList = taoBaoGoodsBriefService.queryByAuctionId(auctionId);
+		List<QualityFactory> listQuality = new ArrayList<QualityFactory>();
+		List<LabelGoods> listLabelGoods = new ArrayList<LabelGoods>();
 
-			if (taoBaoGoodsBriefList != null && taoBaoGoodsBriefList.size() > 0) {
+		for (TaoBaoGoodsBrief goodsBrief: listTaoBaoGoods) {
 
-				TaoBaoGoodsBrief currentGoodsBrief = taoBaoGoodsBriefList.get(0);
+			// 鏈湴鏄惁宸插瓨鍦ㄦ鍟嗗搧
+			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);
-				
 			} 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();
@@ -329,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);
@@ -337,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) {
@@ -350,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,
@@ -419,22 +361,24 @@
 		return qualityFactoryMapper.queryNeedUpdate(start, count, hour);
 	}
 
-	
 	/**
 	 * 鑾峰彇缂撳瓨
-	 * @param key 閿�
-	 * @param title 鏍囩鍚嶇О
+	 * 
+	 * @param key
+	 *            閿�
+	 * @param title
+	 *            鏍囩鍚嶇О
 	 * @return
 	 */
-	public String getLabelIdByRedis (String key, String title) throws Exception {
-		
+	public String getLabelIdByRedis(String key, String title) throws Exception {
+
 		String value = redisManager.getCommonString(key);
-		
+
 		if (StringUtil.isNullOrEmpty(value)) {
-			
+
 			// id涓虹┖鏃剁郴缁熻繘琛屾煡璇�
 			List<Label> list9K9 = labelService.selectByTitle(title);
-			
+
 			if (list9K9 != null && list9K9.size() > 0) {
 				Long id = list9K9.get(0).getId();
 				if (id != null) {
@@ -444,10 +388,10 @@
 				}
 			}
 		}
-		
+
 		return value;
 	}
-	
+
 	@Override
 	@Transactional
 	public void updateGoodsFactory(List<Long> listId) {
@@ -461,9 +405,11 @@
 			return;
 		}
 
-		
+		// 鍒犻櫎绮鹃�夊簱
 		List<Long> listDeleteQuality = new ArrayList<Long>();
-		
+		// 鍒犻櫎鏍囩
+		List<Long> listDeleteLabel = new ArrayList<Long>();
+
 		List<QualityFactory> listUpdateQuality = new ArrayList<QualityFactory>();
 
 		List<TaoBaoGoodsBrief> listUpdateGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
@@ -473,37 +419,37 @@
 		List<LabelGoods> listLabelAdd = new ArrayList<LabelGoods>();
 
 		try {
-			
+
 			List<Long> list9Class = new ArrayList<Long>();
 			Map<String, Label> map = new HashMap<String, Label>();
-			
+
 			if (Constant.IS_OUTNET) {
-				
+
 				String value9K9 = getLabelIdByRedis("lab-9K9", "9.9");
 				String value19K9 = getLabelIdByRedis("lab-19K9", "19.9");
 				String value29K9 = getLabelIdByRedis("lab-29K9", "29.9");
 				String value49K9 = getLabelIdByRedis("lab-49K9", "49.9");
-				
+
 				if (!StringUtil.isNullOrEmpty(value9K9)) {
 					map.put("9.9", new Label(Long.parseLong(value9K9)));
-					list9Class.add(Long.parseLong(value9K9));	
+					list9Class.add(Long.parseLong(value9K9));
 				}
-				
+
 				if (!StringUtil.isNullOrEmpty(value19K9)) {
 					map.put("19.9", new Label(Long.parseLong(value19K9)));
-					list9Class.add(Long.parseLong(value19K9));	
+					list9Class.add(Long.parseLong(value19K9));
 				}
-				
+
 				if (!StringUtil.isNullOrEmpty(value29K9)) {
 					map.put("29.9", new Label(Long.parseLong(value29K9)));
-					list9Class.add(Long.parseLong(value29K9));	
+					list9Class.add(Long.parseLong(value29K9));
 				}
-				
+
 				if (!StringUtil.isNullOrEmpty(value49K9)) {
 					map.put("49.9", new Label(Long.parseLong(value49K9)));
-					list9Class.add(Long.parseLong(value49K9));	
+					list9Class.add(Long.parseLong(value49K9));
 				}
-				
+
 			}
 
 			listQuality.parallelStream().forEach(quality -> {
@@ -540,6 +486,8 @@
 
 						/* 鏃犲埜淇℃伅 绉婚櫎绮鹃�夊簱 */
 						listDeleteQuality.add(quality.getId());
+						// 绉婚櫎鏍囩
+						listDeleteLabel.add(goods.getId());
 
 					} else {
 						/* 鏃犲埜淇℃伅 绉婚櫎绮鹃�夊簱 */
@@ -548,13 +496,17 @@
 
 							// 绉婚櫎绮鹃�夊簱
 							listDeleteQuality.add(quality.getId());
+							// 绉婚櫎鏍囩
+							listDeleteLabel.add(goods.getId());
 
 						} else {
 							/* 鏇存柊鍟嗗搧淇℃伅 */
 							TaoBaoGoodsBrief updateGoods = taoBaoGoodsUpdateService
 									.getUpdateTaoBaoGoodsBrief(newGoodsBrief);
+
 							updateGoods.setId(id);
 							taoBaoGoodsBriefService.setGoodsBriefDefault(updateGoods);
+
 							listUpdateGoodsBrief.add(updateGoods);
 
 							/* 鏇存柊绮鹃�夊簱 淇℃伅鏃堕棿 */
@@ -592,7 +544,7 @@
 
 			// 鏇存柊鍟嗗搧淇℃伅
 			if (listUpdateGoodsBrief.size() > 0) {
-				taoBaoGoodsBriefService.updateBatchSelective(listUpdateGoodsBrief);
+				taoBaoGoodsUpdateService.updateTaoBaoGoods(listUpdateGoodsBrief);
 			}
 
 			// 鏇存柊绮鹃�夊簱
@@ -603,6 +555,13 @@
 			// 鎵归噺鍒犻櫎绮鹃�夊簱
 			if (listDeleteQuality.size() > 0) {
 				qualityFactoryMapper.deleteBatchByPrimaryKey(listDeleteQuality);
+				// 鎵归噺鍒犻櫎闄愭椂鎶㈣喘
+				qualityFlashSaleMapper.deleteBatchByQualityID(listDeleteQuality);
+			}
+
+			// 鍒犻櫎瀵瑰簲鏍囩
+			if (listDeleteLabel.size() > 0) {
+				labelGoodsMapper.deleteBatchByGoodsId(listDeleteLabel);
 			}
 
 			// 娣诲姞鏍囩
@@ -623,7 +582,6 @@
 			}
 		}
 	}
-
 
 	@Override
 	public void autoInsertOrUpadateStorage(List<TaoBaoGoodsBrief> goodsList, List<Label> listLabs,
@@ -660,8 +618,6 @@
 			}
 		}
 
-		
-		
 		// 鍟嗗搧id闆嗗悎
 		List<Long> listSystemTBid = new ArrayList<Long>();
 
@@ -677,7 +633,6 @@
 		List<QualityFactory> listAddInsert = new ArrayList<QualityFactory>();
 		// 杩涘叆绮鹃�夊晢鍝佸垪琛�
 		List<QualityFactory> listAddUpdate = new ArrayList<QualityFactory>();
-		
 
 		// 鎻掑叆鍟嗗搧娣樺疂ID闆嗗悎
 		List<Long> listAuctionId = new ArrayList<Long>();
@@ -738,10 +693,10 @@
 
 			/* 鍟嗗搧宸插瓨鍦ㄦ暟鎹簱 */
 			if (isExist && systemId != null) {
-				
+
 				// 鐢ㄤ簬纭畾鏄惁瀛樺湪绮鹃�夊簱
 				listSystemTBid.add(systemId);
-				
+
 				// 鏇存柊鍟嗗搧淇℃伅
 				TaoBaoGoodsBrief updateGoods = taoBaoGoodsUpdateService.getUpdateTaoBaoGoodsBrief(newGoodsBrief);
 				// 璁剧疆涓婚敭id
@@ -751,41 +706,42 @@
 				updateGoods.setCreatetime(date);
 				updateGoods.setUpdatetime(date);
 				taoBaoGoodsBriefService.setGoodsBriefDefault(updateGoods);
-				
+
 				listGoodsUpdate.add(updateGoods);
 
-				
 				Long has9k9ID = null;
 
-				/* 璐翠笂鏍囩   */
+				/* 璐翠笂鏍囩 */
 				if (listLabs != null && listLabs.size() > 0) {
 
 					for (Label label : listLabs) {
-						
-						//  鍖呭惈 9.9/19.9/29.9/49.9 銆佸悓鏃舵潵婧愭窐瀹濇帹鑽�: 鐢变簬鑾峰彇璇︽儏涓庢帹鑽愭帴鍙g殑鍒镐俊鎭瓨鍦ㄥ嚭鍏�  浠ユ渶鍚庤鎯呬负鍑�
-						if (list9Class.contains(label.getId()) && autoRule.isCalss9k9() && QualityFactory.SOURCE_TAOBAO_MATERIAL == autoRule.getGoodsSource()) {
-							
-							/* 鑾峰彇鍟嗗搧璇︽儏鍚庤绠楁槸鍚﹀睘浜� 9k9绯诲垪  鍔犲叆瀵瑰簲鐨勬爣绛�*/
+
+						// 鍖呭惈 9.9/19.9/29.9/49.9 銆佸悓鏃舵潵婧愭窐瀹濇帹鑽�: 鐢变簬鑾峰彇璇︽儏涓庢帹鑽愭帴鍙g殑鍒镐俊鎭瓨鍦ㄥ嚭鍏�
+						// 浠ユ渶鍚庤鎯呬负鍑�
+						if (list9Class.contains(label.getId()) && autoRule.isCalss9k9()
+								&& QualityFactory.SOURCE_TAOBAO_MATERIAL == autoRule.getGoodsSource()) {
+
+							/* 鑾峰彇鍟嗗搧璇︽儏鍚庤绠楁槸鍚﹀睘浜� 9k9绯诲垪 鍔犲叆瀵瑰簲鐨勬爣绛� */
 							LabelGoods labelGds = screen9K9(updateGoods, map);
-						
+
 							if (labelGds != null) {
-								
+
 								Label label9k = labelGds.getLabel();
 								Long id = label9k.getId();
-								
+
 								long existence = labelGoodsMapper.isExistence(systemId, id);
 								if (existence <= 0) {
 									// 涓嶅瓨鍦ㄥ搴旀爣绛�
 									listLabelAdd.add(labelGds);
 								} else {
 									// 宸插瓨鍦�
-									has9k9ID = id; 
+									has9k9ID = id;
 								}
-								
+
 							}
-							
+
 						} else {
-							
+
 							long existence = labelGoodsMapper.isExistence(systemId, label.getId());
 							if (existence <= 0) {
 								// 璐翠笂鏂版爣绛�
@@ -797,54 +753,52 @@
 
 								listLabelAdd.add(lg);
 							} else {
-								if(list9Class.contains(label.getId())){
+								if (list9Class.contains(label.getId())) {
 									// 宸插瓨鍦�
-									has9k9ID = label.getId(); 
+									has9k9ID = label.getId();
 								}
 							}
 						}
 					}
 				}
 
-				
 				/* 鍒ゆ柇鏄惁宸茬粡璐翠笂鏍囩 9k9鏍囩 */
 				if (list9Class.size() > 0) {
-					
+
 					List<LabelGoods> listGlid = labelGoodsMapper.listQuery9k9Class(systemId, list9Class);
-					
+
 					if (listGlid != null && listGlid.size() > 0) {
-						
+
 						if (has9k9ID == null && !autoRule.isCalss9k9()) {
-							// 闈�9k9鍏ュ簱瑙勫垯  鑻ュ晢鍝佷俊鎭彉鍖� 瀵瑰簲鐨勬爣绛炬牴鎹环鏍� 淇敼
+							// 闈�9k9鍏ュ簱瑙勫垯 鑻ュ晢鍝佷俊鎭彉鍖� 瀵瑰簲鐨勬爣绛炬牴鎹环鏍� 淇敼
 							LabelGoods labelGds = screen9K9(updateGoods, map);
 							if (labelGds != null) {
 								Label label9k = labelGds.getLabel();
 								Long id = label9k.getId();
-								
+
 								long existence = labelGoodsMapper.isExistence(systemId, id);
 								if (existence <= 0) {
 									// 涓嶅瓨鍦ㄥ搴旀爣绛�
 									listLabelAdd.add(labelGds);
 								} else {
 									// 宸插瓨鍦�
-									has9k9ID = id; 
+									has9k9ID = id;
 								}
 							}
 						}
-						
-						
+
 						// 娓呯┖ 9K9绯诲垪鏍囩
 						for (LabelGoods labelGoods : listGlid) {
 							Label label = labelGoods.getLabel();
 							if (has9k9ID != null && has9k9ID.equals(label.getId())) {
 								continue;
 							}
-							
+
 							list9ClassDelete.add(labelGoods.getId());
 						}
 					}
 				}
-				
+
 			} else {
 				newGoodsBrief.setId(null);
 				newGoodsBrief.setState(0); // 鐘舵�佸惎鐢�
@@ -860,19 +814,20 @@
 
 				// 璐翠笂鏍囩
 				if (listLabs != null && listLabs.size() > 0) {
-					
+
 					for (Label label : listLabs) {
-						
-						// 鍖呭惈 9.9/19.9/29.9/49.9 銆佸悓鏃舵潵婧愭窐瀹濇帹鑽�: 鐢变簬鑾峰彇璇︽儏涓庢帹鑽愭帴鍙g殑鍒镐俊鎭瓨鍦ㄥ嚭鍏�  浠ユ渶鍚庤鎯呬负鍑�
-						if (list9Class.contains(label.getId()) && autoRule.isCalss9k9() && 
-								QualityFactory.SOURCE_TAOBAO_MATERIAL == autoRule.getGoodsSource()) {
-							/*  鍔犲叆瀵瑰簲鐨�9.9/19.9/29.9/49.9 鏍囩*/
+
+						// 鍖呭惈 9.9/19.9/29.9/49.9 銆佸悓鏃舵潵婧愭窐瀹濇帹鑽�: 鐢变簬鑾峰彇璇︽儏涓庢帹鑽愭帴鍙g殑鍒镐俊鎭瓨鍦ㄥ嚭鍏�
+						// 浠ユ渶鍚庤鎯呬负鍑�
+						if (list9Class.contains(label.getId()) && autoRule.isCalss9k9()
+								&& QualityFactory.SOURCE_TAOBAO_MATERIAL == autoRule.getGoodsSource()) {
+							/* 鍔犲叆瀵瑰簲鐨�9.9/19.9/29.9/49.9 鏍囩 */
 							LabelGoods labelGds = screen9K9(newGoodsBrief, map);
-							
+
 							if (labelGds != null) {
 								listLabelAdd.add(labelGds);
 							}
-							
+
 						} else {
 							// 璐翠笂鏂版爣绛�
 							LabelGoods lg = new LabelGoods();
@@ -882,9 +837,9 @@
 							lg.setTaoBaoGoodsBrief(newGoodsBrief);
 							listLabelAdd.add(lg);
 						}
-						
+
 					}
-					
+
 				}
 			}
 		}
@@ -944,8 +899,11 @@
 				}
 
 			}
-
-			taoBaoGoodsBriefService.updateBatchSelective(listGoodsUpdate);
+			try {
+				taoBaoGoodsUpdateService.updateTaoBaoGoods(listGoodsUpdate);
+			} catch (TaobaoGoodsUpdateException e) {
+				System.out.println(e.getMsg());
+			}
 		}
 
 		// 娣樺疂鍟嗗搧鎻掑叆鏁版嵁搴�
@@ -1012,29 +970,29 @@
 
 		// 鏌ヨ宸插瓨鍦ㄦ樉绀洪檺鏃舵姠璐殑鍟嗗搧
 		List<QualityFlashSale> listQuery = qualityFlashSaleService.listQueryByQualityID(listQFId);
-		
+
 		if (listQuery == null || listQuery.size() == 0) {
 			// 鍏ㄩ儴鏂板鍏ュ簱
 			int i = 0;
 			for (Long qfId : listQFId) {
 				listFlashSale.add(getNewQualityFlashSale(qfId, i, startWeight, endWeight, goodsSource));
 			}
-			
+
 		} else {
 			int i = 0;
 			boolean exist = false;
-			
+
 			for (Long qfId : listQFId) {
-				
+
 				for (QualityFlashSale flashSale : listQuery) {
 					QualityFactory qualityFactory = flashSale.getQualityFactory();
-					
+
 					if (qfId.equals(qualityFactory.getId())) {
 						exist = true;
 
-						//鍗冲皢鍑嗗鏃堕棿娈垫椂闂�
-						//int nowType = qualityFlashSaleService.getQueryType();
-						//flashSale.setType(nowType);
+						// 鍗冲皢鍑嗗鏃堕棿娈垫椂闂�
+						// int nowType = qualityFlashSaleService.getQueryType();
+						// flashSale.setType(nowType);
 
 						double weight = startWeight + (Math.random() * ((endWeight - startWeight) + 1));
 						flashSale.setWeight(weight);
@@ -1049,7 +1007,7 @@
 					listFlashSale.add(getNewQualityFlashSale(qfId, i, startWeight, endWeight, goodsSource));
 				}
 			}
-			
+
 		}
 
 		// 鎻掑叆闄愭椂鎶㈣喘
@@ -1087,8 +1045,8 @@
 			flashSale.setWeight(weight);
 		}
 
-		//int nowType = qualityFlashSaleService.getNowType();
-		//flashSale.setType(nowType);
+		// int nowType = qualityFlashSaleService.getNowType();
+		// flashSale.setType(nowType);
 
 		flashSale.setCreatetime(new Date());
 		flashSale.setUpdatetime(new Date());
@@ -1300,4 +1258,10 @@
 		return lg;
 	}
 
+	@Override
+	public List<QualityFactory> listByMinSalesCountOrderByCreateTimeDesc(int salesCount, int page, int pageSize) {
+		return qualityFactoryMapper.listByMinSalesCountOrderByCreateTimeDesc(salesCount, (page - 1) * pageSize,
+				pageSize);
+	}
+
 }

--
Gitblit v1.8.0