From b3da9f82b7740d39742fef1a81a56c22fe1c8b9c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 08 六月 2020 17:27:02 +0800
Subject: [PATCH] 券后价调整
---
fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java | 166 +++++++++++++++++++++++++-----------------------------
1 files changed, 77 insertions(+), 89 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 8bd02a6..c95d727 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java
@@ -4,29 +4,28 @@
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.bus.tlj.UserTaoLiJinGiveRecord;
-import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.fanli.entity.taobao.TLJBuyGoods;
+import com.yeshi.fanli.entity.taobao.TLJFreeBuyGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
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.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.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 com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -38,13 +37,10 @@
private UserTaoLiJinReportService userTaoLiJinReportService;
@Resource
- private ShareHotGoodsService shareHotGoodsService;
-
- @Resource
private TLJBuyGoodsService tljBuyGoodsService;
@Resource
- private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+ private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
@Resource
private TaoBaoUnionConfigService taoBaoUnionConfigService;
@@ -55,62 +51,10 @@
@Resource
private UserTaoLiJinOriginService userTaoLiJinOriginService;
- /**
- * 鏇存柊鎶ュ憡
- */
- @Scheduled(cron = "0 0 1,10 * * ?")
- public void insetDynamicInfo() {
+ @Resource
+ private TLJFreeBuyGoodsService tljFreeBuyGoodsService;
+
- 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);
- }
- }
-
- /**
- * 姣忓ぉ鍑屾櫒杩�5鍒嗛挓楠岃瘉
- */
- @Scheduled(cron = "0 2 0 * * ?")
- public void updateShareTLJGoods() {
- if (!Constant.IS_TASK)
- return;
- LogHelper.test("楠岃瘉鐖嗘鍟嗗搧搴撳晢鍝�");
- String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd");
- List<ShareHotGoods> list = shareHotGoodsService.listByDay(day, 15);
- int count = 0;
- for (int i = 0; i < list.size(); i++) {
- if (count >= 10)
- break;
- boolean success = shareHotGoodsService.verifyCanCreateTLJ(list.get(i).getGoods().getAuctionId(),
- new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
- TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT));
- if (success) {
- count++;
- }
- }
- }
/**
* 姣忓ぉ鍑屾櫒5鐐硅繃10鍒嗛挓楠岃瘉
@@ -123,6 +67,7 @@
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;
@@ -135,7 +80,9 @@
count++;
}
}
+ totalCount += count;
}
+ LogHelper.test("鑷喘绔嬪噺鍟嗗搧楠岃瘉閫氳繃鐨勬暟閲�:" + totalCount);
}
private void addTLJBuyGoods(List<TaoBaoGoodsBrief> list, String day) {
@@ -148,9 +95,14 @@
}
if (goods != null && goods.getCouponAmount() != null
&& goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {
+
+ // 娣樼ぜ閲戠殑閲戦浣嶄簬1-10鍧椾箣闂� 蹇呴』鏄ぉ鐚�
if (TaoBaoUtil.getAfterUseCouplePrice(goods).multiply(goods.getTkRate())
- .compareTo(new BigDecimal("143")) >= 0) {
- goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
+ .compareTo(new BigDecimal("143")) >= 0
+ && TaoBaoUtil.getAfterUseCouplePrice(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(
@@ -165,10 +117,28 @@
*/
@Scheduled(cron = "0 1 5 * * ? ")
public void autoAddTLJBuyGoods2() {
- if (!Constant.IS_TASK)
- return;
+ // if (!Constant.IS_TASK)
+ // return;
+ LogHelper.test("鑷喘绔嬪噺寮�濮嬮�夊搧");
String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd");
- List<TaoBaoGoodsBrief> list = tljBuyGoodsService.listPreGoods(1);
+ // 閲嶈瘯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);
@@ -178,32 +148,50 @@
addTLJBuyGoods(list, day);
}
+
/**
- * 姣�2涓皬鏃� 璧犻�侀��鍥炲凡杩囨湡娣樼ぜ閲�
+ * 姣忓ぉ鍑屾櫒23鐐硅繃1鍒嗗紑濮嬬埇鍙�
*/
- @Scheduled(cron = "0 0 0/2 * * ? ")
- public void giveSendBack() {
- if (!Constant.IS_TASK)
+ @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;
-
- for (int i = 0; i < 100; i++) {
- List<UserTaoLiJinGiveRecord> overdueList = userTaoLiJinGiveRecordService.overdueList(500);
- if (overdueList == null || overdueList.size() == 0) {
+
+ 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;
- }
-
- for (UserTaoLiJinGiveRecord record : overdueList) {
- try {
- userTaoLiJinOriginService.giveSendBack(record.getGiveUid(), record);
- // 鏇存柊璁板綍
- UserTaoLiJinGiveRecord updateRecord = new UserTaoLiJinGiveRecord();
- updateRecord.setId(record.getId());
- updateRecord.setState(UserTaoLiJinGiveRecord.STATE_OVERDUE);
- userTaoLiJinGiveRecordService.updateByPrimaryKeySelective(updateRecord);
- } catch (Exception e) {
- e.printStackTrace();
+
+ 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.getAfterUseCouplePrice(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