yujian
2020-05-09 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64
fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java
@@ -19,6 +19,7 @@
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.dynamic.CommentInfo;
import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum;
import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
@@ -27,7 +28,6 @@
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.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
@@ -41,13 +41,9 @@
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.common.JumpDetailContentVO;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.msg.TokenVO;
import com.yeshi.fanli.vo.search.GoodsDocParseResultVO;
@@ -84,6 +80,25 @@
   private CommonGoods commonGoods;
   
   /**
    * 修改状态
    * @param callback
    * @param id
    * @param out
    */
   @RequestMapping(value = "switchState")
   public void switchState(String callback, String id, PrintWriter out) {
      try {
         goodsEvaluateService.switchState(id);
         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();
      }
   }
   
   /**
    * 保存信息
@@ -139,47 +154,7 @@
      }
   }
   /**
    * 保存信息
    *
    * @param callback
    * @param special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "saveGoodsCoupon")
   public void saveGoodsCoupon(String callback, String pid, String content, PrintWriter out) {
      try {
         goodsEvaluateService.saveGoodsCoupon(pid, content);
         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 pid
    * @param kind     : 1单品 2多品 3活动
    * @param out
    */
   @RequestMapping(value = "saveCurrencyCoupon")
   public void saveCurrencyCoupon(String callback, String pid, int kind, CommentInfo commentInfo, PrintWriter out) {
      try {
         goodsEvaluateService.saveCurrencyCoupon(pid, kind, commentInfo);
         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();
      }
   }
   /**
    * 获取信息
    * 
@@ -231,91 +206,7 @@
         e.printStackTrace();
      }
   }
   /**
    * 获取信息
    *
    * @param callback
    * @param special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "getCurrencyCoupon")
   public void getCurrencyCoupon(String callback, String pid, PrintWriter out) {
      try {
         CommentInfo commentInfo = new CommentInfo();
         if (!StringUtil.isNullOrEmpty(pid)) {
            GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pid);
            if (goodsEvaluate != null && goodsEvaluate.getComments() != null
                  && goodsEvaluate.getComments().size() > 0) {
               for (CommentInfo info : goodsEvaluate.getComments()) {
                  if (info != null)
                     if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
                        commentInfo = info;
                     }
               }
            }
         }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(commentInfo));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
         e.printStackTrace();
      }
   }
   /**
    * 获取信息
    *
    * @param callback
    * @param special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "getSingleGoodsCoupon")
   public void getSingleGoodsCoupon(String callback, String pid, PrintWriter out) {
      try {
         CommentInfo commentInfo = new CommentInfo();
         if (!StringUtil.isNullOrEmpty(pid)) {
            GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pid);
            if (goodsEvaluate != null && goodsEvaluate.getComments() != null
                  && goodsEvaluate.getComments().size() > 0) {
               for (CommentInfo info : goodsEvaluate.getComments()) {
                  if (info != null)
                     if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) {
                        commentInfo = info;
                     }
               }
            }
         }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(commentInfo));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
         e.printStackTrace();
      }
   }
   /**
    * 保存多个商品
    *
    * @param out
    */
   @RequestMapping(value = "saveMultipleGoods")
   public void saveMultipleGoods(String callback, String pid, String videoUrl, String goodsList,
         HttpServletRequest request, PrintWriter out) {
      try {
         MultipartHttpServletRequest fileRequest = null;
         if (request instanceof MultipartHttpServletRequest) {
            fileRequest = (MultipartHttpServletRequest) request;
         }
         goodsEvaluateService.saveMultipleGoods(pid, videoUrl, goodsList, fileRequest);
         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();
         LogHelper.errorDetailInfo(e);
         LogHelper.test(e);
      }
   }
   /**
    * 
@@ -379,6 +270,91 @@
         e.printStackTrace();
      }
   }
   /**
    * 保存信息
    *
    * @param callback
    * @param pid
    * @param kind     : 1单品 2多品 3活动
    * @param out
    */
   @RequestMapping(value = "saveCurrencyCoupon")
   public void saveCurrencyCoupon(String callback, String pid, int kind, CommentInfo commentInfo, PrintWriter out) {
      try {
         goodsEvaluateService.saveCurrencyCoupon(pid, kind, commentInfo);
         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 special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "getCurrencyCoupon")
   public void getCurrencyCoupon(String callback, String pid, PrintWriter out) {
      try {
         CommentInfo commentInfo = new CommentInfo();
         if (!StringUtil.isNullOrEmpty(pid)) {
            GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pid);
            if (goodsEvaluate != null && goodsEvaluate.getComments() != null
                  && goodsEvaluate.getComments().size() > 0) {
               for (CommentInfo info : goodsEvaluate.getComments()) {
                  if (info != null)
                     if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
                        commentInfo = info;
                     }
               }
            }
         }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(commentInfo));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
         e.printStackTrace();
      }
   }
   /**
    * 保存多个商品
    *
    * @param out
    */
   @RequestMapping(value = "saveMultipleGoods")
   public void saveMultipleGoods(String callback, String pid, String videoUrl, String goodsList,
         HttpServletRequest request, PrintWriter out) {
      try {
         MultipartHttpServletRequest fileRequest = null;
         if (request instanceof MultipartHttpServletRequest) {
            fileRequest = (MultipartHttpServletRequest) request;
         }
         goodsEvaluateService.saveMultipleGoods(pid, videoUrl, goodsList, fileRequest);
         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();
         LogHelper.errorDetailInfo(e);
         LogHelper.test(e);
      }
   }
   /**
    * 获取多个商品信息
@@ -431,14 +407,14 @@
    * @param out
    */
   @RequestMapping(value = "saveActivityPic")
   public void saveActivityPic(String callback, String pid, ImgInfo imgInfo, HttpServletRequest request,
   public void saveActivityPic(String callback, String pid, ImgInfo imgInfo, String picUrls, HttpServletRequest request,
         PrintWriter out) {
      try {
         MultipartHttpServletRequest fileRequest = null;
         if (request instanceof MultipartHttpServletRequest) {
            fileRequest = (MultipartHttpServletRequest) request;
         }
         goodsEvaluateService.saveActivityPic(pid, imgInfo, fileRequest);
         goodsEvaluateService.saveActivityPic(pid, imgInfo,picUrls, fileRequest);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (GoodsEvaluateException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
@@ -460,19 +436,19 @@
      try {
         String videoPic = "";
         String videoUrl = "";
         String activityPic = "";
         String activityUrl = "";
         List<String> list = new ArrayList<String>();
         GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(pid);
         if (goodsEvaluate != null && goodsEvaluate.getImgList() != null && goodsEvaluate.getImgList().size() > 0) {
            activityUrl = goodsEvaluate.getJumpLink();
            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) {
                  activityPic = imgInfo.getUrl();
                  activityUrl = imgInfo.getActivityUrl();
               } else {
                  list.add(imgInfo.getUrl());
               }
            }
         }
@@ -480,7 +456,7 @@
         JSONObject data = new JSONObject();
         data.put("videoUrl", videoUrl);
         data.put("videoPic", videoPic);
         data.put("activityPic", activityPic);
         data.put("listPic", list);
         data.put("activityUrl", activityUrl);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
@@ -632,8 +608,7 @@
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state,
         PrintWriter out) {
   public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, String typeEnum, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
      }
@@ -642,7 +617,7 @@
      }
      try {
         List<GoodsEvaluate> list = goodsEvaluateService.query((pageIndex - 1) * pageSize, pageSize, key, state, 1);
         List<GoodsEvaluate> list = goodsEvaluateService.query((pageIndex - 1) * pageSize, pageSize, key, state, 1, typeEnum);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
@@ -664,7 +639,7 @@
            }
         }
         long count = goodsEvaluateService.count(key, state, 1);
         long count = goodsEvaluateService.count(key, state, 1, typeEnum);
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
@@ -699,7 +674,7 @@
      }
      try {
         List<GoodsEvaluate> list = goodsEvaluateService.query((pageIndex - 1) * pageSize, pageSize, key, state, 2);
         List<GoodsEvaluate> list = goodsEvaluateService.query((pageIndex - 1) * pageSize, pageSize, key, state, 2, null);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
@@ -721,7 +696,7 @@
            }
         }
         long count = goodsEvaluateService.count(key, state, 2);
         long count = goodsEvaluateService.count(key, state, 2, null);
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
@@ -758,7 +733,7 @@
         GoodsDetailVO goodsDetail = null;
         BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
         BigDecimal shareRate = hongBaoManageService.getShareRate();
         BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
         BigDecimal vipFanLiRate = hongBaoManageService.getFanLiRate(UserLevelEnum.superVIP);
         ConfigParamsDTO params = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, vipFanLiRate);
         if (commonGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {