admin
2019-08-05 34e65d72e73acab040b68d01ef6b4764b4408624
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.getPromotionUrl(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();
@@ -731,7 +712,7 @@
      try {
         ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, goodsId,
               Constant.SOURCE_TYPE_JD);
               Constant.SOURCE_TYPE_PDD);
         shareInfo.setShareId(shareRecord.getRedisKey());
      } catch (Exception e) {
         try {
@@ -751,7 +732,7 @@
            history.setUser(new UserInfo(uid));
            history.setHongbao(shareMoney);
            history.setCreateTime(new Date());
            history.setGoodsType(Constant.SOURCE_TYPE_JD);
            history.setGoodsType(Constant.SOURCE_TYPE_PDD);
            history.setTkCode(null);
            history.setLink(null);
            history.setQuanLink(null);
@@ -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,10 +940,13 @@
         }
      }
      String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
            Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
            goodsId + "");
      String shortLink = HttpUtil.getShortLink(url);
      String couponUrl = null;
      JDCouponInfo couponInfo = goods.getCouponInfo();
      if (couponInfo != null) {
         couponUrl = couponInfo.getLink();
      }
      String materialId = "https://item.jd.com/" + goodsId + ".html";
      String shortLink = JDApiUtil.convertShortLink(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid+ "");
      String content = shareGoodsTextTemplateService.createContentByTemplateJD(template, uid, goods, shortLink,
            hasCoupon);
@@ -972,7 +956,7 @@
   }
   /**
    * 创建京东分享模板
    * 创建拼多多分享模板
    * 
    * @param uid
    * @param template
@@ -1014,11 +998,13 @@
         }
      }
      // 创建h5连接
      String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
            Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
            goodsId + "");
      String shortLink = HttpUtil.getShortLink(url);
//      // 创建h5连接
//      String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
//            Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
//            goodsId + "");
//      String shortLink = HttpUtil.getShortLink(url);
      String shortLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", uid + "");
      // 创建口令
      String token = PinDuoDuoApiUtil.createGenerate(goodsId);