yujian
2019-07-31 f4548a3ee46afe45da4ee2a42dc169c575deee9f
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
@@ -533,60 +533,50 @@
    * @param out
    */
   public void createJDShare(AcceptData acceptData, Long uid, Long goodsId, String source, PrintWriter out) {
      JDGoods jdGoods = JDApiUtil.queryGoodsDetail(goodsId);
      if (jdGoods == null) {
         jdGoods = JDApiUtil.getGoodsDetail(goodsId);
      }
      JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
      if (jdGoods == null) {
         out.print(JsonUtil.loadFalseResult(1, "该商品淘已下架"));
         return;
      }
      // TODO
      ShareInfoVO shareInfo = new ShareInfoVO();
      String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq&goodsType=%s", configService.getH5Host(),
            Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
            goodsId + "", Constant.SOURCE_TYPE_JD);
//      String url = String.format("http://%s%s?uid=%s&id=%s", configService.getH5Host(),
//            Constant.systemCommonConfig.getShareGoodsPagePathJD(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
//            goodsId + "");
      // 券短连接
      String shortLink = HttpUtil.getShortLink(url);
      if (!StringUtil.isNullOrEmpty(shortLink)) {
         url = shortLink;
      String couponUrl = null;
      JDCouponInfo couponInfo = jdGoods.getCouponInfo();
      if (couponInfo != null) {
         couponUrl = couponInfo.getLink();
      }
      String materialId = "https://item.jd.com/" + goodsId + ".html";
      String jumpLink = JDApiUtil.convertShortLink(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid+ "");
      shareInfo.setClickUrl(url);
      ShareInfoVO shareInfo = new ShareInfoVO();
      shareInfo.setClickUrl(jumpLink);
      shareInfo.setRule(configService.get("share_rule_link_jd"));
      shareInfo.setPictUrl(jdGoods.getPicUrl());
      String shareText = "";
      String shopType = "京东价";
      boolean hasCoupon = false;
      // 分享模板
      JDCouponInfo couponInfo = jdGoods.getCouponInfo();
      if (couponInfo == null) {
         String text = shareGoodsTextTemplateService.getCommonTemplate(uid);
         if (StringUtil.isNullOrEmpty(text)) {
            text = configService.get("goods_share_text_nocoupon");
         }
         shareText = text.replace("{标题}", jdGoods.getSkuName()).replace("{商品原价}",
               MoneyBigDecimalUtil.getWithNoZera(jdGoods.getPrice()) + "");
      } else// 有券
      {
         String text = shareGoodsTextTemplateService.geteCouponTemplate(uid);
         if (StringUtil.isNullOrEmpty(text))
            text = configService.get("goods_share_text_coupon");
         shareText = text.replace("{标题}", jdGoods.getSkuName())
               .replace("{商品原价}", MoneyBigDecimalUtil.getWithNoZera(jdGoods.getPrice()) + "")
               .replace("{优惠券面额}", MoneyBigDecimalUtil.getWithNoZera(couponInfo.getDiscount()) + "")
               .replace("{优惠券价}", JDUtil.getQuanPrice(jdGoods) + "");
      ShareGoodsTextTemplate textTemplate = shareGoodsTextTemplateService.getShareGoodsTextTemplate(uid);
      if (couponInfo == null) { // 无券模板
         if (textTemplate != null)
            shareText = textTemplate.getShareJDTextTemplate();
         if (StringUtil.isNullOrEmpty(shareText))
            shareText = configService.get("goods_share_text_nocoupon_jd");
      } else { // 有券模板
         hasCoupon = true;
         if (textTemplate != null)
            shareText = textTemplate.getShareJDTextTemplateCoupon();
         if (StringUtil.isNullOrEmpty(shareText))
            shareText = configService.get("goods_share_text_coupon_jd");
      }
      shareText = shareText.replace("{店铺类型}", shopType)
            .replace("{月销量}", JDUtil.getSaleCount(jdGoods.getInOrderCount30Days())).replace("{领券短链}", shortLink)
            .replace("{淘口令}", null);
      shareText = shareGoodsTextTemplateService.createContentByTemplateJD(shareText, uid, jdGoods, jumpLink, hasCoupon);
      shareInfo.setShareText(shareText);
      String descText = shareText.replace(jdGoods.getSkuName(), "").trim();
@@ -595,7 +585,6 @@
      }
      shareInfo.setDescText(descText);
      //
      String imgs = configService.get("goods_share_notify_imgs");
      JSONArray array = JSONArray.fromObject(imgs);
      int p = (int) (array.size() * Math.random());
@@ -658,55 +647,47 @@
    * @param out
    */
   public void createPDDShare(AcceptData acceptData, Long uid, Long goodsId, String source, PrintWriter out) {
      PDDGoodsDetail goods = PinDuoDuoApiUtil.getGoodsDetail(goodsId);
      PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
      if (goods == null) {
         out.print(JsonUtil.loadFalseResult(1, "该商品已下架"));
         return;
      }
//      String url = String.format("http://%s%s?uid=%s&id=%s", configService.getH5Host(),
//            Constant.systemCommonConfig.getShareGoodsPagePathPDD(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
//            goodsId + "");
      String jumpLink = PinDuoDuoApiUtil.convert(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", uid + "");
      ShareInfoVO shareInfo = new ShareInfoVO();
      // TODO
      String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq&goodsType=%s", configService.getH5Host(),
            Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
            goodsId + "", Constant.SOURCE_TYPE_PDD);
      String shortLink = HttpUtil.getShortLink(url);
      if (!StringUtil.isNullOrEmpty(shortLink)) {
         url = shortLink;
      }
      shareInfo.setClickUrl(url);
      shareInfo.setClickUrl(jumpLink);
      shareInfo.setRule(configService.get("share_rule_link_pdd"));
      shareInfo.setPictUrl(goods.getGoodsImageUrl());
      String shareText = "";
      String shopType = "拼多多价";
      // 无券
      String template = "";
      boolean hasCoupon = false;
      ShareGoodsTextTemplate textTemplate = shareGoodsTextTemplateService.getShareGoodsTextTemplate(uid);
      if (goods.getHasCoupon() == null || !goods.getHasCoupon()) {
         String text = shareGoodsTextTemplateService.getCommonTemplate(uid);
         if (StringUtil.isNullOrEmpty(text))
            text = configService.get("goods_share_text_nocoupon");
         shareText = text.replace("{标题}", goods.getGoodsName()).replace("{商品原价}",
               MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(goods.getMinNormalPrice())) + "");
      } else// 有券
      {
         String text = shareGoodsTextTemplateService.geteCouponTemplate(uid);
         if (StringUtil.isNullOrEmpty(text))
            text = configService.get("goods_share_text_coupon");
         if (textTemplate != null)
            template = textTemplate.getSharePDDTextTemplate();
         shareText = text.replace("{标题}", goods.getGoodsName())
               .replace("{商品原价}",
                     MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(goods.getMinNormalPrice())) + "")
               .replace("{优惠券面额}",
                     MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(goods.getCouponDiscount())) + "")
               .replace("{优惠券价}", PinDuoDuoUtil.getQuanPrice(goods) + "");
         if (StringUtil.isNullOrEmpty(template))
            template = configService.get("goods_share_text_nocoupon_pdd");
      } else {
         hasCoupon = true;
         if (textTemplate != null)
            template = textTemplate.getSharePDDTextTemplateCoupon();
         if (StringUtil.isNullOrEmpty(template))
            template = configService.get("goods_share_text_coupon_pdd");
      }
      shareText = shareText.replace("{店铺类型}", shopType)
            .replace("{月销量}", PinDuoDuoUtil.getSaleCount(goods.getSoldQuantity())).replace("{领券短链}", shortLink)
            .replace("{淘口令}", null);
      // 创建口令
      String token = PinDuoDuoApiUtil.createGenerate(goodsId);
      // 生成分享内容
      String shareText = shareGoodsTextTemplateService.createContentByTemplatePDD(template, uid, goods, jumpLink,
                  hasCoupon, token);
      shareInfo.setShareText(shareText);
      String descText = shareText.replace(goods.getGoodsName(), "").trim();
@@ -805,12 +786,12 @@
         return;
      }
      if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
      if (goodsType == Constant.SOURCE_TYPE_JD) {
         createJDViewText(goodsType, uid, template, goodsId, hasCoupon, out);
         return;
      }
      if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
      if (goodsType == Constant.SOURCE_TYPE_PDD) {
         createPDDViewText(goodsType, uid, template, goodsId, hasCoupon, out);
         return;
      }
@@ -959,8 +940,8 @@
         }
      }
      String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
            Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
      String url = String.format("http://%s%s?uid=%s&id=%s", configService.getH5Host(),
            Constant.systemCommonConfig.getShareGoodsPagePathJD(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
            goodsId + "");
      String shortLink = HttpUtil.getShortLink(url);