fanli/src/main/java/com/yeshi/fanli/entity/taobao/dataoke/DaTaoKeDetailV2.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/TaoBaoGoodsFactory.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
fanli/src/main/java/com/yeshi/fanli/entity/taobao/dataoke/DaTaoKeDetailV2.java
@@ -111,7 +111,7 @@ private String circleText;// 朋友圈文案,需要url解码后使用 private String imgs; // 图片信息 public Integer getCommission() { return commission; @@ -480,4 +480,12 @@ public void setCircleText(String circleText) { this.circleText = circleText; } public String getImgs() { return imgs; } public void setImgs(String imgs) { this.imgs = imgs; } } fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java
@@ -28,6 +28,7 @@ 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.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.fanli.entity.taobao.haodanku.HDKGoodsDetail; import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException; @@ -45,9 +46,11 @@ 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 { @@ -419,25 +422,23 @@ continue; } for (HDKWXCircleContentDTO hdkGoods: list) { for (HDKWXCircleContentDTO circleContentDTO: list) { try { String itemid = hdkGoods.getItemid(); List<String> pics = hdkGoods.getItempic(); String copy_content = hdkGoods.getCopy_content(); 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(); HDKGoodsDetail itemDetail = HaoDanKuApiUtil.getInstance().getItemDetail(itemid); if (itemDetail == null) { continue; } goodsEvaluateService.addGoodsEvaluate2(itemid, pics, user, showtitle, null); goodsEvaluateService.addGoodsEvaluate2(TaoBaoGoodsFactory.create(hdkGoods), pics, user, showtitle, null); addResult = true; break; } catch (GoodsEvaluateException e) { @@ -463,26 +464,33 @@ try { DaTaoKeGoodsResult result = DaTaoKeApiUtil.getFriendsFircleList("1", 100); while (result.getGoodsList() != null && result.getGoodsList().size() > 0) { for (DaTaoKeDetailV2 v2 : result.getGoodsList()) { for (DaTaoKeDetailV2 detailV2 : result.getGoodsList()) { try { Long goodsId = v2.getGoodsId(); String circleText = v2.getCircleText(); 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 (v2.getCid() != null) { user = activityUserService.getRandomByDaTaoKeCid(v2.getCid()); 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(); } goodsEvaluateService.addGoodsEvaluate2(goodsId + "", null, user, showtitle, null); goodsEvaluateService.addGoodsEvaluate2(TaoBaoUtil.convert(tkGoods), null, user, showtitle, null); addResult = true; break; } catch (GoodsEvaluateException e) { fanli/src/main/java/com/yeshi/fanli/util/factory/goods/TaoBaoGoodsFactory.java
New file @@ -0,0 +1,69 @@ package com.yeshi.fanli.util.factory.goods; import java.math.BigDecimal; import java.util.Arrays; import org.yeshi.utils.taobao.TbImgUtil; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.haodanku.HDKGoodsDetail; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; public class TaoBaoGoodsFactory { /** * 好单库商品转换 * @param hdkGoods * @return */ public static TaoBaoGoodsBrief create(HDKGoodsDetail hdkGoods) { if (hdkGoods == null) return null; TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief(); goods.setAuctionId(hdkGoods.getItemid()); goods.setTitle(hdkGoods.getItemtitle()); goods.setPictUrl(TbImgUtil.getTBSize320Img((hdkGoods.getItempic()))); goods.setZkPrice(new BigDecimal(hdkGoods.getItemprice() + "")); goods.setBiz30day(hdkGoods.getItemsale()); goods.setTkRate(BigDecimal.valueOf(hdkGoods.getTkrates())); goods.setState(0); // 图片列表 String taobao_image = hdkGoods.getTaobao_image(); if (!StringUtil.isNullOrEmpty(taobao_image)) { goods.setImgList(Arrays.asList(taobao_image.split(","))); } // 券信息 if (hdkGoods.getCouponmoney() != null && hdkGoods.getCouponmoney() > 0) { goods.setCouponAmount(BigDecimal.valueOf(hdkGoods.getCouponmoney())); if (hdkGoods.getCoupon_condition() != null) { BigDecimal couponCondition = new BigDecimal(hdkGoods.getCoupon_condition()); goods.setCouponStartFee(couponCondition); if (couponCondition.compareTo(new BigDecimal(0)) > 0) goods.setCouponInfo(String.format("满%s元减%s元", MoneyBigDecimalUtil.getWithNoZera(couponCondition)+ "", MoneyBigDecimalUtil.getWithNoZera(goods.getCouponAmount())+ "")); else goods.setCouponInfo(String.format("%s元无条件券", goods.getCouponAmount() + "")); } goods.setCouponLink(hdkGoods.getCouponurl()); goods.setCouponLeftCount(hdkGoods.getCouponsurplus()); goods.setCouponTotalCount(hdkGoods.getCouponnum()); } // 店铺 goods.setShopTitle(hdkGoods.getShopname()); if ("B".equalsIgnoreCase(hdkGoods.getShoptype())) goods.setUserType(0); else goods.setUserType(1); return goods; } } fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -1785,6 +1785,20 @@ if (taoBaoGoods.getPictUrlWhite() != null && !taoBaoGoods.getPictUrlWhite().startsWith("http")) taoBaoGoods.setPictUrlWhite("https:" + taoBaoGoods.getPictUrlWhite()); String imgs = detail.getImgs(); if (!StringUtil.isNullOrEmpty(imgs)) { String[] array = imgs.split(","); if (array != null && array.length > 0) { List<String> imgList = new ArrayList<>(); for (int i = 0 ; i < array.length; i++) { imgList.add(array[i]); } taoBaoGoods.setImgList(imgList); } } taoBaoGoods.setSellerId(detail.getSellerId()); taoBaoGoods.setShopTitle(detail.getShopName()); taoBaoGoods.setTitle(detail.getDtitle());