From afe61a27c4f77db65df66b0ff5dc93cbd3e0014b Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 09 六月 2020 17:49:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java | 159 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 122 insertions(+), 37 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 c5e1e9e..28cd75a 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,15 +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.dataoke.DaTaoKeGoodsService;
+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;
/**
* 鏇存柊澶ф窐瀹㈡暟鎹�
@@ -28,54 +33,134 @@
private QualityFactoryService qualityFactoryService;
@Resource
- private DaTaoKeGoodsService daTaoKeGoodsService;
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
- // 涓ゅ皬鏃舵墽琛屼竴娆� 瀵瑰晢鍝佷俊鎭繘琛屾洿鏂�
- @Scheduled(cron = "0 0 0/2 * * ?")
- public void doUpdateJob() {
+ @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) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
+ LogHelper.errorDetailInfo(e);
}
-
}
- @Scheduled(cron = "0 0/20 * * * ? ")
- public void doSyncJob() {
+ @Scheduled(cron = "0 0/10 * * * ? ")
+ public void doUpdateJobNew() {
if (!Constant.IS_TASK)
return;
try {
- daTaoKeGoodsService.startSyncGoods();
+ 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 {
- 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).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