From f862a844ea7e212f8cc0622b858308e2b91dca2e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 04 七月 2020 16:35:50 +0800 Subject: [PATCH] 后台管理相关Controller注入系统 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java | 638 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 320 insertions(+), 318 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 1228075..2f4a238 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 @@ -40,380 +40,382 @@ @Service public class TaoBaoGoodsUpdateServiceImpl implements TaoBaoGoodsUpdateService { - @Resource - private ActivityGoodsUpdateService activityGoodsUpdateService; + @Resource + private ActivityGoodsUpdateService activityGoodsUpdateService; - @Resource - private QualityFactoryGoodsUpdateService qualityFactoryGoodsUpdateService; + @Resource + private QualityFactoryGoodsUpdateService qualityFactoryGoodsUpdateService; - @Resource - private TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper; + @Resource + private TaoBaoGoodsBriefMapper taoBaoGoodsBriefMapper; - @Resource - private CommonGoodsService commonGoodsService; + @Resource + private CommonGoodsService commonGoodsService; - @Lazy - @Resource - private ShareHotGoodsService shareHotGoodsService; + @Lazy + @Resource + private ShareHotGoodsService shareHotGoodsService; - @Resource - private TLJBuyGoodsUpdateService tljBuyGoodsUpdateService; + @Lazy + @Resource + private TLJBuyGoodsUpdateService tljBuyGoodsUpdateService; - @Resource - private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; + @Resource + private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; - @Resource - private TaoBaoGoodsUpdateDao taoBaoGoodsUpdateDao; + @Resource + private TaoBaoGoodsUpdateDao taoBaoGoodsUpdateDao; - @Resource - private TLJFreeBuyGoodsUpdateService tljFreeBuyGoodsUpdateService; - - @Resource - private GoodsEvaluateService goodsEvaluateService; + @Lazy + @Resource + private TLJFreeBuyGoodsUpdateService tljFreeBuyGoodsUpdateService; + @Lazy + @Resource + private GoodsEvaluateService goodsEvaluateService; - @Override - public void startUpdate() { - // 鏇存柊鏃堕棿瓒呰繃6涓皬鏃剁殑鍋氭洿鏂� - List<TaoBaoGoodsBrief> list = taoBaoGoodsBriefMapper - .queryGoodsByMaxUpdateTime(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 6L), 0, 5000); - for (TaoBaoGoodsBrief goods : list) { - try { - TaoBaoGoodsBrief newGoods = TaoKeApiUtil.searchGoodsDetail(goods.getAuctionId()); - if (newGoods != null) { - try { - updateTaoBaoGoods(newGoods); - } catch (TaobaoGoodsUpdateException e) { - e.printStackTrace(); - } - } + @Override + public void startUpdate() { + // 鏇存柊鏃堕棿瓒呰繃6涓皬鏃剁殑鍋氭洿鏂� + List<TaoBaoGoodsBrief> list = taoBaoGoodsBriefMapper + .queryGoodsByMaxUpdateTime(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 6L), 0, 5000); + for (TaoBaoGoodsBrief goods : list) { + try { + TaoBaoGoodsBrief newGoods = TaoKeApiUtil.searchGoodsDetail(goods.getAuctionId()); + if (newGoods != null) { + try { + updateTaoBaoGoods(newGoods); + } catch (TaobaoGoodsUpdateException e) { + e.printStackTrace(); + } + } - } catch (TaobaoGoodsDownException e) { - offlineTaoBaoGoods(goods.getAuctionId()); - } catch (Exception e) { + } catch (TaobaoGoodsDownException e) { + offlineTaoBaoGoods(goods.getAuctionId()); + } catch (Exception e) { - } - } - } + } + } + } - @Transactional - @Override - public void deleteTaoBaoGoods(Long auctionId) { - // 鍒犻櫎绮鹃�夊簱鐩稿叧鐨勬暟鎹� - qualityFactoryGoodsUpdateService.deleteByTaoBaoGoodsId(auctionId); + @Transactional + @Override + public void deleteTaoBaoGoods(Long auctionId) { + // 鍒犻櫎绮鹃�夊簱鐩稿叧鐨勬暟鎹� + qualityFactoryGoodsUpdateService.deleteByTaoBaoGoodsId(auctionId); - // 鍒犻櫎鍟嗗搧鏈韩鏁版嵁 - taoBaoGoodsBriefMapper.deleteByAuctionId(auctionId); - } + // 鍒犻櫎鍟嗗搧鏈韩鏁版嵁 + taoBaoGoodsBriefMapper.deleteByAuctionId(auctionId); + } - @Transactional - @Override - public void offlineTaoBaoGoods(Long auctionId) { - // 鏇存柊鍔ㄦ�佹暟鎹� - activityGoodsUpdateService.downTaoBaoGoods(auctionId); + @Transactional + @Override + public void offlineTaoBaoGoods(Long auctionId) { + // 鏇存柊鍔ㄦ�佹暟鎹� + activityGoodsUpdateService.downTaoBaoGoods(auctionId); - // 鍒犻櫎绮鹃�夊簱鐩稿叧鐨勬暟鎹� - qualityFactoryGoodsUpdateService.deleteByTaoBaoGoodsId(auctionId); + // 鍒犻櫎绮鹃�夊簱鐩稿叧鐨勬暟鎹� + qualityFactoryGoodsUpdateService.deleteByTaoBaoGoodsId(auctionId); - // 鍒犻櫎鍟嗗搧鏈韩鏁版嵁 - taoBaoGoodsBriefMapper.deleteByAuctionId(auctionId); + // 鍒犻櫎鍟嗗搧鏈韩鏁版嵁 + taoBaoGoodsBriefMapper.deleteByAuctionId(auctionId); - // 鏇存柊绠�鐗堝晢鍝佺姸鎬佷负涓嬫灦 - commonGoodsService.offlineCommonGoods(auctionId, CommonGoods.GOODS_TYPE_TB); + // 鏇存柊绠�鐗堝晢鍝佺姸鎬佷负涓嬫灦 + commonGoodsService.offlineCommonGoods(auctionId, CommonGoods.GOODS_TYPE_TB); - // 鍒嗕韩鐖嗘鏁版嵁鍒犻櫎 - shareHotGoodsService.deleteByGoodsId(auctionId); - - goodsEvaluateService.offlineTaoBaoGoods(auctionId+""); - } + // 鍒嗕韩鐖嗘鏁版嵁鍒犻櫎 + shareHotGoodsService.deleteByGoodsId(auctionId); - @Transactional(rollbackFor = Exception.class) - @Override - public void updateTaoBaoGoods(TaoBaoGoodsBrief goods) throws TaobaoGoodsUpdateException { - if (goods == null) - throw new TaobaoGoodsUpdateException(1, "鍟嗗搧涓虹┖"); + goodsEvaluateService.offlineTaoBaoGoods(auctionId + ""); + } - if (goods.getAuctionId() == null || goods.getAuctionId() == 0) - throw new TaobaoGoodsUpdateException(2, "鍟嗗搧ID涓虹┖"); + @Transactional(rollbackFor = Exception.class) + @Override + public void updateTaoBaoGoods(TaoBaoGoodsBrief goods) throws TaobaoGoodsUpdateException { + if (goods == null) + throw new TaobaoGoodsUpdateException(1, "鍟嗗搧涓虹┖"); - // 璁剧疆鍟嗗搧姝e父涓婄嚎 - goods.setState(0); - // 鏇存柊鏀惰棌淇℃伅 - try { - commonGoodsService.updateCommonGoods(CommonGoodsFactory.create(goods)); - } catch (CommonGoodsException e) { - e.printStackTrace(); - } + if (goods.getAuctionId() == null || goods.getAuctionId() == 0) + throw new TaobaoGoodsUpdateException(2, "鍟嗗搧ID涓虹┖"); - 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); - } + // 璁剧疆鍟嗗搧姝e父涓婄嚎 + goods.setState(0); + // 鏇存柊鏀惰棌淇℃伅 + try { + commonGoodsService.updateCommonGoods(CommonGoodsFactory.create(goods)); + } catch (CommonGoodsException e) { + e.printStackTrace(); + } - // 鏇存柊鍔ㄦ�佸晢鍝� - activityGoodsUpdateService.updateRecommendActivityGoods(goods); + 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); + } - // 鏇存柊鍒嗕韩搴撶殑鍟嗗搧 - shareHotGoodsService.updateShareGoods(goods); + // 鏇存柊鍔ㄦ�佸晢鍝� + activityGoodsUpdateService.updateRecommendActivityGoods(goods); - // 鏇存柊鑷喘绔嬪噺搴撳晢鍝� - tljBuyGoodsUpdateService.updateGoods(goods); + // 鏇存柊鍒嗕韩搴撶殑鍟嗗搧 + shareHotGoodsService.updateShareGoods(goods); - // 鏇存柊鏂颁汉鍏嶅崟搴撳晢鍝� - tljFreeBuyGoodsUpdateService.updateGoods(goods); + // 鏇存柊鑷喘绔嬪噺搴撳晢鍝� + tljBuyGoodsUpdateService.updateGoods(goods); - goodsEvaluateService.updateTaoBaoGoods(goods); - - // 鎬昏鍟嗗搧鏇存柊 - updateImplTBGoods(goods); - } + // 鏇存柊鏂颁汉鍏嶅崟搴撳晢鍝� + tljFreeBuyGoodsUpdateService.updateGoods(goods); - @Override - public void deleteOutOfDate() { - List<Long> list = taoBaoGoodsBriefMapper - .queryCanDeleteGoods(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 2), 0, 2000); - for (Long auctionId : list) { - deleteTaoBaoGoods(auctionId); - } - } + goodsEvaluateService.updateTaoBaoGoods(goods); - @Override - public TaoBaoGoodsBrief getUpdateTaoBaoGoodsBrief(TaoBaoGoodsBrief goods) { - String auctionUrl = "https://item.taobao.com/item.htm?id=" + goods.getAuctionId(); - String couponLink = ""; - TaoBaoGoodsBrief updateGoods = new TaoBaoGoodsBrief(goods.getId()); - updateGoods.setUpdatetime(new Date()); - updateGoods.setState(0); - // 闃叉鏄浆閾剧殑閾炬帴锛屾暟鎹繃闀� - updateGoods.setAuctionUrl(auctionUrl); - updateGoods.setCouponLink(couponLink); - // 鏇存柊鏍囬锛屽晢鍝佸浘鐗囷紝閿�閲忥紝浠锋牸锛屽埜淇℃伅锛岃繑鍒╀俊鎭紝搴楅摵淇℃伅锛屽垎绫讳俊鎭� - updateGoods.setTitle(goods.getTitle()); - updateGoods.setPictUrl(goods.getPictUrl()); - updateGoods.setPictUrlWhite(goods.getPictUrlWhite()); - updateGoods.setImgList(goods.getImgList()); - updateGoods.setBiz30day(goods.getBiz30day()); - updateGoods.setZkPrice(goods.getZkPrice()); - updateGoods.setReservePrice(goods.getReservePrice()); - updateGoods.setTkRate(goods.getTkRate()); - // 鍒镐俊鎭� - if (StringUtil.isNullOrEmpty(goods.getCouponInfo()) && StringUtil.isNullOrEmpty(goods.getCouponActivityId())) { - updateGoods.setCouponActivityId(""); - updateGoods.setCouponAmount(new BigDecimal(0)); - updateGoods.setCouponEffectiveEndTime(""); - updateGoods.setCouponEffectiveStartTime(""); - updateGoods.setCouponInfo(""); - updateGoods.setCouponLeftCount(0); - updateGoods.setCouponLink(""); - updateGoods.setCouponStartFee(new BigDecimal(0)); - updateGoods.setCouponTotalCount(0); // 娌℃湁鍒镐簡 - } else {// 杩樻湁鍒� - updateGoods.setCouponActivityId(goods.getCouponActivityId()); - updateGoods.setCouponAmount(goods.getCouponAmount()); - updateGoods.setCouponEffectiveEndTime(goods.getCouponEffectiveEndTime()); - updateGoods.setCouponEffectiveStartTime(goods.getCouponEffectiveStartTime()); - updateGoods.setCouponInfo(goods.getCouponInfo()); - updateGoods.setCouponLeftCount(goods.getCouponLeftCount()); - updateGoods.setCouponLink(""); - updateGoods.setCouponStartFee(goods.getCouponStartFee()); - updateGoods.setCouponTotalCount(goods.getCouponTotalCount()); - } + // 鎬昏鍟嗗搧鏇存柊 + updateImplTBGoods(goods); + } - // 搴楅摵淇℃伅 - updateGoods.setShopTitle(goods.getShopTitle()); - updateGoods.setSellerId(goods.getSellerId()); + @Override + public void deleteOutOfDate() { + List<Long> list = taoBaoGoodsBriefMapper + .queryCanDeleteGoods(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 2), 0, 2000); + for (Long auctionId : list) { + deleteTaoBaoGoods(auctionId); + } + } - // 鍒嗙被淇℃伅 - updateGoods.setRootCatId(goods.getRootCatId()); - updateGoods.setRootCategoryName(goods.getRootCategoryName()); - updateGoods.setLeafCatId(goods.getLeafCatId()); - updateGoods.setLeafName(goods.getLeafName()); - updateGoods.setMaterialLibType(goods.getMaterialLibType()); + @Override + public TaoBaoGoodsBrief getUpdateTaoBaoGoodsBrief(TaoBaoGoodsBrief goods) { + String auctionUrl = "https://item.taobao.com/item.htm?id=" + goods.getAuctionId(); + String couponLink = ""; + TaoBaoGoodsBrief updateGoods = new TaoBaoGoodsBrief(goods.getId()); + updateGoods.setUpdatetime(new Date()); + updateGoods.setState(0); + // 闃叉鏄浆閾剧殑閾炬帴锛屾暟鎹繃闀� + updateGoods.setAuctionUrl(auctionUrl); + updateGoods.setCouponLink(couponLink); + // 鏇存柊鏍囬锛屽晢鍝佸浘鐗囷紝閿�閲忥紝浠锋牸锛屽埜淇℃伅锛岃繑鍒╀俊鎭紝搴楅摵淇℃伅锛屽垎绫讳俊鎭� + updateGoods.setTitle(goods.getTitle()); + updateGoods.setPictUrl(goods.getPictUrl()); + updateGoods.setPictUrlWhite(goods.getPictUrlWhite()); + updateGoods.setImgList(goods.getImgList()); + updateGoods.setBiz30day(goods.getBiz30day()); + updateGoods.setZkPrice(goods.getZkPrice()); + updateGoods.setReservePrice(goods.getReservePrice()); + updateGoods.setTkRate(goods.getTkRate()); + // 鍒镐俊鎭� + if (StringUtil.isNullOrEmpty(goods.getCouponInfo()) && StringUtil.isNullOrEmpty(goods.getCouponActivityId())) { + updateGoods.setCouponActivityId(""); + updateGoods.setCouponAmount(new BigDecimal(0)); + updateGoods.setCouponEffectiveEndTime(""); + updateGoods.setCouponEffectiveStartTime(""); + updateGoods.setCouponInfo(""); + updateGoods.setCouponLeftCount(0); + updateGoods.setCouponLink(""); + updateGoods.setCouponStartFee(new BigDecimal(0)); + updateGoods.setCouponTotalCount(0); // 娌℃湁鍒镐簡 + } else {// 杩樻湁鍒� + updateGoods.setCouponActivityId(goods.getCouponActivityId()); + updateGoods.setCouponAmount(goods.getCouponAmount()); + updateGoods.setCouponEffectiveEndTime(goods.getCouponEffectiveEndTime()); + updateGoods.setCouponEffectiveStartTime(goods.getCouponEffectiveStartTime()); + updateGoods.setCouponInfo(goods.getCouponInfo()); + updateGoods.setCouponLeftCount(goods.getCouponLeftCount()); + updateGoods.setCouponLink(""); + updateGoods.setCouponStartFee(goods.getCouponStartFee()); + updateGoods.setCouponTotalCount(goods.getCouponTotalCount()); + } - return updateGoods; - } + // 搴楅摵淇℃伅 + updateGoods.setShopTitle(goods.getShopTitle()); + updateGoods.setSellerId(goods.getSellerId()); - @Override - public void updateTaoBaoGoods(List<TaoBaoGoodsBrief> goodsList) throws TaobaoGoodsUpdateException { - if (goodsList == null || goodsList.size() == 0) - throw new TaobaoGoodsUpdateException(1, "鍟嗗搧鍒楄〃涓虹┖"); + // 鍒嗙被淇℃伅 + updateGoods.setRootCatId(goods.getRootCatId()); + updateGoods.setRootCategoryName(goods.getRootCategoryName()); + updateGoods.setLeafCatId(goods.getLeafCatId()); + updateGoods.setLeafName(goods.getLeafName()); + updateGoods.setMaterialLibType(goods.getMaterialLibType()); - List<TaoBaoGoodsBrief> updateList = new ArrayList<>(); + return updateGoods; + } - for (TaoBaoGoodsBrief goods : goodsList) { - if (goods.getId() == null || goods.getId() == 0L) { - throw new TaobaoGoodsUpdateException(1, "鍟嗗搧涓婚敭ID涓虹┖"); - } + @Override + public void updateTaoBaoGoods(List<TaoBaoGoodsBrief> goodsList) throws TaobaoGoodsUpdateException { + if (goodsList == null || goodsList.size() == 0) + throw new TaobaoGoodsUpdateException(1, "鍟嗗搧鍒楄〃涓虹┖"); - // 闇�瑕佹洿鏂扮殑淇℃伅 - TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(goods); - updateGoods.setCreatetime(goods.getCreatetime()); - updateList.add(updateGoods); - } + List<TaoBaoGoodsBrief> updateList = new ArrayList<>(); - taoBaoGoodsBriefMapper.updateBatchSelective(updateList); - } + for (TaoBaoGoodsBrief goods : goodsList) { + if (goods.getId() == null || goods.getId() == 0L) { + throw new TaobaoGoodsUpdateException(1, "鍟嗗搧涓婚敭ID涓虹┖"); + } - @Override - public List<Long> listNeedUpdateGoodsId(long start, int count, int hour) { - return taoBaoGoodsBriefMapper.listNeedUpdateGoodsId(start, count, hour); - } + // 闇�瑕佹洿鏂扮殑淇℃伅 + TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(goods); + updateGoods.setCreatetime(goods.getCreatetime()); + updateList.add(updateGoods); + } - @Override - public void updateByTaoKeGoodsDetail(Long id) { - try { - TaoBaoGoodsBrief oldGoods = taoBaoGoodsBriefMapper.selectByPrimaryKey(id); - if (oldGoods == null) { - return; - } + taoBaoGoodsBriefMapper.updateBatchSelective(updateList); + } - TaoBaoGoodsBrief newGoods = TaoKeApiUtil.searchGoodsDetail(id); - if (newGoods == null) { - return; - } + @Override + public List<Long> listNeedUpdateGoodsId(long start, int count, int hour) { + return taoBaoGoodsBriefMapper.listNeedUpdateGoodsId(start, count, hour); + } - // 鏇存柊绮鹃�夊晢鍝� - newGoods.setId(id); - TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(newGoods); - taoBaoGoodsBriefMapper.updateByPrimaryKeySelective(updateGoods); + @Override + public void updateByTaoKeGoodsDetail(Long id) { + try { + TaoBaoGoodsBrief oldGoods = taoBaoGoodsBriefMapper.selectByPrimaryKey(id); + if (oldGoods == null) { + return; + } - // 鏇存柊鍔ㄦ�佸晢鍝� - activityGoodsUpdateService.updateRecommendActivityGoods(newGoods); + TaoBaoGoodsBrief newGoods = TaoKeApiUtil.searchGoodsDetail(id); + if (newGoods == null) { + return; + } - // 鏇存柊鏀惰棌淇℃伅 - try { - commonGoodsService.updateCommonGoods(CommonGoodsFactory.create(newGoods)); - } catch (CommonGoodsException e) { - e.printStackTrace(); - } + // 鏇存柊绮鹃�夊晢鍝� + newGoods.setId(id); + TaoBaoGoodsBrief updateGoods = getUpdateTaoBaoGoodsBrief(newGoods); + taoBaoGoodsBriefMapper.updateByPrimaryKeySelective(updateGoods); - } catch (TaobaoGoodsDownException e) { - offlineTaoBaoGoods(id); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } + // 鏇存柊鍔ㄦ�佸晢鍝� + activityGoodsUpdateService.updateRecommendActivityGoods(newGoods); - /** - * 鏇存柊閲嶈鐨勬窐瀹濇暟鎹� - * - * @param goods - */ - public void updateImplTBGoods(TaoBaoGoodsBrief goods) { - if (goods == null || goods.getAuctionId() == null) - return; - if (!taoBaoGoodsCacheUtil.needUpdate(goods.getAuctionId())) { - return; - } - goods.setUpdatetime(new Date()); - if (goods.getId() == null) - goods.setId(goods.getAuctionId()); - taoBaoGoodsUpdateDao.save(goods); - taoBaoGoodsCacheUtil.addUpdateHistory(goods.getAuctionId()); - } + // 鏇存柊鏀惰棌淇℃伅 + try { + commonGoodsService.updateCommonGoods(CommonGoodsFactory.create(newGoods)); + } catch (CommonGoodsException e) { + e.printStackTrace(); + } - @Async - @Override - public void addUpdateQueueAsync(Long auctionId) { - addUpdateQueueSync(auctionId); - } + } catch (TaobaoGoodsDownException e) { + offlineTaoBaoGoods(id); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + } - /** - * 鍚屾鍔犲叆 - * - * @param auctionId - */ - private void addUpdateQueueSync(Long auctionId) { - try { - if (taoBaoGoodsCacheUtil.canAddToUpdateQueue(auctionId)) { - // 娣诲姞鍒版洿鏂伴槦鍒� - CMQManager.getInstance().addTBImpGoodsUpdate(auctionId); - taoBaoGoodsCacheUtil.addAddToQueueHistory(auctionId); - } - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } + /** + * 鏇存柊閲嶈鐨勬窐瀹濇暟鎹� + * + * @param goods + */ + public void updateImplTBGoods(TaoBaoGoodsBrief goods) { + if (goods == null || goods.getAuctionId() == null) + return; + if (!taoBaoGoodsCacheUtil.needUpdate(goods.getAuctionId())) { + return; + } + goods.setUpdatetime(new Date()); + if (goods.getId() == null) + goods.setId(goods.getAuctionId()); + taoBaoGoodsUpdateDao.save(goods); + taoBaoGoodsCacheUtil.addUpdateHistory(goods.getAuctionId()); + } - @Async - @Override - public void addUpdateQueueAsync(List<TaoBaoGoodsBrief> goodsList) { - if (goodsList != null) - for (TaoBaoGoodsBrief goods : goodsList) { - if (goods != null && goods.getAuctionId() != null) - addUpdateQueueSync(goods.getAuctionId()); - } - } + @Async + @Override + public void addUpdateQueueAsync(Long auctionId) { + addUpdateQueueSync(auctionId); + } - @Override - public List<TaoBaoGoodsBrief> filterImportantTaoBaoGoods(List<TaoBaoGoodsBrief> goodsList) { + /** + * 鍚屾鍔犲叆 + * + * @param auctionId + */ + private void addUpdateQueueSync(Long auctionId) { + try { + if (taoBaoGoodsCacheUtil.canAddToUpdateQueue(auctionId)) { + // 娣诲姞鍒版洿鏂伴槦鍒� + CMQManager.getInstance().addTBImpGoodsUpdate(auctionId); + taoBaoGoodsCacheUtil.addAddToQueueHistory(auctionId); + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + } - // 鍟嗗搧杩囨护涓嶅厑璁稿嚭閿� - try { - Map<Long, TaoBaoGoodsBrief> finalMap = new HashMap<>(); - // 鍘熷鏁版嵁鍏ㄨ鐩� - for (TaoBaoGoodsBrief goods : goodsList) { - finalMap.put(goods.getAuctionId(), goods); - } + @Async + @Override + public void addUpdateQueueAsync(List<TaoBaoGoodsBrief> goodsList) { + if (goodsList != null) + for (TaoBaoGoodsBrief goods : goodsList) { + if (goods != null && goods.getAuctionId() != null) + addUpdateQueueSync(goods.getAuctionId()); + } + } - List<TaoBaoGoodsBrief> tempGoodsList = new ArrayList<>(); - tempGoodsList.addAll(goodsList); - // 鍏堜粠redis閲岄潰鍙栬鐩� - for (int i = 0; i < tempGoodsList.size(); i++) { - TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil - .getCommonTaoBaoGoodsInfo(tempGoodsList.get(i).getAuctionId()); - if (goods != null) { - finalMap.put(goods.getAuctionId(), goods); - tempGoodsList.remove(i--); - } - } + @Override + public List<TaoBaoGoodsBrief> filterImportantTaoBaoGoods(List<TaoBaoGoodsBrief> goodsList) { - // 鍐嶄粠mongodb涓彇瑕嗙洊 - List<Long> auctionIds = new ArrayList<>(); - for (TaoBaoGoodsBrief goods : tempGoodsList) { - auctionIds.add(goods.getAuctionId()); - } - List<TaoBaoGoodsBrief> mList = taoBaoGoodsUpdateDao.listByAuctionIds(auctionIds); - if (mList != null) - for (TaoBaoGoodsBrief goods : mList) { - if (goods.getUpdatetime().getTime() > System.currentTimeMillis() - 1000 * 60 * 60 * 24L)// 鍦�1澶╁唴鏇存柊鐨勬暟鎹墠鍙備笌杩囨护 - finalMap.put(goods.getAuctionId(), goods); - } + // 鍟嗗搧杩囨护涓嶅厑璁稿嚭閿� + try { + Map<Long, TaoBaoGoodsBrief> finalMap = new HashMap<>(); + // 鍘熷鏁版嵁鍏ㄨ鐩� + for (TaoBaoGoodsBrief goods : goodsList) { + finalMap.put(goods.getAuctionId(), goods); + } - List<TaoBaoGoodsBrief> finalList = new ArrayList<>(); - for (TaoBaoGoodsBrief goods : goodsList) { - TaoBaoGoodsBrief newGoods = finalMap.get(goods.getAuctionId()); - // 杩囨护浠锋牸锛岃繑鍒╂瘮渚嬶紝鍒镐俊鎭� - goods.setZkPrice(newGoods.getZkPrice()); - goods.setTkRate(newGoods.getTkRate()); - goods.setCouponAmount(newGoods.getCouponAmount()); - goods.setCouponActivityId(newGoods.getCouponActivityId()); - goods.setCouponEffectiveEndTime(newGoods.getCouponEffectiveEndTime()); - goods.setCouponEffectiveStartTime(newGoods.getCouponEffectiveStartTime()); - goods.setCouponStartFee(newGoods.getCouponStartFee()); - goods.setCouponTotalCount(newGoods.getCouponTotalCount()); - goods.setCouponLeftCount(newGoods.getCouponLeftCount()); + List<TaoBaoGoodsBrief> tempGoodsList = new ArrayList<>(); + tempGoodsList.addAll(goodsList); + // 鍏堜粠redis閲岄潰鍙栬鐩� + for (int i = 0; i < tempGoodsList.size(); i++) { + TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil + .getCommonTaoBaoGoodsInfo(tempGoodsList.get(i).getAuctionId()); + if (goods != null) { + finalMap.put(goods.getAuctionId(), goods); + tempGoodsList.remove(i--); + } + } - finalList.add(goods); - } - return finalList; - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - return goodsList; - } + // 鍐嶄粠mongodb涓彇瑕嗙洊 + List<Long> auctionIds = new ArrayList<>(); + for (TaoBaoGoodsBrief goods : tempGoodsList) { + auctionIds.add(goods.getAuctionId()); + } + List<TaoBaoGoodsBrief> mList = taoBaoGoodsUpdateDao.listByAuctionIds(auctionIds); + if (mList != null) + for (TaoBaoGoodsBrief goods : mList) { + if (goods.getUpdatetime().getTime() > System.currentTimeMillis() - 1000 * 60 * 60 * 24L)// 鍦�1澶╁唴鏇存柊鐨勬暟鎹墠鍙備笌杩囨护 + finalMap.put(goods.getAuctionId(), goods); + } - @Override - public int listAndRemoveByMaxUpdateTime(Date maxTime, int page, int pageSize) { - return taoBaoGoodsUpdateDao.listAndRemoveByMaxUpdateTime(maxTime, (page - 1) * pageSize, pageSize); - } + List<TaoBaoGoodsBrief> finalList = new ArrayList<>(); + for (TaoBaoGoodsBrief goods : goodsList) { + TaoBaoGoodsBrief newGoods = finalMap.get(goods.getAuctionId()); + // 杩囨护浠锋牸锛岃繑鍒╂瘮渚嬶紝鍒镐俊鎭� + goods.setZkPrice(newGoods.getZkPrice()); + goods.setTkRate(newGoods.getTkRate()); + goods.setCouponAmount(newGoods.getCouponAmount()); + goods.setCouponActivityId(newGoods.getCouponActivityId()); + goods.setCouponEffectiveEndTime(newGoods.getCouponEffectiveEndTime()); + goods.setCouponEffectiveStartTime(newGoods.getCouponEffectiveStartTime()); + goods.setCouponStartFee(newGoods.getCouponStartFee()); + goods.setCouponTotalCount(newGoods.getCouponTotalCount()); + goods.setCouponLeftCount(newGoods.getCouponLeftCount()); - @Override - public long countByMaxUpdateTime(Date maxTime) { - return taoBaoGoodsUpdateDao.countByMaxUpdateTime(maxTime); + finalList.add(goods); + } + return finalList; + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + return goodsList; + } - } + @Override + public int listAndRemoveByMaxUpdateTime(Date maxTime, int page, int pageSize) { + return taoBaoGoodsUpdateDao.listAndRemoveByMaxUpdateTime(maxTime, (page - 1) * pageSize, pageSize); + } + + @Override + public long countByMaxUpdateTime(Date maxTime) { + return taoBaoGoodsUpdateDao.countByMaxUpdateTime(maxTime); + + } } -- Gitblit v1.8.0