yj
2020-03-06 207dc8655711cddac2653e18b51e58a88dba2084
fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java
@@ -24,11 +24,13 @@
import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
import com.yeshi.fanli.entity.dynamic.ImgInfo;
import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum;
import com.yeshi.fanli.entity.dynamic.ListComment;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.manger.ClipboardAnalysisManager;
@@ -40,8 +42,6 @@
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.jd.JDApiUtil;
import com.yeshi.fanli.util.jd.JDUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import net.sf.json.JSONObject;
@@ -84,13 +84,14 @@
   @RequestMapping(value = "saveHead")
   public void saveHead(String callback, GoodsEvaluate evaluate, HttpServletRequest request, PrintWriter out) {
      try {
         String id = null;
         if (request instanceof MultipartHttpServletRequest) {
            MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
            goodsEvaluateService.saveHead(fileRequest.getFile("portraitFile"), evaluate);
            id = goodsEvaluateService.saveHead(fileRequest.getFile("portraitFile"), evaluate);
         } else {
            goodsEvaluateService.saveHead(null, evaluate);
            id = goodsEvaluateService.saveHead(null, evaluate);
         }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(id));
      } catch (GoodsEvaluateException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
@@ -115,8 +116,10 @@
         if (request instanceof MultipartHttpServletRequest) {
            fileRequest = (MultipartHttpServletRequest) request;
         }
         goodsEvaluateService.saveSingleGoods(pid, goodsId, goodsType, videoUrl, picNum, picUrls, fileRequest);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
         String commentText = goodsEvaluateService.saveSingleGoods(pid, goodsId, goodsType, videoUrl, picNum, picUrls, fileRequest);
         JSONObject object = new JSONObject();
         object.put("comment", commentText);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object));
      } catch (GoodsEvaluateException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
@@ -134,9 +137,9 @@
    * @param out
    */
   @RequestMapping(value = "saveGoodsCoupon")
   public void saveGoodsCoupon(String callback, String pid, String tags, String tagDesc, PrintWriter out) {
   public void saveGoodsCoupon(String callback, String pid, String content, PrintWriter out) {
      try {
         goodsEvaluateService.saveGoodsCoupon(pid, tags, tagDesc);
         goodsEvaluateService.saveGoodsCoupon(pid, content);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (GoodsEvaluateException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
@@ -150,14 +153,14 @@
    * 保存信息
    * 
    * @param callback
    * @param special
    *            0a39676f138c4dcba722e321d43c4284
    * @param pid
    * @param kind : 1单品  2多品 3活动
    * @param out
    */
   @RequestMapping(value = "saveSingleGoodsCoupon")
   public void saveSingleGoodsCoupon(String callback, String pid, CommentInfo commentInfo, PrintWriter out) {
   @RequestMapping(value = "saveCurrencyCoupon")
   public void saveCurrencyCoupon(String callback, String pid, int kind, CommentInfo commentInfo, PrintWriter out) {
      try {
         goodsEvaluateService.saveSingleGoodsCoupon(pid, commentInfo);
         goodsEvaluateService.saveCurrencyCoupon(pid, kind,commentInfo);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (GoodsEvaluateException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
@@ -237,9 +240,10 @@
            if (goodsEvaluate != null && goodsEvaluate.getComments() != null
                  && goodsEvaluate.getComments().size() > 0) {
               for (CommentInfo info : goodsEvaluate.getComments()) {
                  if (CommentInfoEnum.currencyCoupon == info.getType()) {
                     commentInfo = info;
                  }
                  if (info != null)
                     if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
                        commentInfo = info;
                     }
               }
            }
         }
@@ -267,9 +271,10 @@
            if (goodsEvaluate != null && goodsEvaluate.getComments() != null
                  && goodsEvaluate.getComments().size() > 0) {
               for (CommentInfo info : goodsEvaluate.getComments()) {
                  if (CommentInfoEnum.goodsCoupon == info.getType()) {
                     commentInfo = info;
                  }
                  if (info != null)
                     if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) {
                        commentInfo = info;
                     }
               }
            }
         }
@@ -300,8 +305,75 @@
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
         LogHelper.errorDetailInfo(e);
         LogHelper.test(e);
      }
   }
   /**
    *
    * @param callback
    * @param comments
    * @param out
    */
   @RequestMapping(value = "saveGoodsComment")
   public void saveGoodsComment(String callback, String id, int kind, ListComment comments, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(id)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请先保存推荐语信息"));
            return;
         }
         if (comments == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("文本内容为空"));
            return;
         }
         goodsEvaluateService.saveGoodsComment(id, kind, comments.getComment());
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功"));
      } catch (GoodsEvaluateException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    *
    * @param callback
    * @param comments
    * @param out
    */
   @RequestMapping(value = "getGoodsComment")
   public void getGoodsComment(String callback, String id, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(id)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请先保存推荐语信息"));
            return;
         }
         List<CommentInfo> newList = new ArrayList<>();
         GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id);
         if (goodsEvaluate != null) {
            List<CommentInfo> comments = goodsEvaluate.getComments();
            if (comments != null && comments.size() > 0) {
               for (CommentInfo commentInfo: comments) {
                  CommentInfoEnum typeEnum = commentInfo.getTypeEnum();
                  if (typeEnum == CommentInfoEnum.goodsCoupon) {
                     newList.add(commentInfo);
                  }
               }
            }
         }
         JSONObject data = new JSONObject();
         data.put("list", newList);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      }
   }
   /**
    * 获取多个商品信息
@@ -437,9 +509,58 @@
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
         LogHelper.errorDetailInfo(e);
         LogHelper.test(e);
      }
   }
   /**
    * 获取信息
    *
    * @param callback
    * @param special
    *            0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "getSuCaiPic")
   public void getSuCaiPic(String callback, String pid, PrintWriter out) {
      try {
         String videoUrl = "";
         String videoPic = "";
         String activityUrl = "";
         List<String> list = new ArrayList<String>();
         if (!StringUtil.isNullOrEmpty(pid)) {
            GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pid);
            if (goodsEvaluate != null && goodsEvaluate.getImgList() != null
                  && goodsEvaluate.getImgList().size() > 0) {
               List<ImgInfo> imgList = goodsEvaluate.getImgList();
               for (ImgInfo imgInfo : imgList) {
                  ImgEnum type = imgInfo.getType();
                  if (type == ImgEnum.video) {
                     videoPic = imgInfo.getUrl();
                     videoUrl = imgInfo.getVideoUrl();
                  } else if (type == ImgEnum.activity) {
                     activityUrl = imgInfo.getActivityPic();
                  } else if (type == ImgEnum.img) {
                     list.add(imgInfo.getUrl());
                  }
               }
            }
         }
         JSONObject data = new JSONObject();
         data.put("activityUrl", activityUrl);
         data.put("videoUrl", videoUrl);
         data.put("videoPic", videoPic);
         data.put("list", list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
         e.printStackTrace();
      }
   }
   /**
    * 保存信息
    * 
@@ -634,12 +755,25 @@
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
         BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
         ConfigParamsDTO params = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,
               vipFanLiRate);
         ConfigParamsDTO params = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, vipFanLiRate);
         if (commonGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
            try {
               TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId());
               String pictUrlWhite = goodsBrief.getPictUrlWhite();
               if (!StringUtil.isNullOrEmpty(pictUrlWhite)) {
                  goodsBrief.setPictUrl(pictUrlWhite);
                  List<String> picList = new ArrayList<>();
                  picList.add(pictUrlWhite);
                  List<String> imgList = goodsBrief.getImgList();
                  if (imgList != null) {
                     picList.addAll(imgList);
                  }
                  goodsBrief.setImgList(picList);
               }
               goodsDetail = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
            } catch (TaobaoGoodsDownException e) {
               JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该商品已下架"));
@@ -661,7 +795,7 @@
         JSONObject object = new JSONObject();
         object.put("goodsId", goodsDetail.getGoodsId());
         object.put("goodsType", goodsDetail.getGoodsType());
         object.put("picUrl",goodsDetail.getPicUrl());
         object.put("picUrl", goodsDetail.getPicUrl());
         object.put("imgList", goodsDetail.getImgList());
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object));
      } catch (Exception e) {