yujian
2020-06-19 dcb37a9df7c41be08d3aed13667e9162382d134a
发圈商品来源调整
3个文件已修改
1个文件已添加
137 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/entity/taobao/dataoke/DaTaoKeDetailV2.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/TaoBaoGoodsFactory.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java 14 ●●●●● 补丁 | 查看 | 原始文档 | 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("&nbsp;", " ");
                        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());