From 2ba431be9c12a79783e0f9ef249292b7fa95f2a1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 25 一月 2021 19:13:58 +0800 Subject: [PATCH] 拼多多备案调整 --- fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java | 93 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 71 insertions(+), 22 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..76cfb8d 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,34 @@ 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 com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.yeshi.fanli.entity.AppVersionInfo; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.common.Config; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; +import com.yeshi.fanli.util.StringUtil; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import com.yeshi.fanli.entity.taobao.ShareHotGoods; +import com.yeshi.goods.facade.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.dataoke.DaTaoKeGoodsDetailV2Service; +import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService; +import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.util.Constant; +import org.yeshi.utils.AppMarketUtil; +import org.yeshi.utils.TimeUtil; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; /** * 鏇存柊澶ф窐瀹㈡暟鎹� @@ -24,29 +41,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 * * ? ") @@ -66,6 +65,15 @@ LogHelper.errorDetailInfo(e); } } + + + //鍚屾澶ф窐瀹㈡墍鏈夊晢鍝� + @XxlJob("dataoke-syncAllGoods") + public ReturnT<String> doSyncJobNew(String param) throws Exception { + daTaoKeGoodsDetailV2Service.startSyncGoods(); + return ReturnT.SUCCESS; + } + @Scheduled(cron = "0 0/10 * * * ? ") public void doUpdateJobNew() { @@ -132,4 +140,45 @@ daTaoKeGoodsDetailV2Service.deleteOutOfDate(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L)); } + // 鑷姩閫夊搧 + @Scheduled(cron = "0 0 23 * * ? ") + public void setShareHotGoods() { + if (!Constant.IS_TASK) + return; + + 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() { + if (!Constant.IS_TASK) + return; + + long latestUpdateCount = daTaoKeGoodsDetailV2Service + .countByMinUpdateTime(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L)); + if (latestUpdateCount < 50000L) {// 鑻ユ瘡澶╂病鏈夎秴杩�5w鏁版嵁鏇存柊灏遍渶瑕侀噸鏂版洿鏂版暟鎹� + daTaoKeGoodsDetailV2Service.startSyncGoods(); + } + } + } -- Gitblit v1.8.0