From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新
---
fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java | 252 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 197 insertions(+), 55 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java b/fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java
index ed6b47e..23366a7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java
@@ -1,55 +1,197 @@
-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.tlj.UserTaoLiJinReportService;
-import com.yeshi.fanli.util.Constant;
-
-
-@Component
-public class TaoLiJinJob {
-
-
- @Resource
- private UserTaoLiJinReportService userTaoLiJinReportService;
-
-
- /**
- * 鏇存柊鎶ュ憡
- */
- @Scheduled(cron = "0 0 1,10 * * ?")
- public void insetDynamicInfo() {
-
- if (!Constant.IS_TASK) {
- return;
- }
-
- try {
- userTaoLiJinReportService.needUpdateReport();
- } catch (Exception e) {
- LogHelper.errorDetailInfo(e);
- }
- }
-
- /**
- * 閫�鍥炶秴杩�3澶╂棤棰嗗彇鐨勬窐绀奸噾
- */
- @Scheduled(cron = "0 0 1 * * ?")
- public void refundNotWin() {
-
- if (!Constant.IS_TASK) {
- return;
- }
-
- try {
- userTaoLiJinReportService.refundNotWin();
- } 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 java.util.Random;
+
+import javax.annotation.Resource;
+
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
+import com.yeshi.fanli.entity.taobao.TLJFreeBuyGoods;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
+import com.yeshi.common.entity.taobao.TaoKeAppInfo;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TLJFreeBuyGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
+import com.yeshi.goods.facade.service.DaTaoKeGoodsDetailV2Service;
+import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinGiveRecordService;
+import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
+import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinReportService;
+import com.yeshi.fanli.util.Constant;
+import org.yeshi.utils.TimeUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+
+@Component
+public class TaoLiJinJob {
+
+ @Resource
+ private UserTaoLiJinReportService userTaoLiJinReportService;
+
+ @Resource
+ private TLJBuyGoodsService tljBuyGoodsService;
+
+ @Resource
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+ @Resource
+ private TaoBaoUnionConfigService taoBaoUnionConfigService;
+
+ @Resource
+ private UserTaoLiJinGiveRecordService userTaoLiJinGiveRecordService;
+
+ @Resource
+ private UserTaoLiJinOriginService userTaoLiJinOriginService;
+
+ @Resource
+ private TLJFreeBuyGoodsService tljFreeBuyGoodsService;
+
+
+
+ /**
+ * 姣忓ぉ鍑屾櫒5鐐硅繃10鍒嗛挓楠岃瘉
+ */
+ @Scheduled(cron = "0 10 5 * * ? ")
+ public void updateBuyTLJGoods() {
+ if (!Constant.IS_TASK)
+ return;
+ LogHelper.test("楠岃瘉鑷喘绔嬪噺鍟嗗搧");
+ String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd");
+ List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService
+ .getConfigByTypeCache(TaoBaoUnionConfig.TYPE_TLJ_BUY);
+ int totalCount = 0;
+ for (TaoBaoUnionConfig app : configList) {
+ List<TLJBuyGoods> list = tljBuyGoodsService.listByDay(app.getAppKey(), day, 15);// 鑾峰彇鏈�澶�15涓晢鍝�
+ int count = 0;
+ for (int i = 0; i < list.size(); i++) {
+ if (count >= 10)
+ break;
+ boolean success = tljBuyGoodsService.verifyCanCreateTLJ(list.get(i).getGoods().getAuctionId(),
+ new TaoKeAppInfo(app.getAppKey(), app.getAppSecret(), app.getDefaultPid()));
+ if (success) {
+ count++;
+ }
+ }
+ totalCount += count;
+ }
+ LogHelper.test("鑷喘绔嬪噺鍟嗗搧楠岃瘉閫氳繃鐨勬暟閲�:" + totalCount);
+ }
+
+ private void addTLJBuyGoods(List<TaoBaoGoodsBrief> list, String day) {
+ for (TaoBaoGoodsBrief goods : list) {
+ // 鑾峰彇鍟嗗搧璇︽儏
+ try {
+ goods = TaoKeApiUtil.searchGoodsDetail(goods.getAuctionId());
+ } catch (TaobaoGoodsDownException e) {
+ e.printStackTrace();
+ }
+ if (goods != null && goods.getCouponAmount() != null
+ && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {
+
+ // 娣樼ぜ閲戠殑閲戦浣嶄簬1-10鍧椾箣闂� 蹇呴』鏄ぉ鐚�
+ if (TaoBaoUtil.getCouponPrice(goods).multiply(goods.getTkRate())
+ .compareTo(new BigDecimal("143")) >= 0
+ && TaoBaoUtil.getCouponPrice(goods).multiply(goods.getTkRate())
+ .compareTo(new BigDecimal("1430")) <= 0
+ && goods.getUserType() == 1) {
+ goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods).getGoods();
+ int totalHongBaoCount = 2000 + (int) (Math.random() * 8000);
+ int leftHongBaoCount = 200 + (int) (Math.random() * 2000);
+ tljBuyGoodsService.addTLJBuyGoods(
+ new TLJBuyGoods(null, day, new Date(), goods, totalHongBaoCount, leftHongBaoCount));
+ }
+ }
+ }
+ }
+
+ /**
+ * 姣忓ぉ鍑屾櫒5鐐硅繃1鍒嗗紑濮嬬埇鍙栧墿浣�9涓晢鍝�
+ */
+ @Scheduled(cron = "0 1 5 * * ? ")
+ public void autoAddTLJBuyGoods2() {
+ // if (!Constant.IS_TASK)
+ // return;
+ LogHelper.test("鑷喘绔嬪噺寮�濮嬮�夊搧");
+ String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd");
+ // 閲嶈瘯3娆�
+ List<TaoBaoGoodsBrief> list = null;
+ try {
+ list = tljBuyGoodsService.listPreGoods(1);
+ } catch (Exception e) {
+ }
+ if (list == null || list.size() == 0)
+ try {
+ list = tljBuyGoodsService.listPreGoods(1);
+ } catch (Exception e) {
+ }
+ if (list == null || list.size() == 0)
+ try {
+ list = tljBuyGoodsService.listPreGoods(1);
+ } catch (Exception e) {
+ }
+
+ LogHelper.test("鑷喘绔嬪噺澶囬�夊晢鍝佹暟閲�:" + list.size());
+ Collections.shuffle(list);
+ List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService
+ .getConfigByTypeCache(TaoBaoUnionConfig.TYPE_TLJ_BUY);
+
+ if (list.size() > 12 * configList.size())
+ list = list.subList(0, 12 * configList.size());
+ addTLJBuyGoods(list, day);
+ }
+
+
+ /**
+ * 姣忓ぉ鍑屾櫒23鐐硅繃1鍒嗗紑濮嬬埇鍙�
+ */
+ @Scheduled(cron = "0 1 23 * * ? ")
+ public void autoAddTLJFreeBuyGoods() {
+ if (!Constant.IS_TASK)
+ return;
+
+ String day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
+ LogHelper.test("鍏嶅崟鍟嗗搧寮�濮嬮�夊搧" + day);
+
+ // 鏄惁宸查閫�
+ List<TLJFreeBuyGoods> listSelect = tljFreeBuyGoodsService.listByDay(day);
+ if (listSelect != null && listSelect.size() > 0)
+ return;
+
+ int count = 0;
+ int maxCount = 15;
+ for (int page = 1; page <= 10; page ++) {
+ List<TaoBaoGoodsBrief> list = tljFreeBuyGoodsService.listPreGoods("", page);
+ if (list == null || list.size() == 0)
+ break;
+
+ while (list.size() > 0) {
+ if (count >= maxCount)
+ break;
+
+ Random random = new Random();
+ int n = random.nextInt(list.size());
+ TaoBaoGoodsBrief goods = list.get(n);
+ if (goods.getCouponAmount() != null && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {
+ BigDecimal couplePrice = TaoBaoUtil.getCouponPrice(goods);
+ if (couplePrice.compareTo(new BigDecimal(1.0)) >= 0 && couplePrice.compareTo(new BigDecimal(2.0)) <= 0) {
+ tljFreeBuyGoodsService.addGoods(new TLJFreeBuyGoods(day, goods));
+ count ++;
+ }
+ }
+ list.remove(n);
+ }
+
+ if (count >= maxCount)
+ break;
+ }
+
+ }
+}
--
Gitblit v1.8.0