From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 23 一月 2024 17:17:55 +0800 Subject: [PATCH] 抖音转链修改 --- fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java | 307 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 184 insertions(+), 123 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 9295235..42e24dc 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java @@ -1,123 +1,184 @@ -package com.yeshi.fanli.job; - -import javax.annotation.Resource; - -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -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.util.Constant; - -/** - * 鏇存柊澶ф窐瀹㈡暟鎹� - */ - -@Component -public class UpdateDaTaoKeJob { - - @Resource - 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() { - - @Override - public void run() { - daTaoKeGoodsService.startSyncGoods(); - } - }).start(); - - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } - - // 姣忓ぉ鏃╂櫄鍚屾涓�娆� - @Scheduled(cron = "0 0 6,18 * * ? ") - public void doSyncJobNew() { - if (!Constant.IS_TASK) - return; - try { - 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); - } - } - -} +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.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; + +/** + * 鏇存柊澶ф窐瀹㈡暟鎹� + */ + +@Component +public class UpdateDaTaoKeJob { + + @Resource + private QualityFactoryService qualityFactoryService; + + @Resource + private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; + + @Resource + private ShareHotGoodsService shareHotGoodsService; + + + // 姣忓ぉ鏃╂櫄鍚屾涓�娆� + @Scheduled(cron = "0 0 6,18 * * ? ") + public void doSyncJobNew() { + if (!Constant.IS_TASK) + return; + try { + new Thread(new Runnable() { + + @Override + public void run() { + daTaoKeGoodsDetailV2Service.startSyncGoods(); + } + }).start(); + + } catch (Exception e) { + 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() { + 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() { + 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