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 | 117 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 91 insertions(+), 26 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 df349e6..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,15 +12,17 @@ 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.goods.CommonGoods; +import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.activity.ActivityService; import com.yeshi.fanli.service.inter.goods.CommonGoodsService; -import com.yeshi.fanli.service.inter.goods.RecommendSectionGoodsService; 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; @@ -29,8 +31,6 @@ @Service public class TaoBaoGoodsUpdateServiceImpl implements TaoBaoGoodsUpdateService { - @Resource - private RecommendSectionGoodsService recommendSectionGoodsService; @Resource private ActivityService activityService; @@ -43,6 +43,12 @@ @Resource private CommonGoodsService commonGoodsService; + + @Resource + private ShareHotGoodsService shareHotGoodsService; + + @Resource + private TLJBuyGoodsService tljBuyGoodsService; @Override public void startUpdate() { @@ -61,7 +67,7 @@ } } catch (TaobaoGoodsDownException e) { - downTaoBaoGoods(goods.getAuctionId()); + offlineTaoBaoGoods(goods.getAuctionId()); } catch (Exception e) { } @@ -71,11 +77,8 @@ @Transactional @Override public void deleteTaoBaoGoods(Long auctionId) { - // 鍒犻櫎棣栭〉鎺ㄨ崘鏁版嵁 - recommendSectionGoodsService.deleteRecommendSectionGoodsByTbAuctionId(auctionId); - // 鍒犻櫎绮鹃�夊簱鐩稿叧鐨勬暟鎹� - qualityFactoryService.deleteByTbAuctionId(auctionId); + qualityFactoryService.deleteByTaoBaoGoodsId(auctionId); // 鍒犻櫎鍟嗗搧鏈韩鏁版嵁 taoBaoGoodsBriefMapper.deleteByAuctionId(auctionId); @@ -83,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 @@ -105,6 +113,8 @@ if (goods.getAuctionId() == null || goods.getAuctionId() == 0) throw new TaobaoGoodsUpdateException(2, "鍟嗗搧ID涓虹┖"); + // 璁剧疆鍟嗗搧姝e父涓婄嚎 + goods.setState(0); // 鏇存柊鏀惰棌淇℃伅 try { commonGoodsService.updateCommonGoods(CommonGoodsFactory.create(goods)); @@ -112,20 +122,26 @@ 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) { @@ -146,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()); @@ -183,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