admin
2020-07-03 651a15c78f668bef3859d9ed1bb7ad0b669d3600
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
@@ -17,6 +17,9 @@
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import com.yeshi.fanli.entity.SystemEnum;
import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
@@ -114,6 +117,9 @@
   @Resource
   private ShareGoodsService shareGoodsService;
   @Resource
   private TaoBaoLinkManager taoBaoLinkManager;
   @Resource
   private ConvertLinkManager convertLinkManager;
@@ -294,7 +300,7 @@
   /**
    * 删除图片
    * 
    * @param record
    * @param picture
    * @throws Exception
    */
   private void removePicture(String picture) throws Exception {
@@ -305,7 +311,7 @@
   @Override
   public String saveSingleGoods(String pid, String goodsId, Integer goodsType, String videoUrl, Integer picNum,
         String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
                          String picUrls, SystemEnum system, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
      if (StringUtil.isNullOrEmpty(pid)) {
         throw new GoodsEvaluateException(1, "请保存第一部分信息");
      }
@@ -541,8 +547,8 @@
      String commentText = "";
      if (addComment) {
         if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
            TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0");
            String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
            TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0",null);
            String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
            commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
         } else if (goodsType == Constant.SOURCE_TYPE_JD) {
            String couponUrl = null;
@@ -553,7 +559,7 @@
            String materialId = "https://item.jd.com/" + goodsId + ".html";
            String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl,
                  JDApiUtil.POSITION_SHARE + "", "1");
            String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
            String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(),system);
            if (jumpLink == null) {
               throw new GoodsEvaluateException(1, "该商品转链失败");
            }
@@ -563,7 +569,7 @@
            if (jumpLink == null) {
               throw new GoodsEvaluateException(1, "该商品转链失败");
            }
            String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
            String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(),system);
            commentText = template.replace("[链接]", jumpLink);
         }
@@ -604,11 +610,11 @@
      return commentText;
   }
   private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
   private String createTokenAndLink(GoodsDetailVO goodsDetailVO,SystemEnum system) throws Exception {
      String commentText = "";
      if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
         TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0");
         String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
         TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0",null);
         String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
         commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
      } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
         String couponUrl = null;
@@ -621,12 +627,12 @@
         String materialId = "https://item.jd.com/" + goodsDetailVO.getGoodsId() + ".html";
         String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
               "1");
         String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
         String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(),system);
         commentText = template.replace("[链接]", jumpLink);
      } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
         String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsDetailVO.getGoodsId()),
               PinDuoDuoApiUtil.PID_SHARE + "", "1");
         String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
         String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(),system);
         commentText = template.replace("[链接]", jumpLink);
      }
@@ -863,7 +869,7 @@
   }
   @Override
   public void saveGoodsComment(String id, int kind, List<CommentInfo> comments)
   public void saveGoodsComment(String id, int kind, List<CommentInfo> comments,SystemEnum system)
         throws GoodsEvaluateException, Exception {
      if (comments == null || comments.size() == 0) {
         throw new GoodsEvaluateException(1, "内容不能为空");
@@ -896,7 +902,7 @@
         String content = commentInfo.getContent();
         if (StringUtil.isNullOrEmpty(content)) {
            if (i == 0 && kind == 1) {
               content = createTokenAndLink(goods);
               content = createTokenAndLink(goods,system);
            } else {
               continue;
            }
@@ -1938,7 +1944,7 @@
   @Override
   public void addGoodsEvaluate(String goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment,
         Date startTime) throws GoodsEvaluateException {
         Date startTime,SystemEnum system) throws GoodsEvaluateException {
      if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) {
         throw new GoodsEvaluateException(1, "相关参数不能为空");
      }
@@ -2021,7 +2027,7 @@
      } else {
         goodsBrief.setCouponLink(null);
         String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
         String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
         String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
         String commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(token));
         if (!goodsVO.isHasCoupon()) {
            commentText = commentText.replace("领券抢购", "抢购");
@@ -2077,7 +2083,7 @@
   
   @Override
   public int addGoodsEvaluate(TaoBaoGoodsBrief goodsBrief, List<String> imgs, ActivityUser user, String title) throws GoodsEvaluateException {
   public int addGoodsEvaluate(TaoBaoGoodsBrief goodsBrief, List<String> imgs, ActivityUser user, String title,SystemEnum system) throws GoodsEvaluateException {
      if (goodsBrief == null || user == null || StringUtil.isNullOrEmpty(title)) {
         throw new GoodsEvaluateException(1, "相关参数不能为空");
      }
@@ -2137,15 +2143,15 @@
      // 生成口令
      String token = null;
      try {
         TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1");
         TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1",null);
         token = taoBaoLink.getTaoToken();
      } catch (ShareGoodsException e) {
      } catch (TaoBaoConvertLinkException e) {
         e.printStackTrace();
         throw new GoodsEvaluateException(1, "转链失败");
      }
       
       
      String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
      String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
      String commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(token));
      if (!goodsVO.isHasCoupon()) {
         commentText = commentText.replace("领券抢购", "抢购");
@@ -2184,7 +2190,7 @@
      // 含这种文本的定于每晚10点在动态-发圈 集中发,每晚10点在群发单中只发一条。
      Date startTime = new Date();
      if (!StringUtil.isNullOrEmpty(title)) {
         String value = configService.get(ConfigKeyEnum.evaluateZeroKey.getKey());
         String value = configService.getValue(ConfigKeyEnum.evaluateZeroKey.getKey(),system);
         if (!StringUtil.isNullOrEmpty(value)) {
            List<String> asList = Arrays.asList(value.split(","));
            if (asList != null && asList.size() > 0) {
@@ -2227,14 +2233,11 @@
      goodsEvaluate.setImgList(imgList);
      goodsEvaluate.setComments(commentsNew);
      goodsEvaluateDao.save(goodsEvaluate);
      return result;
   }
   
   @Override
   public void addGoodsEvaluateByDaTaoKe() {
   public void addGoodsEvaluateByDaTaoKe(SystemEnum system) {
      List<Long> listId = null;
      List<GoodsEvaluate> listExist = goodsEvaluateDao.querySingleExist();
      if (listExist != null && listExist.size() > 0) {
@@ -2257,7 +2260,7 @@
      }
      for (int i = 0; i < list.size(); i++) {
         boolean cerateGoods = addByDaTaoKeGoods(list.get(i));
         boolean cerateGoods = addByDaTaoKeGoods(list.get(i),system);
         if (cerateGoods) {
            break;
         }
@@ -2266,7 +2269,7 @@
   
   @Override
   public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe) {
   public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe,SystemEnum system) {
      try {
         Date limitDate = DateUtil.reduceDay(new Date(), 7);
         
@@ -2385,7 +2388,7 @@
               String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
               String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
               String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
               String commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(token));
               if (!goodsVO.isHasCoupon()) {
                  commentText = commentText.replace("领券抢购", "抢购");
@@ -2402,12 +2405,12 @@
               commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
               String text2 = "";
               String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey());
               String evaluateEmojis = configService.getValue(ConfigKeyEnum.evaluateEmojis.getKey(),system);
               if (!StringUtil.isNullOrEmpty(evaluateEmojis)) {
                  text2 = evaluateEmojis + "\n";
               }
               String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey());
               String evaluateText = configService.getValue(ConfigKeyEnum.evaluateText.getKey(),system);
               if (!StringUtil.isNullOrEmpty(evaluateText)) {
                  text2 += evaluateText;
               }
@@ -2652,7 +2655,7 @@
   }
   @CacheEvict(value = "dynamicCache", allEntries = true)
   private void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) {
   public void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) {
      for (GoodsEvaluate goodsEvaluate : list) {
         // 商品下架