yj
2020-03-09 d8fc4263dad4bf8112a9146dd8afbaceb6d4ea10
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
@@ -61,6 +61,7 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
import com.yeshi.fanli.util.FileUtil;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
@@ -111,8 +112,6 @@
   
   @Resource
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   @Override
   public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
@@ -470,9 +469,8 @@
      }
      /*
       * // 无券不能自动 生成评论 CouponInfoVO couponInfo1 =
       * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment
       * = false; }
       * // 无券不能自动 生成评论 CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo(); if
       * (couponInfo1 == null) { addComment = false; }
       */
      String commentText = "";
@@ -498,12 +496,12 @@
            commentText = template.replace("[链接]", jumpLink);
         }
         commentText = commentText.replace("[原价]", goodsDetailVO.getZkPrice().toString());
         commentText = commentText.replace("[原价]", MoneyBigDecimalUtil.getWithNoZera(goodsDetailVO.getZkPrice())+"");
         if (!goodsDetailVO.isHasCoupon()) {
            commentText = commentText.replace("领券抢购", "抢购");
            commentText = commentText.replace("【券后价】[券后价]元", "");
         } else {
            commentText = commentText.replace("[券后价]", goodsDetailVO.getCouponPrice().toString());
            commentText = commentText.replace("[券后价]",  MoneyBigDecimalUtil.getWithNoZera(goodsDetailVO.getCouponPrice())+"");
         }
         commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n",
@@ -1519,8 +1517,8 @@
            List<CommentInfo> commentNew = new ArrayList<>();
            for (CommentInfo commentInfo : comments) {
               if (StringUtil.isNullOrEmpty(commentInfo.getContent()) &&
                     StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
               if (StringUtil.isNullOrEmpty(commentInfo.getContent())
                     && StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
                  continue;
               }
               
@@ -1851,13 +1849,9 @@
      }
   }
   @Override
   public void addGoodsEvaluateByDaTaoKe() {
      try {
         boolean addSuccess = false;
         List<Long> listId = null;
         List<GoodsEvaluate> listExist = goodsEvaluateDao.querySingleExist();
         if (listExist != null && listExist.size() > 0) {
            listId = new ArrayList<Long>();
@@ -1868,8 +1862,6 @@
               }
            }
         }
         // 热销单品的分类
         List<GoodsClass> listClass = DaTaoKeUtil.goodsClasses;
         int ci = (int) (Math.random() * listClass.size());
@@ -1880,10 +1872,24 @@
            return;
         }
         
         DaTaoKeDetailV2 daTaoKe = list.get(0);
      for (int i = 0; i < list.size(); i++) {
         boolean cerateGoods = cerateGoods(list.get(i));
         if (cerateGoods) {
            break;
         }
      }
   }
   private boolean cerateGoods(DaTaoKeDetailV2 daTaoKe) {
      try {
         TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId());
         if (goodsBrief == null) {
            return;
            return false;
         }
         BigDecimal couponAmount = goodsBrief.getCouponAmount();
         if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
            return false;
         }
         
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
@@ -1894,23 +1900,27 @@
         // 发布用户
         ActivityUser user = activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid());
         
//         String desc = getDesc(daTaoKe.getDesc());
         String desc = daTaoKe.getDesc().replace(",", ",");
         System.out.println(desc);
         String[] split = desc.split(",");
         System.out.println(split.length);
         int max = 1;
         if (Math.random() > 0.5) {
            max = 2;
         }
         int e = 0;
         String emojis = "";
         String descNew = "";
         if (split.length > 0) {
            for (int i = 0; i < split.length; i ++ ) {
               if (Math.random() > 0.5 && e < max) {
                  for (int j = 0; j < 10; j++) {
                     String emojisTemp = DaTaoKeUtil.getEvaluateEmojis();
                     if (!emojis.equals(emojisTemp)) {
                        emojis = emojisTemp;
                        break;
                     }
                  }
                  e++;
                  descNew += split[i] +  DaTaoKeUtil.getRandomCommonEmoji();
                  descNew += split[i] + emojis;
               } else {
                  descNew += split[i] + ",";
               }
@@ -1922,7 +1932,6 @@
         if(descNew.endsWith(",")) {
            descNew = descNew.substring(0, descNew.length()-1);
         }
         
         GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
         goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -1941,8 +1950,15 @@
         goodsEvaluate.setCreateTime(new Date());
         goodsEvaluate.setUpdateTime(new Date());
         
         List<String> goodsimgs = goodsBrief.getImgList();
         List<String> imgs = new ArrayList<>();
         if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) {
            imgs.add(goodsBrief.getPictUrlWhite());
         }
         imgs.addAll(goodsimgs);
         int lineNum = 0;
         List<String> imgs = goodsBrief.getImgList();
         if (imgs.size() > 0) {
            if (imgs.size() == 1) {
               lineNum = 1;
@@ -1981,20 +1997,23 @@
                  simpleGoods.setAmount(couponInfo.getAmount());
               }
               imgInfo.setGoods(simpleGoods);
               imgInfo.setGoodsVO(goodsVO);
               //TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsVO.getGoodsId(), null);
               // TaoBaoLink taoBaoLink =
               // shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID,
               // goodsVO.getGoodsId(), null);
               String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
               
               String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
               String commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(token));
               commentText = commentText.replace("[原价]", goodsVO.getZkPrice().toString());
               commentText = commentText.replace("[原价]", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice())+"");
               if (!goodsVO.isHasCoupon()) {
                  commentText = commentText.replace("领券抢购", "抢购");
                  commentText = commentText.replace("【券后价】[券后价]元", "");
               } else {
                  commentText = commentText.replace("[券后价]", goodsVO.getCouponPrice().toString());
                  commentText = commentText.replace("[券后价]", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getCouponPrice())+"");
               }
               commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n")
                     .replace("\r\n\r\n", "\r\n");
@@ -2005,13 +2024,39 @@
               commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
               commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
               String text2 = "";
               String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey());
               if (!StringUtil.isNullOrEmpty(evaluateEmojis)) {
                  text2 = evaluateEmojis + "\n";
               }
               String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey());
               if (!StringUtil.isNullOrEmpty(evaluateText)) {
                  text2 += evaluateText;
               }
               String dtitle = daTaoKe.getDtitle();
               if (!StringUtil.isNullOrEmpty(dtitle)) {
                  text2 = text2 + dtitle +"\n";
               } else if (!StringUtil.isNullOrEmpty(evaluateText)) {
                  text2 += "\n";
               }
               text2 += "先领【"+ couponAmount +"元优惠券】下单";
               CommentInfo commentInfo2 = new CommentInfo();
               commentInfo2.setId(UUID.randomUUID().toString().replace("-", ""));
               commentInfo2.setContent(text2);
               commentInfo2.setTypeEnum(CommentInfoEnum.goodsCoupon);
               commentInfo2.setType("");
               List<CommentInfo> commentsNew = new ArrayList<>();
               commentsNew.add(commentInfo);
               commentsNew.add(commentInfo2);
               goodsEvaluate.setComments(commentsNew);
               goodsEvaluate.setGoods(goodsVO);
            }
            imgList.add(imgInfo);
            i ++;
         }
@@ -2020,9 +2065,10 @@
      } catch (Exception e) {
         e.printStackTrace();
         LogHelper.errorDetailInfo(e);
         return false;
      }
      return true;
   }
   
   private String getDesc(String desc) {
      System.out.println(desc);