admin
2020-05-19 744594ef1a2f530fc3e86ea9dc48b62247f79420
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.controller.client.v1;
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
@@ -17,6 +18,13 @@
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.yeshi.fanli.controller.client.v2.ShareControllerV2;
import com.yeshi.fanli.dto.share.ShareGoodsRecordDTO;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup;
@@ -25,17 +33,17 @@
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinRecord;
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.dynamic.DynamicInfo;
import com.yeshi.fanli.entity.dynamic.GoodsPicture;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.system.SystemClientParams;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.entity.taobao.TaoBaoLink;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
import com.yeshi.fanli.exception.ShareGoodsException;
import com.yeshi.fanli.exception.goods.ShareGoodsTextTemplateException;
import com.yeshi.fanli.exception.share.ShareGoodsException;
import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.tlj.UserTaoLiJinRecordException;
@@ -46,24 +54,23 @@
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.goods.ShareGoodsTextTemplateService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService;
import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.factory.MonitorFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -204,25 +211,26 @@
         }
         data.put("clickUrl", url);
         data.put("token", taoBaoLink.getTaoToken());
         data.put("rule", configService.get("share_single_goods_rule"));
         data.put("token", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
         data.put("rule", configService.get(ConfigKeyEnum.shareSingleGoodsRule.getKey()));
         data.put("pictUrl", TbImgUtil.getTBSizeImg(taoBaoLink.getGoods().getPictUrl(), 500));
         String shareText = "";
         // 无券
         String shopType = taoBaoLink.getGoods().getUserType() == 0 ? "淘宝价" : "天猫价";
         String shopType = taoBaoLink.getGoods().getUserType() == 0 ? TaoBaoConstant.SHARE_PRICE_TAOBAO
               : TaoBaoConstant.SHARE_PRICE_TM;
         if (StringUtil.isNullOrEmpty(taoBaoLink.getGoods().getCouponInfo())) {
            String text = shareGoodsTextTemplateService.getCommonTemplate(uid);
            if (StringUtil.isNullOrEmpty(text))
               text = configService.get("goods_share_text_nocoupon");
               text = configService.get(ConfigKeyEnum.goodsShareTextNoCoupon.getKey());
            shareText = text.replace("{标题}", taoBaoLink.getGoods().getTitle()).replace("{商品原价}",
                  MoneyBigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getZkPrice()) + "");
         } else// 有券
         {
            String text = shareGoodsTextTemplateService.geteCouponTemplate(uid);
            if (StringUtil.isNullOrEmpty(text))
               text = configService.get("goods_share_text_coupon");
               text = configService.get(ConfigKeyEnum.goodsShareTextCoupon.getKey());
            shareText = text.replace("{标题}", taoBaoLink.getGoods().getTitle())
                  .replace("{商品原价}", MoneyBigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getZkPrice()) + "")
@@ -233,19 +241,19 @@
         shareText = shareText.replace("{店铺类型}", shopType)
               .replace("{月销量}", TaoBaoUtil.getSaleCount(taoBaoLink.getGoods().getBiz30day()))
               .replace("{领券短链}", shortLink).replace("{淘口令}", taoBaoLink.getTaoToken());
               .replace("{领券短链}", shortLink).replace("{淘口令}", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
         data.put("shareText", shareText);
         String descText = shareText.replace(taoBaoLink.getGoods().getTitle(), "").trim();
         if (descText.startsWith("\\r\\n"))
            descText = descText.substring(0);
         data.put("descText", descText);
         //
         String imgs = configService.get("goods_share_notify_imgs");
         String imgs = configService.get(ConfigKeyEnum.goodsShareNotifyImgs.getKey());
         JSONArray array = JSONArray.fromObject(imgs);
         int p = (int) (array.size() * Math.random());
         if (p < array.size())
            data.put("notifyPicture", array.optString(p));
         data.put("notifyDesc", configService.get("goods_share_notify"));
         data.put("notifyDesc", configService.get(ConfigKeyEnum.goodsShareNotify.getKey()));
         // 添加分享记录
         BigDecimal rate = hongBaoManageService.getShareRate();
@@ -253,7 +261,8 @@
         data.put("shareMoney", "¥" + shareMoney.toString());
         try {
            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, auctionId, Constant.SOURCE_TYPE_TAOBAO);
            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, auctionId,
                  Constant.SOURCE_TYPE_TAOBAO, false);
            data.put("shareId", shareRecord.getRedisKey());
         } catch (Exception e) {
            try {
@@ -275,7 +284,7 @@
               history.setHongbao(shareMoney);
               history.setCreateTime(new Date());
               history.setGoodsType(UserShareGoodsHistory.TYPE_TAOBAO);
               history.setTkCode(taobaoLink.getTaoToken());
               history.setTkCode(TaoBaoUtil.filterTaoToken(taobaoLink.getTaoToken()));
               history.setLink(taobaoLink.getClickUrl());
               history.setQuanLink(taobaoLink.getCouponLink());
               history.setGoodsId(taobaoLink.getGoods().getAuctionId());
@@ -320,7 +329,7 @@
         TaoBaoGoodsBrief goods = taoBaoLink.getGoods();
         // 计算推广红包
         String warningRate = configTaoLiJinService.getValueByKey("warning_value");
         String warningRate = configTaoLiJinService.getValueByKey("warning_value", null);
         BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, goods);
         // 推广红包 不能小于1
@@ -367,27 +376,28 @@
               taoBaoLink.setTaoToken(quanToken);
            }
         }
         data.put("token", taoBaoLink.getTaoToken());
         data.put("token", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
         data.put("rule",
               "http://apph5.yeshitv.com/apppage/all_help_content.html?id=148&from=singlemessage&isappinstalled=0");
               "http://apph5.banliapp.com/apppage/all_help_content.html?id=148&from=singlemessage&isappinstalled=0");
         data.put("pictUrl", TbImgUtil.getTBSizeImg(taoBaoLink.getGoods().getPictUrl(), 500));
         // 无券
         String shopType = taoBaoLink.getGoods().getUserType() == 0 ? "淘宝价" : "天猫价";
         String shopType = taoBaoLink.getGoods().getUserType() == 0 ? TaoBaoConstant.SHARE_PRICE_TAOBAO
               : TaoBaoConstant.SHARE_PRICE_TM;
         String shareText = "";
         if (StringUtil.isNullOrEmpty(taoBaoLink.getGoods().getCouponInfo())) {
            String text = shareGoodsTextTemplateService.getCommonTemplate(uid);
            if (StringUtil.isNullOrEmpty(text))
               text = configService.get("goods_share_text_nocoupon");
               text = configService.get(ConfigKeyEnum.goodsShareTextNoCoupon.getKey());
            shareText = text.replace("{标题}", taoBaoLink.getGoods().getTitle()).replace("{商品原价}",
                  MoneyBigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getZkPrice()) + "");
         } else// 有券
         {
            String text = shareGoodsTextTemplateService.getTaoLiJinTemplate(uid);
            if (StringUtil.isNullOrEmpty(text))
               text = configTaoLiJinService.getValueByKey("goods_share_text");
               text = configTaoLiJinService.getValueByKey("goods_share_text", new Date());
            shareText = text.replace("{标题}", taoBaoLink.getGoods().getTitle())
                  .replace("{商品原价}", MoneyBigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getZkPrice()) + "")
@@ -399,19 +409,19 @@
         shareText = shareText.replace("{店铺类型}", shopType)
               .replace("{月销量}", TaoBaoUtil.getSaleCount(taoBaoLink.getGoods().getBiz30day()))
               .replace("{领券短链}", shortLink).replace("{淘口令}", taoBaoLink.getTaoToken());
               .replace("{领券短链}", shortLink).replace("{淘口令}", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
         data.put("shareText", shareText);
         String descText = shareText.replace(taoBaoLink.getGoods().getTitle(), "").trim();
         if (descText.startsWith("\\r\\n"))
            descText = descText.substring(0);
         data.put("descText", descText);
         String imgs = configService.get("goods_share_notify_imgs");
         String imgs = configService.get(ConfigKeyEnum.goodsShareNotifyImgs.getKey());
         JSONArray array = JSONArray.fromObject(imgs);
         int p = (int) (array.size() * Math.random());
         if (p < array.size())
            data.put("notifyPicture", array.optString(p));
         data.put("notifyDesc", configService.get("goods_share_notify"));
         data.put("notifyDesc", configService.get(ConfigKeyEnum.goodsShareNotify.getKey()));
         // 添加分享记录
         BigDecimal rate = hongBaoManageService.getShareRate();
@@ -419,7 +429,8 @@
         data.put("shareMoney", "¥" + shareMoney.toString());
         try {
            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, auctionId, Constant.SOURCE_TYPE_TAOBAO);
            ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsDetail(uid, auctionId,
                  Constant.SOURCE_TYPE_TAOBAO, true);
            data.put("shareId", shareRecord.getRedisKey());
         } catch (Exception e) {
            try {
@@ -441,7 +452,7 @@
               history.setHongbao(shareMoney);
               history.setCreateTime(new Date());
               history.setGoodsType(UserShareGoodsHistory.TYPE_TAOBAO);
               history.setTkCode(taobaoLink.getTaoToken());
               history.setTkCode(TaoBaoUtil.filterTaoToken(taobaoLink.getTaoToken()));
               history.setLink(taobaoLink.getClickUrl());
               history.setQuanLink(taobaoLink.getCouponLink());
               history.setGoodsId(taobaoLink.getGoods().getAuctionId());
@@ -500,15 +511,28 @@
         List<UserShareGoodsRecord> list = new ArrayList<UserShareGoodsRecord>();
         long count = userShareGoodsRecordService.countQueryByUid(uid, source);
         if (count > 0) {
            list = userShareGoodsRecordService.getMyShareGoodsRecords((page - 1) * pageSize, pageSize, uid, source);
         }
         data.put("count", count);
         data.put("result_list", list);
         out.print(JsonUtil.loadTrueResult(data));
         GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
         gsonBuilder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
            @Override
            public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
               if (value == null) {
                  return new JsonPrimitive("");
               } else {
                  // 保留2位小数
                  value = value.setScale(2);
                  return new JsonPrimitive(value.toString());
               }
            }
         });
         Gson gson = gsonBuilder.create();
         data.put("count", count);
         data.put("result_list", gson.toJson(list));
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("加载失败"));
         e.printStackTrace();
@@ -607,6 +631,7 @@
   public void updateRecord(AcceptData acceptData, String shareId, String type, PrintWriter out) {
      if (StringUtil.isNullOrEmpty(shareId)) {
         out.print(JsonUtil.loadFalseResult("参数不正确"));
         return;
      }
      // 更新分享生效
@@ -614,13 +639,9 @@
         @Override
         public void run() {
            try {
               userShareGoodsRecordService.takeEffectShareRecord(shareId);
               userShareGoodsRecordService.takeEffectShareRecord(acceptData, shareId);
            } catch (UserShareGoodsRecordException eu) {
               try {
                  LogHelper.errorDetailInfo(eu);
               } catch (Exception e) {
                  e.printStackTrace();
               }
            } catch (Exception e) {
               try {
                  LogHelper.errorDetailInfo(e);
@@ -834,19 +855,19 @@
         if (tljId != null) {
            String template = shareGoodsTextTemplateService.getTaoLiJinTemplate(uid);
            if (StringUtil.isNullOrEmpty(template))
               template = configTaoLiJinService.getValueByKey("goods_share_text");
               template = configTaoLiJinService.getValueByKey("goods_share_text", new Date());
            return template;
         } else {
            String template = shareGoodsTextTemplateService.geteCouponTemplate(uid);
            if (StringUtil.isNullOrEmpty(template))
               template = configService.get("goods_share_text_coupon");
               template = configService.get(ConfigKeyEnum.goodsShareTextCoupon.getKey());
            return template;
         }
      } else {
         String template = shareGoodsTextTemplateService.getCommonTemplate(uid);
         if (StringUtil.isNullOrEmpty(template))
            template = configService.get("goods_share_text_nocoupon");
            template = configService.get(ConfigKeyEnum.goodsShareTextNoCoupon.getKey());
         return template;
      }
   }
@@ -885,9 +906,9 @@
   @RequestMapping(value = "getShareTextTemplateRules", method = RequestMethod.POST)
   public void getShareTextTemplateRules(AcceptData acceptData, Long tljId, PrintWriter out) {
      if (tljId != null) {
         out.print(JsonUtil.loadTrueResult(configTaoLiJinService.getValueByKey("share_goods_rules")));
         out.print(JsonUtil.loadTrueResult(configTaoLiJinService.getValueByKey("share_goods_rules", new Date())));
      } else {
         out.print(JsonUtil.loadTrueResult(configService.get("share_goods_template_rules")));
         out.print(JsonUtil.loadTrueResult(configService.get(ConfigKeyEnum.shareGoodsTemplateRules.getKey())));
      }
   }
@@ -926,18 +947,74 @@
         if (cid == 1 || cid == 2) { // 1 热销单品 2 推荐好货
            if (cid == 1) {
               List<GoodsPicture> imgs = dynamicInfo.getImgs();
               if (imgs == null || imgs.size() == 0) {
                  out.print(JsonUtil.loadFalseResult("该商品已下架"));
                  return;
               }
               GoodsPicture goodsPicture = imgs.get(0);
               if (goodsPicture.getGoodState() == 1) {
                  out.print(JsonUtil.loadFalseResult("该商品已下架"));
                  return;
               } else {
                  TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods();
                  try {
                     TaoKeApiUtil.getSimpleGoodsInfo(goods.getAuctionId());
                  } catch (TaobaoGoodsDownException e) {
                     out.print(JsonUtil.loadFalseResult("该商品已下架"));
                     return;
               }
               TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods();
               if (goods == null) {
                  out.print(JsonUtil.loadFalseResult("该商品已下架"));
                  return;
               }
               if (goods.getState() != null && goods.getState() == 1) {
                  out.print(JsonUtil.loadFalseResult("该商品已下架"));
                  return;
               }
               if (!goods.isCoupon()) {
                  out.print(JsonUtil.loadFalseResult("该商品已下架"));
                  return;
               }
               try {
                  TaoKeApiUtil.getSimpleGoodsInfo(goods.getAuctionId());
               } catch (TaobaoGoodsDownException e) {
                  out.print(JsonUtil.loadFalseResult("该商品已下架"));
                  return;
               }
            } else {
               List<GoodsPicture> imgs = dynamicInfo.getImgs();
               if (imgs == null || imgs.size() == 0) {
                  out.print(JsonUtil.loadFalseResult("所有商品已抢光"));
                  return;
               }
               int count = 0;
               for (GoodsPicture goodsPicture : imgs) {
                  if (goodsPicture.getGoodState() == 1) {
                     count++;
                     continue;
                  }
                  TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods();
                  if (goods == null) {
                     count++;
                     continue;
                  }
                  if (goods.getState() != null && goods.getState() == 1) {
                     count++;
                     continue;
                  }
                  if (!goods.isCoupon()) {
                     count++;
                     continue;
                  }
               }
               if (count >= imgs.size()) {
                  out.print(JsonUtil.loadFalseResult("所有商品已抢光"));
                  return;
               }
            }
@@ -955,7 +1032,8 @@
               title = "给你推荐精选好物优惠券,购物前先领券,别错过优惠哦~";
            }
            data.put("title", title);
            data.put("content", "我在返利券发现了一个很好的商品,快来看看~");
            data.put("content", String.format("我在%s发现了一个很好的商品,快来看看~",
                  Constant.getAppName(acceptData.getPlatform(), acceptData.getVersion())));
            // 分享奖金
            ClientTextStyleVO desc = dynamicInfo.getDesc();
@@ -964,10 +1042,10 @@
            data.put("shareMoney", new BigDecimal(content.substring(index + 1, content.length())).toString());
            // 分享提醒
            data.put("notifyDesc", configService.get("goods_share_notify"));
            data.put("notifyDesc", configService.get(ConfigKeyEnum.goodsShareNotify.getKey()));
            // 分享提示语
            String imgs = configService.get("goods_share_notify_imgs");
            String imgs = configService.get(ConfigKeyEnum.goodsShareNotifyImgs.getKey());
            JSONArray array = JSONArray.fromObject(imgs);
            int p = (int) (array.size() * Math.random());
            if (p < array.size()) {
@@ -980,7 +1058,7 @@
            // 帮助链接
            data.put("helpLink",
                  "http://apph5.yeshitv.com/apppage/all_help_content.html?id=148&from=singlemessage&isappinstalled=0");
                  "http://apph5.banliapp.com/apppage/all_help_content.html?id=148&from=singlemessage&isappinstalled=0");
            if (cid == 2) { // 2 推荐好货
               ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordDynamic(uid,
@@ -1002,6 +1080,7 @@
               if (!StringUtil.isNullOrEmpty(shortLink)) {
                  url = shortLink;
               }
               data.put("clickUrl", url);
               // 淘宝口令
@@ -1012,16 +1091,47 @@
                  relationId = extraInfo.getRelationId();
               }
               TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId, relationId);
               data.put("token", taoBaoLink.getTaoToken());
               TaoBaoGoodsBrief goods = taoBaoLink.getGoods();
               if (!com.yeshi.fanli.util.VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(),
                     acceptData.getVersion()))
                  data.put("clickUrl",
                        ShareControllerV2.getERCodeContentNew(
                              configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), goods,
                              taoBaoLink.getTaoToken()));
               data.put("token", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
               String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
               // 测试
               List<String> commentTexts = new ArrayList<>();
               String commentTextStr = configService.get(ConfigKeyEnum.shareSingleGoodsCommentText.getKey());
               if (!StringUtil.isNullOrEmpty(commentTextStr)) {
                  JSONArray arr = JSONArray.fromObject(commentTextStr);
                  for (int i = 0; i < arr.size(); i++) {
                     if (StringUtil.isNullOrEmpty(inviteCode)) {
                        if (arr.optString(i).contains("[邀请码]")) {
                           continue;
                        }
                     }
                     if (StringUtil.isNullOrEmpty(inviteCode))
                        commentTexts.add(arr.optString(i).replace("[下载链接]", Constant.YINGYONGBAO_LINK)
                              .replace("[淘口令]", data.optString("token")));
                     else
                        commentTexts.add(arr.optString(i).replace("[下载链接]", Constant.YINGYONGBAO_LINK)
                              .replace("[邀请码]", inviteCode).replace("[淘口令]", data.optString("token")));
                  }
               }
               data.put("commentTexts", commentTexts);
               data.put("wxErCode",
                     ShareControllerV2.getERCodeContentNew(
                           configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), goods,
                           taoBaoLink.getTaoToken()));
            }
         } else if (cid == 4) { // 邀请分享
            String inviteCode = null;
            UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
            if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
               inviteCode = userInfoExtra.getInviteCode();
            } else {
            String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
            if (StringUtil.isNullOrEmpty(inviteCode)) {
               out.print(JsonUtil.loadFalseResult(9001, "邀请码未激活"));
               return;
            }
@@ -1037,7 +1147,7 @@
                  }
               }
               title = title.replace("【邀请码】", inviteCode);
               title = title.replace("【邀请链接】", UserUtil.getInviteShortLink(uid));
               title = title.replace("【邀请链接】", Constant.YINGYONGBAO_LINK);
               data.put("title", title);
            } else { // 有图分享
@@ -1087,12 +1197,9 @@
               String valueBr = valueN.replace("\n", "<br><br>");
               data.put("inviteRules", valueBr);
               // 邀请链接
               String shortLink = HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/"
                     + Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
               data.put("inviteLink", shortLink);
               data.put("inviteLink", Constant.YINGYONGBAO_LINK);
               data.put("inviteCode", inviteCode);
               data.put("helpLink", configService.get("invite_help_link"));
               data.put("helpLink", configService.get(ConfigKeyEnum.inviteHelpLink.getKey()));
            }
         }
         out.print(JsonUtil.loadTrueResult(data));