admin
2020-03-01 ec8a1c6f81b5747e9efce86faaba33d10df7f61d
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
@@ -2,7 +2,6 @@
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -15,7 +14,6 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.entity.FileUploadResult;
@@ -27,7 +25,6 @@
import com.google.gson.JsonSerializer;
import com.yeshi.fanli.dto.jd.JDCouponInfo;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.activity.ActivityUser;
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
import com.yeshi.fanli.entity.bus.homemodule.Special;
import com.yeshi.fanli.entity.bus.homemodule.SpecialLabel;
@@ -39,17 +36,19 @@
import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum;
import com.yeshi.fanli.entity.dynamic.DynamicInfo;
import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
import com.yeshi.fanli.entity.dynamic.GoodsPicture;
import com.yeshi.fanli.entity.dynamic.GoodsEvaluate.EvaluateEnum;
import com.yeshi.fanli.entity.dynamic.ImgInfo;
import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum;
import com.yeshi.fanli.entity.dynamic.SimpleGoods;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoLink;
import com.yeshi.fanli.exception.share.ShareGoodsException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.dynamic.ArticleOfficialService;
import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
@@ -58,7 +57,7 @@
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.VersionUtil;
@@ -123,6 +122,9 @@
   @Resource
   private QrCodeService qrCodeService;
   @Resource
   private ConvertLinkManager convertLinkManager;
   private final static long TYPE_REXIAO = 1;// 热销
   private final static long TYPE_TUIJIAN = 2;// 推荐
@@ -588,9 +590,9 @@
   @RequestMapping(value = "getDynamicList", method = RequestMethod.POST)
   public void getDynamicListNew(AcceptData acceptData, Integer page, Long cid, String subId, PrintWriter out) {
      int type = 1;
      if (cid == TYPE_FAQUAN)
      if (cid == TYPE_FAQUAN) {
         type = 1;
      else if (cid == TYPE_SUCAI) {
      } else if (cid == TYPE_SUCAI) {
         type = 2;
      }
@@ -680,6 +682,17 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    *
    * @param acceptData
    * @param uid
    * @param id
    * @param type
    *            1-放大 2-保存 3-分享
    * @param goodsId
    * @param goodsType
    * @param out
    */
   @RequestMapping(value = "evaluateShare", method = RequestMethod.POST)
   public void evaluateShare(AcceptData acceptData, Long uid, String id, Integer type, Long goodsId, Integer goodsType,
         PrintWriter out) {
@@ -739,30 +752,68 @@
      }
      List<String> list = new ArrayList<>();
      for (ImgInfo imgInfo : imgs) {
         GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
         if (goodsVO == null) {
            list.add(imgInfo.getUrl());
            continue;
      Integer dynamicType = goodsEvaluate.getDynamicType();
      if (dynamicType == null || dynamicType.intValue() == 2) {
         for (ImgInfo imgInfo : imgs) {
            if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video)
               continue;
            if (imgInfo.getType() == ImgEnum.img)
               list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD());
            else if (imgInfo.getType() == ImgEnum.activity)
               if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) {
                  list.add(imgInfo.getActivityPic());
               }
         }
      } else {
         // 单品
         if (goodsEvaluate.getType() == EvaluateEnum.single) {
            for (ImgInfo imgInfo : imgs) {
               GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
               if (goodsVO == null) {
                  list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD());
                  continue;
               }
         if (type == 1) {
            String jumpLink = getJumpLink(goodsVO, user, inviteCode);
            if (!StringUtil.isNullOrEmpty(jumpLink)) {
               list.add(jumpLink);
            }
         } else if (type == 2) {
            if (goodsVO.getGoodsId().longValue() == goodsId.longValue()
                  && goodsVO.getGoodsType() == goodsType.intValue()) {
               String jumpLink = getJumpLink(goodsVO, user, inviteCode);
               String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode);
               if (!StringUtil.isNullOrEmpty(jumpLink)) {
                  list.add(jumpLink);
               }
            }
         } else if (type == 3){
            String jumpLink = getJumpLink(goodsVO, user, inviteCode);
            if (!StringUtil.isNullOrEmpty(jumpLink)) {
               list.add(jumpLink);
         } else if (goodsEvaluate.getType() == EvaluateEnum.multiple) {
            if (type == 1) {
               for (ImgInfo imgInfo : imgs) {
                  if (imgInfo.getGoodsVO() != null)
                     if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue()
                           && imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) {
                        String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode);
                        if (!StringUtil.isNullOrEmpty(jumpLink)) {
                           list.add(jumpLink);
                        }
                        break;
                     }
               }
            } else if (type == 2 || type == 3) {
               for (ImgInfo imgInfo : imgs) {
                  if (imgInfo.getGoodsVO() != null) {
                     String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode);
                     if (!StringUtil.isNullOrEmpty(jumpLink)) {
                        list.add(jumpLink);
                     }
                  }
               }
            }
         } else if (goodsEvaluate.getType() == EvaluateEnum.activity) {
            for (ImgInfo imgInfo : imgs) {
               if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video)
                  continue;
               if (imgInfo.getType() == ImgEnum.img)
                  list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD());
               else if (imgInfo.getType() == ImgEnum.activity)
                  if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) {
                     list.add(imgInfo.getActivityPic());
                  }
            }
         }
      }
@@ -788,17 +839,21 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
   private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String inviteCode) {
   @Resource
   private ShareGoodsService shareGoodsService;
   private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode) {
      String jumpLink = null;
      if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
         String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
               Constant.systemCommonConfig.getShareGoodsPagePath(),
               AESUtil.encrypt(user.getId() + "", Constant.UIDAESKEY), goodsVO.getGoodsId() + "");
         String shortLink = HttpUtil.getShortLink(url);
         if (!StringUtil.isNullOrEmpty(shortLink)) {
            url = shortLink;
         TaoBaoLink taoBaoLink = null;
         try {
            taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(user.getId(), goodsVO.getGoodsId(), relationId);
         } catch (ShareGoodsException e) {
            e.printStackTrace();
         }
         jumpLink = url;
         jumpLink = configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()).replace("[淘口令]",
               taoBaoLink.getTaoToken());
      } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
         JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId());
         if (jdGoods == null) {
@@ -880,8 +935,17 @@
         }
      }
      try {
         text = convertLinkManager.convertLinkFromText(text, uid, true);
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadFalseResult("评论生成失败"));
         return;
      }
      JSONObject data = new JSONObject();
      data.put("text", text);
      out.print(JsonUtil.loadTrueResult(data));
   }
}