From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java | 68 +++++++++++++++++++++++---------- 1 files changed, 47 insertions(+), 21 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java b/fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java index 16c8f65..3847f81 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java @@ -1,17 +1,26 @@ package com.yeshi.fanli.job; +import java.math.BigDecimal; +import java.util.Collections; import java.util.Date; +import java.util.List; import javax.annotation.Resource; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import com.yeshi.fanli.entity.taobao.ShareHotGoods; +import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.lable.QualityFactoryService; -import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; +import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService; import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; /** * 鏇存柊澶ф窐瀹㈡暟鎹� @@ -24,29 +33,11 @@ private QualityFactoryService qualityFactoryService; @Resource - private DaTaoKeGoodsDetailService daTaoKeGoodsService; - - @Resource private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; - // 1涓皬鏃舵洿鏂颁竴娆� - @Scheduled(cron = "0 0 0/1 * * ? ") - public void doSyncJob() { - if (!Constant.IS_TASK) - return; - try { - new Thread(new Runnable() { + @Resource + private ShareHotGoodsService shareHotGoodsService; - @Override - public void run() { - daTaoKeGoodsService.startSyncGoods(); - } - }).start(); - - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } // 姣忓ぉ鏃╂櫄鍚屾涓�娆� @Scheduled(cron = "0 0 6,18 * * ? ") @@ -132,4 +123,39 @@ daTaoKeGoodsDetailV2Service.deleteOutOfDate(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L)); } + // 鑷姩閫夊搧 + @Scheduled(cron = "0 0 23 * * ? ") + public void setShareHotGoods() { + String day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd"); + List<TaoBaoGoodsBrief> goodsList = shareHotGoodsService.listPreGoods(1); + Collections.shuffle(goodsList); + int count = 0; + for (TaoBaoGoodsBrief goods : goodsList) { + if (count > 20) + break; + try { + goods = TaoKeApiUtil.searchGoodsDetail(goods.getAuctionId()); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + if (goods != null && goods.getCouponAmount() != null + && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) { + if (TaoBaoUtil.canAddToTLJBuyGoods(goods)) { + count++; + goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods).getGoods(); + shareHotGoodsService.addShareHotGoods(new ShareHotGoods(null, day, new Date(), goods)); + } + } + } + } + + @Scheduled(cron = "0 30 7,11,18,23 * * ? ") + public void syncGoodsBeiYong() { + long latestUpdateCount = daTaoKeGoodsDetailV2Service + .countByMinUpdateTime(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L)); + if (latestUpdateCount < 50000L) {// 鑻ユ瘡澶╂病鏈夎秴杩�5w鏁版嵁鏇存柊灏遍渶瑕侀噸鏂版洿鏂版暟鎹� + daTaoKeGoodsDetailV2Service.startSyncGoods(); + } + } + } -- Gitblit v1.8.0