From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java | 157 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 127 insertions(+), 30 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 b69a1d4..c487343 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.math.BigDecimal; +import java.util.Collections; +import java.util.Date; import java.util.List; import javax.annotation.Resource; @@ -7,14 +10,17 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import com.yeshi.fanli.entity.bus.lable.BoutiqueAutoRule; -import com.yeshi.fanli.entity.bus.lable.QualityFactory; -import com.yeshi.fanli.entity.common.AdminUser; +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.ShareHotGoodsService; +import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.taobao.DaTaoKeUtil; +import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; /** * 鏇存柊澶ф窐瀹㈡暟鎹� @@ -23,42 +29,133 @@ @Component public class UpdateDaTaoKeJob { - @Resource private QualityFactoryService qualityFactoryService; - // 涓ゅ皬鏃舵墽琛屼竴娆� 瀵瑰晢鍝佷俊鎭繘琛屾洿鏂� - @Scheduled(cron = "0 0 0/2 * * ?") - public void doUpdateJob() { - + @Resource + private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + + @Resource + private ShareHotGoodsService shareHotGoodsService; + + + // 姣忓ぉ鏃╂櫄鍚屾涓�娆� + @Scheduled(cron = "0 0 6,18 * * ? ") + public void doSyncJobNew() { if (!Constant.IS_TASK) return; - - List<TaoBaoGoodsBrief> listgoods = DaTaoKeUtil.getDingDongQiang(); - if (listgoods == null || listgoods.size() == 0) { - return; - } - try { - /* 鎿嶄綔浜猴細 寮�鍙戣处鍙� */ - AdminUser admin = new AdminUser(2L); - BoutiqueAutoRule autoRule = new BoutiqueAutoRule(); - autoRule.setAdminUser(admin); - autoRule.setCalss9k9(false); - autoRule.setFlashSale(true); - autoRule.setStartWeight(1); - autoRule.setEndWeight(3000); - autoRule.setGoodsSource(QualityFactory.SOURCE_TAOBAO_DATAOKE); - qualityFactoryService.autoInsertOrUpadateStorage(listgoods, null, autoRule); - + new Thread(new Runnable() { + + @Override + public void run() { + daTaoKeGoodsDetailV2Service.startSyncGoods(); + } + }).start(); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + } + + @Scheduled(cron = "0 0/10 * * * ? ") + public void doUpdateJobNew() { + if (!Constant.IS_TASK) + return; + try { + new Thread(new Runnable() { + + @Override + public void run() { + daTaoKeGoodsDetailV2Service.updateNewGoods();// 鑾峰彇鏂颁笂鏋剁殑鍟嗗搧 + } + }).start(); + + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + } + + @Scheduled(cron = "0 0/10 * * * ? ") + public void doDeleteJobNew() { + if (!Constant.IS_TASK) + return; + try { + new Thread(new Runnable() { + + @Override + public void run() { + daTaoKeGoodsDetailV2Service.deleteInvalid(); + } + }).start(); + + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + } + + // 鏇存柊鍟嗗搧鏁版嵁 姣忓ぉ鐨�8鐐癸紝11鐐癸紝19鐐癸紝23鐐规墽琛屼竴娆� + @Scheduled(cron = "0 0 8,11,19,23 * * ? ") + public void doUpdateInfoJobNew() { + if (!Constant.IS_TASK) + return; + try { + new Thread(new Runnable() { + + @Override + public void run() { + daTaoKeGoodsDetailV2Service.updateData(); + } + }).start(); + + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + } + + /** + * 鍒犻櫎杩囨湡鏁版嵁锛堟瘡10鍒嗛挓鍒犻櫎涓�娆★級 + */ + @Scheduled(cron = "0 0/10 * * * ? ") + public void doDeleteOutOfDate() { + if (!Constant.IS_TASK) + return; + 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 { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); + 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); + 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