From a1c01c3b1df1034eecd0e35a0bf75cf0a2bf5d92 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 03 六月 2019 14:27:58 +0800 Subject: [PATCH] 精选库更新改为1个小时更新2000条数据 --- fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java | 58 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 41 insertions(+), 17 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 d7451de..f13b5a0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java @@ -1,5 +1,8 @@ package com.yeshi.fanli.job; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import javax.annotation.Resource; @@ -11,11 +14,13 @@ import com.yeshi.fanli.entity.bus.lable.QualityFactory; import com.yeshi.fanli.entity.common.AdminUser; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail; 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.util.Constant; import com.yeshi.fanli.util.taobao.DaTaoKeUtil; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; /** * 鏇存柊澶ф窐瀹㈡暟鎹� @@ -29,19 +34,38 @@ @Resource private DaTaoKeGoodsDetailService daTaoKeGoodsService; + - // 涓ゅ皬鏃舵墽琛屼竴娆� 瀵瑰晢鍝佷俊鎭繘琛屾洿鏂� + /** + * 闄愭椂绉掓潃 鏁版嵁鏇存柊 + */ @Scheduled(cron = "0 0 0/2 * * ?") public void doUpdateJob() { if (!Constant.IS_TASK) return; - List<TaoBaoGoodsBrief> listgoods = DaTaoKeUtil.getDingDongQiang(); - if (listgoods == null || listgoods.size() == 0) { + List<DaTaoKeDetail> listTaoKe = DaTaoKeUtil.getDingDongQiang(); + if (listTaoKe == null || listTaoKe.size() == 0) { return; } + + List<Long> listDaoKeId = new ArrayList<Long>(); + for (DaTaoKeDetail daTaoKeDetail: listTaoKe) { + listDaoKeId.add(daTaoKeDetail.getId()); + } + + List<DaTaoKeDetail> listDetail = daTaoKeGoodsService.listByIds(listDaoKeId); + if (listDetail == null || listDetail.size() == 0) { + return; + } + + List<TaoBaoGoodsBrief> listgoods = new ArrayList<TaoBaoGoodsBrief>(); + for (DaTaoKeDetail daTaoKeDetail: listDetail) { + listgoods.add( TaoBaoUtil.convert(daTaoKeDetail)); + } + String formatDate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()); try { /* 鎿嶄綔浜猴細 寮�鍙戣处鍙� */ AdminUser admin = new AdminUser(2L); @@ -52,31 +76,31 @@ autoRule.setStartWeight(1); autoRule.setEndWeight(3000); autoRule.setGoodsSource(QualityFactory.SOURCE_TAOBAO_DATAOKE); - qualityFactoryService.autoInsertOrUpadateStorage(listgoods, null, autoRule); + qualityFactoryService.autoInsertOrUpadateStorage(autoRule, listgoods, null); + // 鍒犻櫎涔嬪墠鐨� + qualityFactoryService.deleteNotUpdateGoods(null, formatDate, autoRule.getGoodsSource()); } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } + LogHelper.errorDetailInfo(e); } - } - //20鍒嗛挓鏇存柊涓�娆� + // 20鍒嗛挓鏇存柊涓�娆� @Scheduled(cron = "0 0/20 * * * ? ") public void doSyncJob() { if (!Constant.IS_TASK) return; try { - daTaoKeGoodsService.startSyncGoods(); + new Thread(new Runnable() { + + @Override + public void run() { + daTaoKeGoodsService.startSyncGoods(); + } + }).start(); + } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } + LogHelper.errorDetailInfo(e); } } -- Gitblit v1.8.0