admin
2021-01-27 e1a62ec62e7331d97af9302e90e1ce44af8235eb
fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java
@@ -7,19 +7,26 @@
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.fanli.entity.taobao.TaoBaoGoodsBrief;
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.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
import org.yeshi.utils.AppMarketUtil;
import org.yeshi.utils.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -34,35 +41,11 @@
   private QualityFactoryService qualityFactoryService;
   @Resource
   private DaTaoKeGoodsDetailService daTaoKeGoodsService;
   @Resource
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Resource
   private ShareHotGoodsService shareHotGoodsService;
   @Resource
   private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
   // 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 * * ? ")
@@ -82,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() {
@@ -151,6 +143,9 @@
   // 自动选品
   @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);
@@ -167,11 +162,23 @@
               && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {
            if (TaoBaoUtil.canAddToTLJBuyGoods(goods)) {
               count++;
               goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
               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();
      }
   }
}