From 2b0d0fd1398e2afa96d8ddf919d8b814c9cb92e4 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 16 六月 2020 16:54:15 +0800
Subject: [PATCH] 好单库商品+云发单规则调整

---
 fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java |   82 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 68 insertions(+), 14 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java b/fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java
index 52f9a53..977fb72 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java
@@ -14,6 +14,10 @@
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import com.yeshi.fanli.dto.ConfigParamsDTO;
+import com.yeshi.fanli.dto.dataoke.DaTaoKeGoodsResult;
+import com.yeshi.fanli.dto.taobao.haodanku.HDKGoodsListResultDTO;
+import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser;
+import com.yeshi.fanli.entity.bus.activity.ActivityUser;
 import com.yeshi.fanli.entity.bus.activity.RecommendActivity;
 import com.yeshi.fanli.entity.bus.activity.RecommendActivityInviteInfo;
 import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
@@ -21,6 +25,9 @@
 import com.yeshi.fanli.entity.dynamic.WXMPDynamicInfo;
 import com.yeshi.fanli.entity.goods.jd.NYouHuiGoods;
 import com.yeshi.fanli.entity.jd.JDGoods;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
+import com.yeshi.fanli.entity.taobao.haodanku.HDKGoodsDetail;
+import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.activity.ActivityService;
 import com.yeshi.fanli.service.inter.activity.ActivityUserService;
@@ -29,12 +36,15 @@
 import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
 import com.yeshi.fanli.service.inter.dynamic.WXMPDynamicInfoService;
 import com.yeshi.fanli.service.inter.goods.jd.NYouHuiService;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
 import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.jd.JDApiUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
+import com.yeshi.fanli.util.taobao.HaoDanKuApiUtil;
 
 @Component
 public class DynamicInfoJob {
@@ -65,6 +75,9 @@
 
 	@Resource
 	private GoodsEvaluateService goodsEvaluateService;
+	
+	@Resource
+	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
 	/**
 	 * 姣�10鍒嗛挓 鏅氫笂00:00~06:00涓嶄笅鍙戜换浣曚竴涓晢鍝�
@@ -208,7 +221,6 @@
 	 */
 	@Scheduled(cron = "0 0/3 * * * ?")
 	public void activityNeedPublish() {
-
 		if (!Constant.IS_TASK) {
 			return;
 		}
@@ -255,7 +267,6 @@
 	 */
 	@Scheduled(cron = "0 0 6 * * ?")
 	public void insertTimeInvite() {
-
 		if (!Constant.IS_TASK) {
 			return;
 		}
@@ -349,27 +360,70 @@
 		}
 	}
 
+	
 	/**
-	 * 鍔ㄦ�佸彂鍦�
-	 * 
-	 * @param param
-	 * @return
-	 * @throws Exception
+	 * 濂藉崟搴撳晢鍝佸姞鍏ュ彂鍦�
 	 */
-	// @Scheduled(cron = "0 0 6,7,15,16,21,22,23 * * ? ")
 	@XxlJob("dynamic-insertEvaluate")
 	public ReturnT<String> insertEvaluate(String param) throws Exception {
 		try {
-			goodsEvaluateService.addGoodsEvaluateByDaTaoKe();
-		} catch (Exception e) {
-			try {
-				LogHelper.errorDetailInfo(e);
-			} catch (Exception e1) {
-				e1.printStackTrace();
+			boolean addGoods = false;
+			Integer minId = 1;
+			while (minId != null) {
+				HDKGoodsListResultDTO dto = HaoDanKuApiUtil.getInstance().listHotGoods(minId, 100, 1, null);
+				if (dto != null) {
+					minId = dto.getMinId();
+					addGoods = addGoodsEvaluate(dto.getGoodsList());
+				} else {
+					minId = null;
+				}
+				
+				if(addGoods) {
+					break;
+				}
 			}
+			
+			// 澶ф窐瀹㈠鐢�
+			if (!addGoods) {
+				DaTaoKeGoodsResult result = DaTaoKeApiUtil.getRankingList(DaTaoKeApiUtil.RANK_TYPE_TIME, null);
+				if (result != null) {
+					List<DaTaoKeDetailV2> detailList = result.getGoodsList();
+					if (detailList != null && detailList.size() > 0) {
+						for (DaTaoKeDetailV2 daTaoKeV2: detailList) {
+							if(goodsEvaluateService.addByDaTaoKeGoods(daTaoKeV2))
+								break;
+						}
+					}
+				}
+			}
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
 		}
 		return ReturnT.SUCCESS;
 	}
+	
+	
+	private boolean addGoodsEvaluate(List<HDKGoodsDetail> hdkList) {
+		if (hdkList == null || hdkList.size() == 0) {
+			return false;
+		}
+		for (HDKGoodsDetail hdkGoods: hdkList) {
+			try {
+				Long itemid = hdkGoods.getItemid();
+				String itemdesc = hdkGoods.getItemdesc();
+				List<ActivityRuleUser> ruleList = activityUserService.listByRuleCode(ActivityRuleUser.RULE_HAOHUO, 1, 20);
+				ActivityUser user = ruleList.get((int) (ruleList.size() * Math.random())).getActivityUser();
+				goodsEvaluateService.addGoodsEvaluate(itemid + "", null, user, itemdesc, null, new Date());
+				return true;
+			} catch (GoodsEvaluateException e) {
+				e.printStackTrace();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+		return false;
+	}
+	
 
 	
 	/**

--
Gitblit v1.8.0