Administrator
2020-02-27 4464da1f8c32fcb404c58741f3b951f179d0caf0
快捷分享
2个文件已修改
186 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
@@ -14,6 +14,7 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.BigDecimalUtil;
import org.yeshi.utils.DateUtil;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.JsonUtil;
@@ -244,7 +245,16 @@
    }
    public static String getERCodeContent(String template, TaoBaoGoodsBrief goods, String token) {
        return template.replace("[淘口令]", token);
        //return template.replace("[淘口令]", token);
        String commentText = template.replace("[原价]", goods.getZkPrice().toString());
        commentText = commentText.replace("[口令]", token);
        if (StringUtil.isNullOrEmpty(goods.getCouponInfo())) {
            commentText= commentText.replace("领券抢购", "抢购");
            commentText= commentText.replace("【券后价】[券后价]元", "");
        } else {
            commentText= commentText.replace("[券后价]", TaoBaoUtil.getAfterUseCouplePrice(goods) + "");
        }
        return commentText;
    }
    /**
@@ -589,12 +599,37 @@
            // 设置评论文本选项
            shareInfo.setCommentTextChoiceList(getCommentChoiceList(shareInfo.getToken(), null, inviteCode,
                    TaoBaoUtil.getGoodsHongBaoMoney(taoBaoLink.getGoods(), hongBaoManageService.getFanLiRate())));
            shareInfo.setCommentText(shareInfo.getShareText());
            if (VersionUtil.greaterThan_2_0_7(platform, version))
                shareInfo.setRecommendText(taoBaoLink.getGoods().getDescription());
            else
                shareInfo.setRecommendText(shareInfo.getDescText());
            String commentText = "";
            String recommendText = "";
            if (VersionUtil.greaterThan_2_0_7(platform, version)){
                TaoBaoGoodsBrief goods = taoBaoLink.getGoods();
                String template = configService.get(ConfigKeyEnum.quickShareGoodsText.getKey());
                recommendText = template.replace("[商品标题]", goods.getTitle()).
                        replace("[销量]", TaoBaoUtil.getSaleCount(taoBaoLink.getGoods().getBiz30day()));
                if (StringUtil.isNullOrEmpty(goods.getDescription())) {
                    recommendText = recommendText.replace("推荐语:[推荐语]", "");
                } else {
                    recommendText = recommendText.replace("[推荐语]", goods.getDescription());
                }
                String quickCommentText = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
                commentText = quickCommentText.replace("[原价]", goods.getZkPrice().toString());
                commentText = quickCommentText.replace("[口令]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
                if (StringUtil.isNullOrEmpty(taoBaoLink.getGoods().getCouponInfo())) {
                    commentText= commentText.replace("领券抢购", "抢购");
                    commentText= commentText.replace("【券后价】[券后价]元", "");
                    recommendText = recommendText.replace("优惠券:[券面额]", "");
                } else {
                    commentText= commentText.replace("[券后价]", TaoBaoUtil.getAfterUseCouplePrice(taoBaoLink.getGoods()) + "");
                    recommendText = recommendText.replace("[券面额]", MoneyBigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getCouponAmount()).toString());
                }
            } else {
                recommendText = shareInfo.getDescText();
                commentText = shareInfo.getShareText();
            }
            shareInfo.setCommentText(commentText);
            shareInfo.setRecommendText(recommendText);
            out.print(JsonUtil.loadTrueResult(
                    JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create().toJson(shareInfo)));
@@ -735,8 +770,32 @@
        shareInfo.setCommentTextChoiceList(getCommentChoiceList(null, shareInfo.getClickUrl(), inviteCode,
                JDUtil.getGoodsFanLiMoney(jdGoods, hongBaoManageService.getFanLiRate())));
        shareInfo.setCommentText(shareInfo.getShareText());
        shareInfo.setRecommendText(shareInfo.getDescText());
        String commentText = "";
        String recommendText = "";
        if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())){
            String template = configService.get(ConfigKeyEnum.quickShareGoodsText.getKey());
            recommendText = template.replace("[商品标题]", jdGoods.getSkuName()).
                    replace("[销量]", JDUtil.getSaleCount(jdGoods.getInOrderCount30Days()));
            // 无推荐语
            recommendText = recommendText.replace("推荐语:[推荐语]", "");
            String quickCommentText = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
            commentText = quickCommentText.replace("[原价]", jdGoods.getPrice().toString());
            commentText = quickCommentText.replace("[链接]", jumpLink);
            if (couponInfo == null) {
                commentText= commentText.replace("领券抢购", "抢购");
                commentText= commentText.replace("【券后价】[券后价]元", "");
                recommendText = recommendText.replace("优惠券:[券面额]", "");
            } else {
                commentText= commentText.replace("[券后价]", BigDecimalUtil.getWithNoZera(JDUtil.getQuanPrice(jdGoods)).toString());
                recommendText = recommendText.replace("[券面额]",BigDecimalUtil.getWithNoZera(JDUtil.getShowCouponInfo(jdGoods).getDiscount()).toString());
            }
        } else {
            commentText = shareInfo.getShareText();
            recommendText = shareInfo.getDescText();
        }
        shareInfo.setCommentText(commentText);
        shareInfo.setRecommendText(recommendText);
        out.print(JsonUtil.loadTrueResult(
                JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create().toJson(shareInfo)));
@@ -872,8 +931,40 @@
        shareInfo.setCommentTextChoiceList(getCommentChoiceList(null, shareInfo.getClickUrl(), inviteCode,
                PinDuoDuoUtil.getGoodsFanLiMoney(goods, hongBaoManageService.getFanLiRate())));
        shareInfo.setCommentText(shareInfo.getShareText());
        shareInfo.setRecommendText(shareInfo.getDescText());
        String commentText = "";
        String recommendText = "";
        if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())){
            String qtemplate = configService.get(ConfigKeyEnum.quickShareGoodsText.getKey());
            recommendText = qtemplate.replace("[商品标题]", goods.getGoodsName());
            // 总销量
            String salesTip = goods.getSalesTip();
            if (StringUtil.isNullOrEmpty(salesTip)) {
                salesTip = "0";
            }
            recommendText = recommendText.replace("[销量]", salesTip);
            recommendText = recommendText.replace("推荐语:[推荐语]", "");
            String quickCommentText = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
            commentText = quickCommentText.replace("[原价]", MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), new BigDecimal(100)).setScale(2).toString());
            commentText = quickCommentText.replace("[链接]", jumpLink);
            if (!hasCoupon) {
                commentText= commentText.replace("领券抢购", "抢购");
                commentText= commentText.replace("【券后价】[券后价]元", "");
                recommendText = template.replace("优惠券:[券面额]", "");
            } else {
                commentText= commentText.replace("[券后价]", BigDecimalUtil.getWithNoZera(PinDuoDuoUtil.getQuanPrice(goods)).toString());
                BigDecimal hundred = new BigDecimal(100);
                BigDecimal amount = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), hundred);
                recommendText = template.replace("[券面额]", BigDecimalUtil.getWithNoZera(amount).toString());
            }
        } else {
            commentText = shareInfo.getShareText();
            recommendText = shareInfo.getDescText();
        }
        shareInfo.setRecommendText(recommendText);
        shareInfo.setCommentText(commentText);
        out.print(JsonUtil.loadTrueResult(
                JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create().toJson(shareInfo)));
@@ -1524,4 +1615,73 @@
        out.print(JsonUtil.loadTrueResult(data));
    }
    @RequestMapping(value = "getShareTextQuick", method = RequestMethod.POST)
    public void getShareTextQuick(AcceptData acceptData, Long goodsId, Integer goodsType,
            Long uid, PrintWriter out) {
        if (uid == null) {
            out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
            return;
        }
        if (goodsType == null || goodsId == null) {
            out.print(JsonUtil.loadFalseResult(1, "请传递正确的商品信息"));
            return;
        }
        GoodsDetailVO goodsDetail = null;
        ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
                acceptData.getVersion());
        paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
        if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
            TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goodsId);
            if (goods == null){
                try {
                    goods = redisManager.getTaoBaoGoodsBrief(goodsId);
                } catch (TaobaoGoodsDownException e) {
                    goods = null;
                }
            }
            if (goods != null) {
                goodsDetail = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
            }
        } else if (goodsType == Constant.SOURCE_TYPE_JD) {
            JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
            if (goods != null) {
                goodsDetail = GoodsDetailVOFactory.convertJDGoods(goods, paramsDTO);
            }
        } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
            PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
            if (goods != null) {
                goodsDetail = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO);
            }
        }
        if (goodsDetail == null) {
            out.print(JsonUtil.loadFalseResult(1, "该商品已下架"));
            return;
        }
        String template = configService.get(ConfigKeyEnum.quickShareGoodsText.getKey());
        template = template.replace("[商品标题]", goodsDetail.getTitle()).replace("[销量]", goodsDetail.getSalesCount());
        if (StringUtil.isNullOrEmpty(goodsDetail.getDescription())) {
            template = template.replace("[推荐语]", goodsDetail.getDescription());
        } else {
            template = template.replace("推荐语:[推荐语]", "");
        }
        if (goodsDetail.isHasCoupon()) {
            template = template.replace("[券面额]", String.format("满%s元减%s元",
                    MoneyBigDecimalUtil.getWithNoZera(goodsDetail.getCouponInfo().getStartFee()).toString(),
                    MoneyBigDecimalUtil.getWithNoZera(goodsDetail.getCouponInfo().getAmount()).toString()));
        } else {
            template = template.replace("优惠券:[券面额]", "");
        }
        JSONObject data = new JSONObject();
        data.put("description", template);
        out.print(JsonUtil.loadTrueResult(data));
    }
}
fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java
@@ -168,7 +168,11 @@
    convertDocHelpLink("convert_doc_help_link","文案转链帮助网页"),
    convertDocTip("convert_doc_tip","文案转链温馨提示"),
    newerGonglue("newer_gonglue_url","新手攻略链接"),
    tearcherLink("tearcher_link","导师链接")
    tearcherLink("tearcher_link","导师链接"),
    quickShareGoodsText("quick_share_goods_text", "快捷分享商品文本"),
    quickShareTBCommentText("quick_share_tb_comment_text", "快捷分享商品文本"),
    quickShareJDCommentText("quick_share_jd_comment_text", "快捷分享商品文本"),
    quickSharePDDCommentText("quick_share_pdd_comment_text", "快捷分享商品文本"),
    ;
    private final String key;