From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 09 六月 2020 17:34:30 +0800 Subject: [PATCH] 订单 --- fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoGoodsUpdateServiceImpl.java | 105 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 66 insertions(+), 39 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 73f70b7..1228075 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 @@ -9,6 +9,7 @@ import javax.annotation.Resource; +import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -23,10 +24,12 @@ import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.activity.ActivityGoodsUpdateService; +import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.goods.CommonGoodsService; import com.yeshi.fanli.service.inter.lable.QualityFactoryGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService; import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsUpdateService; +import com.yeshi.fanli.service.inter.taobao.TLJFreeBuyGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.util.StringUtil; @@ -49,6 +52,7 @@ @Resource private CommonGoodsService commonGoodsService; + @Lazy @Resource private ShareHotGoodsService shareHotGoodsService; @@ -60,6 +64,12 @@ @Resource private TaoBaoGoodsUpdateDao taoBaoGoodsUpdateDao; + + @Resource + private TLJFreeBuyGoodsUpdateService tljFreeBuyGoodsUpdateService; + + @Resource + private GoodsEvaluateService goodsEvaluateService; @Override public void startUpdate() { @@ -112,9 +122,11 @@ // 鍒嗕韩鐖嗘鏁版嵁鍒犻櫎 shareHotGoodsService.deleteByGoodsId(auctionId); + + goodsEvaluateService.offlineTaoBaoGoods(auctionId+""); } - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public void updateTaoBaoGoods(TaoBaoGoodsBrief goods) throws TaobaoGoodsUpdateException { if (goods == null) @@ -149,6 +161,11 @@ // 鏇存柊鑷喘绔嬪噺搴撳晢鍝� tljBuyGoodsUpdateService.updateGoods(goods); + // 鏇存柊鏂颁汉鍏嶅崟搴撳晢鍝� + tljFreeBuyGoodsUpdateService.updateGoods(goods); + + goodsEvaluateService.updateTaoBaoGoods(goods); + // 鎬昏鍟嗗搧鏇存柊 updateImplTBGoods(goods); } @@ -285,12 +302,14 @@ * @param goods */ public void updateImplTBGoods(TaoBaoGoodsBrief goods) { - if (goods == null) + 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()); } @@ -330,52 +349,60 @@ @Override public List<TaoBaoGoodsBrief> filterImportantTaoBaoGoods(List<TaoBaoGoodsBrief> goodsList) { - Map<Long, TaoBaoGoodsBrief> finalMap = new HashMap<>(); - // 鍘熷鏁版嵁鍏ㄨ鐩� - for (TaoBaoGoodsBrief goods : goodsList) { - finalMap.put(goods.getAuctionId(), goods); - } - 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) { + // 鍟嗗搧杩囨护涓嶅厑璁稿嚭閿� + try { + Map<Long, TaoBaoGoodsBrief> finalMap = new HashMap<>(); + // 鍘熷鏁版嵁鍏ㄨ鐩� + for (TaoBaoGoodsBrief goods : goodsList) { finalMap.put(goods.getAuctionId(), goods); - tempGoodsList.remove(i--); } - } - // 鍐嶄粠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澶╁唴鏇存柊鐨勬暟鎹墠鍙備笌杩囨护 + 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--); + } } - 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(goods.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()); + // 鍐嶄粠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); + } - finalList.add(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()); + + finalList.add(goods); + } + return finalList; + } catch (Exception e) { + LogHelper.errorDetailInfo(e); } - return finalList; + return goodsList; } @Override -- Gitblit v1.8.0