From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 30 七月 2019 09:07:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java |  128 +++++++++++++++++++++++++++++++++---------
 1 files changed, 100 insertions(+), 28 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java
index 035b056..4a5f1a1 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java
@@ -12,22 +12,25 @@
 
 import com.google.gson.Gson;
 import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper;
+import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.exception.goods.CommonGoodsException;
 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.activity.ActivityService;
-import com.yeshi.fanli.service.inter.goods.CollectionGoodsService;
-import com.yeshi.fanli.service.inter.goods.RecommendSectionGoodsService;
+import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
 import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
+import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
 import com.yeshi.fanli.util.BeanUtil;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.factory.CommonGoodsFactory;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 
 @Service
 public class TaoBaoGoodsUpdateServiceImpl implements TaoBaoGoodsUpdateService {
-	@Resource
-	private RecommendSectionGoodsService recommendSectionGoodsService;
 
 	@Resource
 	private ActivityService activityService;
@@ -39,7 +42,13 @@
 	private TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper;
 
 	@Resource
-	private CollectionGoodsService collectionGoodsService;
+	private CommonGoodsService commonGoodsService;
+
+	@Resource
+	private ShareHotGoodsService shareHotGoodsService;
+
+	@Resource
+	private TLJBuyGoodsService tljBuyGoodsService;
 
 	@Override
 	public void startUpdate() {
@@ -58,7 +67,7 @@
 				}
 
 			} catch (TaobaoGoodsDownException e) {
-				downTaoBaoGoods(goods.getAuctionId());
+				offlineTaoBaoGoods(goods.getAuctionId());
 			} catch (Exception e) {
 
 			}
@@ -68,11 +77,8 @@
 	@Transactional
 	@Override
 	public void deleteTaoBaoGoods(Long auctionId) {
-		// 鍒犻櫎棣栭〉鎺ㄨ崘鏁版嵁
-		recommendSectionGoodsService.deleteRecommendSectionGoodsByTbAuctionId(auctionId);
-
 		// 鍒犻櫎绮鹃�夊簱鐩稿叧鐨勬暟鎹�
-		qualityFactoryService.deleteByTbAuctionId(auctionId);
+		qualityFactoryService.deleteByTaoBaoGoodsId(auctionId);
 
 		// 鍒犻櫎鍟嗗搧鏈韩鏁版嵁
 		taoBaoGoodsBriefMapper.deleteByAuctionId(auctionId);
@@ -80,17 +86,22 @@
 
 	@Transactional
 	@Override
-	public void downTaoBaoGoods(Long auctionId) {
-		// 鍒犻櫎棣栭〉鎺ㄨ崘鏁版嵁
-		recommendSectionGoodsService.deleteRecommendSectionGoodsByTbAuctionId(auctionId);
+	public void offlineTaoBaoGoods(Long auctionId) {
 		// 鏇存柊鍔ㄦ�佹暟鎹�
 		activityService.downTaoBaoGoods(auctionId);
 
 		// 鍒犻櫎绮鹃�夊簱鐩稿叧鐨勬暟鎹�
-		qualityFactoryService.deleteByTbAuctionId(auctionId);
+		qualityFactoryService.deleteByTaoBaoGoodsId(auctionId);
 
 		// 鍒犻櫎鍟嗗搧鏈韩鏁版嵁
 		taoBaoGoodsBriefMapper.deleteByAuctionId(auctionId);
+
+		// 鏇存柊绠�鐗堝晢鍝佺姸鎬佷负涓嬫灦
+		commonGoodsService.offlineCommonGoods(auctionId, CommonGoods.GOODS_TYPE_TB);
+
+		// 鍒嗕韩鐖嗘鏁版嵁鍒犻櫎
+		shareHotGoodsService.deleteByGoodsId(auctionId);
+
 	}
 
 	@Transactional
@@ -102,23 +113,35 @@
 		if (goods.getAuctionId() == null || goods.getAuctionId() == 0)
 			throw new TaobaoGoodsUpdateException(2, "鍟嗗搧ID涓虹┖");
 
+		// 璁剧疆鍟嗗搧姝e父涓婄嚎
+		goods.setState(0);
 		// 鏇存柊鏀惰棌淇℃伅
-		collectionGoodsService.updateCollectionGoods(goods);
+		try {
+			commonGoodsService.updateCommonGoods(CommonGoodsFactory.create(goods));
+		} catch (CommonGoodsException e) {
+			e.printStackTrace();
+		}
 
-		List<TaoBaoGoodsBrief> goodsList = taoBaoGoodsBriefMapper.queryByAuctionId(goods.getAuctionId());
-		if (goodsList != null)
-			for (TaoBaoGoodsBrief tb : goodsList) {
-				goods.setId(tb.getId());
-				TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(goods);
-				System.out.println("鏇寸粏淇℃伅:" + new Gson().toJson(updateGoods));
-				taoBaoGoodsBriefMapper.updateByPrimaryKeySelective(updateGoods);
+		TaoBaoGoodsBrief tb = taoBaoGoodsBriefMapper.selectByPrimaryKey(goods.getAuctionId());
+		if (tb != null) {
+			goods.setId(tb.getId());
+			TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(goods);
+			System.out.println("鏇寸粏淇℃伅:" + new Gson().toJson(updateGoods));
+			taoBaoGoodsBriefMapper.updateByPrimaryKeySelective(updateGoods);
+		}
 
-			}
+		// 鏇存柊鍔ㄦ�佸晢鍝�
+		activityService.updateRecommendActivityGoods(goods);
+
+		// 鏇存柊鍒嗕韩搴撶殑鍟嗗搧
+		shareHotGoodsService.updateShareGoods(goods);
+
+		// 鏇存柊鑷喘绔嬪噺搴撳晢鍝�
+		tljBuyGoodsService.updateGoods(goods);
 	}
 
 	@Override
 	public void deleteOutOfDate() {
-		TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper = BeanUtil.getBean(TaoBaoGoodsBriefMapper.class);
 		List<Long> list = taoBaoGoodsBriefMapper
 				.queryCanDeleteGoods(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 2), 0, 2000);
 		for (Long auctionId : list) {
@@ -139,6 +162,7 @@
 		// 鏇存柊鏍囬锛屽晢鍝佸浘鐗囷紝閿�閲忥紝浠锋牸锛屽埜淇℃伅锛岃繑鍒╀俊鎭紝搴楅摵淇℃伅锛屽垎绫讳俊鎭�
 		updateGoods.setTitle(goods.getTitle());
 		updateGoods.setPictUrl(goods.getPictUrl());
+		updateGoods.setPictUrlWhite(goods.getPictUrlWhite());
 		updateGoods.setImgList(goods.getImgList());
 		updateGoods.setBiz30day(goods.getBiz30day());
 		updateGoods.setZkPrice(goods.getZkPrice());
@@ -176,21 +200,69 @@
 		updateGoods.setRootCategoryName(goods.getRootCategoryName());
 		updateGoods.setLeafCatId(goods.getLeafCatId());
 		updateGoods.setLeafName(goods.getLeafName());
+		updateGoods.setMaterialLibType(goods.getMaterialLibType());
 
 		return updateGoods;
 	}
 
 	@Override
 	public void updateTaoBaoGoods(List<TaoBaoGoodsBrief> goodsList) throws TaobaoGoodsUpdateException {
-		if (goodsList == null)
-			return;
+		if (goodsList == null || goodsList.size() == 0)
+			throw new TaobaoGoodsUpdateException(1, "鍟嗗搧鍒楄〃涓虹┖");
+
 		List<TaoBaoGoodsBrief> updateList = new ArrayList<>();
+
 		for (TaoBaoGoodsBrief goods : goodsList) {
-			if (goods.getId() == null || goods.getId() == 0L)
+			if (goods.getId() == null || goods.getId() == 0L) {
 				throw new TaobaoGoodsUpdateException(1, "鍟嗗搧涓婚敭ID涓虹┖");
-			updateList.add(goods);
+			}
+
+			// 闇�瑕佹洿鏂扮殑淇℃伅
+			TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(goods);
+			updateGoods.setCreatetime(goods.getCreatetime());
+			updateList.add(updateGoods);
 		}
+
 		taoBaoGoodsBriefMapper.updateBatchSelective(updateList);
 	}
 
+	@Override
+	public List<Long> listNeedUpdateGoodsId(long start, int count, int hour) {
+		return taoBaoGoodsBriefMapper.listNeedUpdateGoodsId(start, count, hour);
+	}
+
+	@Override
+	public void updateByTaoKeGoodsDetail(Long id) {
+		try {
+			TaoBaoGoodsBrief oldGoods = taoBaoGoodsBriefMapper.selectByPrimaryKey(id);
+			if (oldGoods == null) {
+				return;
+			}
+
+			TaoBaoGoodsBrief newGoods = TaoKeApiUtil.searchGoodsDetail(id);
+			if (newGoods == null) {
+				return;
+			}
+
+			// 鏇存柊绮鹃�夊晢鍝�
+			newGoods.setId(id);
+			TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(newGoods);
+			taoBaoGoodsBriefMapper.updateByPrimaryKeySelective(updateGoods);
+
+			// 鏇存柊鍔ㄦ�佸晢鍝�
+			activityService.updateRecommendActivityGoods(newGoods);
+
+			// 鏇存柊鏀惰棌淇℃伅
+			try {
+				commonGoodsService.updateCommonGoods(CommonGoodsFactory.create(newGoods));
+			} catch (CommonGoodsException e) {
+				e.printStackTrace();
+			}
+
+		} catch (TaobaoGoodsDownException e) {
+			offlineTaoBaoGoods(id);
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
+		}
+	}
 }

--
Gitblit v1.8.0