From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 27 八月 2019 12:32:46 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java |  191 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 179 insertions(+), 12 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 5b0cc79..d28a392 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/TaoLiJinJob.java
@@ -1,44 +1,211 @@
 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 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.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.TaoBaoUnionConfigService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
+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;
 
 @Component
 public class TaoLiJinJob {
-	
 
 	@Resource
 	private UserTaoLiJinReportService userTaoLiJinReportService;
+
+	@Resource
+	private ShareHotGoodsService shareHotGoodsService;
+
+	@Resource
+	private TLJBuyGoodsService tljBuyGoodsService;
+
+	@Resource
+	private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
+
+	@Resource
+	private TaoBaoUnionConfigService taoBaoUnionConfigService;
 	
+	@Resource
+	private UserTaoLiJinGiveRecordService userTaoLiJinGiveRecordService;
 	
+	@Resource
+	private UserTaoLiJinOriginService userTaoLiJinOriginService;
+	
+
 	/**
-	 *  鏇存柊鎶ュ憡
+	 * 鏇存柊鎶ュ憡
 	 */
-	@Scheduled(cron = "0 0 0 * * ?")
+	@Scheduled(cron = "0 0 1,10 * * ?")
 	public void insetDynamicInfo() {
-		
+
 		if (!Constant.IS_TASK) {
 			return;
 		}
-		
+
 		try {
 			userTaoLiJinReportService.needUpdateReport();
 		} catch (Exception e) {
-			try {
-				LogHelper.errorDetailInfo(e);
-			} catch (Exception e1) {
-				e1.printStackTrace();
+			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鍒嗛挓楠岃瘉
+	 */
+	@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);
+		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 = shareHotGoodsService.verifyCanCreateTLJ(list.get(i).getGoods().getAuctionId(),
+						new TaoKeAppInfo(app.getAppKey(), app.getAppSecret(), app.getDefaultPid()));
+				if (success) {
+					count++;
+				}
+			}
+		}
+	}
+
+	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) {
+				if (TaoBaoUtil.getAfterUseCouplePrice(goods).multiply(goods.getTkRate())
+						.compareTo(new BigDecimal("143")) >= 0) {
+					goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
+					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;
+		String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd");
+		List<TaoBaoGoodsBrief> list = tljBuyGoodsService.listPreGoods(1);
+		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);
+	}
+
 	
-	
-	
+	/**
+	 * 姣忓ぉ00:10  璧犻�侀��鍥炲凡杩囨湡娣樼ぜ閲�
+	 */
+	@Scheduled(cron = "0 10 0 * * ? ")
+	public void giveSendBack() {
+		if (!Constant.IS_TASK)
+			return;
+		
+		for (int i = 0; i < 100; i++) {
+			List<UserTaoLiJinGiveRecord> overdueList = userTaoLiJinGiveRecordService.overdueList(500);
+			if (overdueList == null || overdueList.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();
+				}
+			}
+		}
+	}
 }

--
Gitblit v1.8.0