From eda623f37c3260f4b4657e34a8a39798c72432b1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期日, 28 六月 2020 15:49:14 +0800 Subject: [PATCH] 搜索接口增加小黄条返回 --- fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 166 insertions(+), 12 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 a2810b9..c17a307 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java @@ -1,12 +1,14 @@ package com.yeshi.fanli.job; import java.math.BigDecimal; +import java.net.URLDecoder; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.annotation.Resource; +import org.apache.commons.lang.StringEscapeUtils; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.yeshi.utils.DateUtil; @@ -14,12 +16,21 @@ 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.dto.taobao.haodanku.HDKWXCircleContentDTO; +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; import com.yeshi.fanli.entity.dynamic.GoodsPicture; 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; @@ -28,12 +39,17 @@ 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.factory.goods.TaoBaoGoodsFactory; import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.jd.JDUtil; +import com.yeshi.fanli.util.taobao.HaoDanKuApiUtil; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; @Component public class DynamicInfoJob { @@ -64,6 +80,9 @@ @Resource private GoodsEvaluateService goodsEvaluateService; + + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; /** * 姣�10鍒嗛挓 鏅氫笂00:00~06:00涓嶄笅鍙戜换浣曚竴涓晢鍝� @@ -207,7 +226,6 @@ */ @Scheduled(cron = "0 0/3 * * * ?") public void activityNeedPublish() { - if (!Constant.IS_TASK) { return; } @@ -254,7 +272,6 @@ */ @Scheduled(cron = "0 0 6 * * ?") public void insertTimeInvite() { - if (!Constant.IS_TASK) { return; } @@ -317,7 +334,7 @@ GoodsDetailVOFactory.convertJDGoods(jdGoods, new ConfigParamsDTO(hongBaoManageService.getFanLiRate(), hongBaoManageService.getShareRate(), null, - hongBaoManageService.getVIPFanLiRate()))); + hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP)))); picture.setGoodState(0); picture.setJumpDetail(jumpDetailV2Service.getByTypeCache("goodsdetail")); picture.setParams(null); @@ -348,18 +365,19 @@ } } + /** - * 鍔ㄦ�佸彂鍦� - * - * @param param - * @return - * @throws Exception + * 姣忎竴涓皬鏃堕殢鏈哄湪鍒嗕韩鏁扮殑鍩虹涓婂姞10~100銆傚鍔犵殑鏃堕棿娈垫槸姣忓ぉ8~22鐐广�� + * 鏃╀笂6,7,15,16,21,22,23鐐规洿鏂�1娆� */ - // @Scheduled(cron = "0 0 6,7,15,16,21,22,23 * * ? ") - @XxlJob("dynamic-insertEvaluate") - public ReturnT<String> insertEvaluate(String param) throws Exception { + @Scheduled(cron = "0 0 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 * * ? ") + public void addRanDomShareCount() { + if (!Constant.IS_TASK) { + return; + } + try { - goodsEvaluateService.addGoodsEvaluateByDaTaoKe(); + goodsEvaluateService.addRanDomShareCount(); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); @@ -367,7 +385,143 @@ e1.printStackTrace(); } } + } + + + /** + * 鍟嗗搧鍔犲叆鍙戝湀 + */ + @XxlJob("dynamic-insertEvaluate") + public ReturnT<String> insertEvaluate(String param) throws Exception { + // 濂藉崟搴� + boolean addResult = addHDKListSelected(); + // 澶ф窐瀹㈠鐢� + if (!addResult) { + addDTKFriendsFircleList(); + } return ReturnT.SUCCESS; } + + + /** + * 濂藉崟搴撳晢鍝佸姞鍏ュ彂鍦� + * @return + */ + private boolean addHDKListSelected () { + boolean addResult = false; + Integer minId = 1; + while (minId != null) { + HDKGoodsListResultDTO dto = HaoDanKuApiUtil.getInstance().listSelected(minId); + if (dto == null) { + minId = null; + } else { + minId = dto.getMinId(); + List<HDKWXCircleContentDTO> list = dto.getList(); + if (list== null || list.size() == 0) { + continue; + } + + for (HDKWXCircleContentDTO circleContentDTO: list) { + try { + String itemid = circleContentDTO.getItemid(); + HDKGoodsDetail hdkGoods = HaoDanKuApiUtil.getInstance().getItemDetail(itemid); + if (hdkGoods == null) { + continue; + } + + List<String> pics = circleContentDTO.getItempic(); + String copy_content = circleContentDTO.getCopy_content(); + String showtitle = StringEscapeUtils.unescapeHtml(copy_content); + showtitle = showtitle.replace("<br>", "\r\n"); + + List<ActivityRuleUser> ruleList = activityUserService.listByRuleCode(ActivityRuleUser.RULE_HAOHUO, 1, 20); + ActivityUser user = ruleList.get((int) (ruleList.size() * Math.random())).getActivityUser(); + + int addProcess = goodsEvaluateService.addGoodsEvaluate(TaoBaoGoodsFactory.create(hdkGoods), pics, user, showtitle); + if (addProcess == 0) { + addResult = true; + break; + } + } catch (GoodsEvaluateException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + if(addResult) + break; + } + return addResult; + } + + + /** + * 澶ф窐瀹㈠晢鍝佸姞鍏ュ彂鍦� + * @return + */ + private boolean addDTKFriendsFircleList() { + boolean addResult = false; + try { + DaTaoKeGoodsResult result = DaTaoKeApiUtil.getFriendsFircleList("1", 100); + while (result.getGoodsList() != null && result.getGoodsList().size() > 0) { + for (DaTaoKeDetailV2 detailV2 : result.getGoodsList()) { + try { + Long goodsId = detailV2.getGoodsId(); + + String circleText = detailV2.getCircleText(); + if (circleText == null) { + continue; + } + String showtitle = URLDecoder.decode(circleText, "UTF-8"); + showtitle = showtitle.replace(" ", " "); + DaTaoKeDetailV2 tkGoods = DaTaoKeApiUtil.getGoodsDetailByGoodsId(goodsId); + if(tkGoods == null) { + continue; + } + + ActivityUser user = null; + if (detailV2.getCid() != null) { + user = activityUserService.getRandomByDaTaoKeCid(detailV2.getCid()); + } + if (user == null) { + List<ActivityRuleUser> ruleList = activityUserService + .listByRuleCode(ActivityRuleUser.RULE_HAOHUO, 1, 20); + user = ruleList.get((int) (ruleList.size() * Math.random())).getActivityUser(); + } + + int addProcess = goodsEvaluateService.addGoodsEvaluate(TaoBaoUtil.convert(tkGoods), null, user, showtitle); + if (addProcess == 0) { + addResult = true; + break; + } + } catch (GoodsEvaluateException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + if (addResult) { + break; + } + + try { + result = DaTaoKeApiUtil.getFriendsFircleList(result.getPageId(), 100); + } catch (Exception e) { + result = DaTaoKeApiUtil.getFriendsFircleList(result.getPageId(), 100); + } + try { + Thread.sleep(10); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + return addResult; + } + } -- Gitblit v1.8.0