admin
2020-06-09 28fafb67d05ea8398f3f5968f37dec86f0e37e67
fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java
@@ -19,11 +19,13 @@
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;
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;
@@ -33,6 +35,7 @@
import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.manger.ClipboardAnalysisManager;
import com.yeshi.fanli.service.manger.IClipboardAnalysisResult;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
@@ -41,9 +44,9 @@
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 com.yeshi.fanli.vo.msg.TokenVO;
import com.yeshi.fanli.vo.search.GoodsDocParseResultVO;
import net.sf.json.JSONObject;
@@ -75,6 +78,28 @@
   @Resource
   private HongBaoManageService hongBaoManageService;
   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();
      }
   }
   /**
    * 保存信息
    * 
@@ -105,20 +130,22 @@
    * 保存信息
    * 
    * @param callback
    * @param special
    *            0a39676f138c4dcba722e321d43c4284
    * @param special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "saveSingleGoods")
   public void saveSingleGoods(String callback, String pid, Long goodsId, Integer goodsType, String videoUrl,
   public void saveSingleGoods(String callback, String pid, String goodsId, Integer goodsType, String videoUrl,
         Integer picNum, String picUrls, HttpServletRequest request, PrintWriter out) {
      try {
         MultipartHttpServletRequest fileRequest = null;
         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) {
@@ -127,54 +154,12 @@
      }
   }
   /**
    * 保存信息
    *
    * @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 special
    *            0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "saveSingleGoodsCoupon")
   public void saveSingleGoodsCoupon(String callback, String pid, CommentInfo commentInfo, PrintWriter out) {
      try {
         goodsEvaluateService.saveSingleGoodsCoupon(pid, 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 special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "getSingleGoodsinfo")
@@ -221,13 +206,98 @@
         e.printStackTrace();
      }
   }
   /**
    *
    * @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();
      }
   }
   /**
    * 保存信息
    *
    * @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 special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "getCurrencyCoupon")
@@ -252,37 +322,12 @@
         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();
      }
   }
   /**
    * 保存多个商品
@@ -304,8 +349,12 @@
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
         LogHelper.errorDetailInfo(e);
         LogHelper.test(e);
      }
   }
   /**
    * 获取多个商品信息
@@ -354,19 +403,18 @@
    * 保存信息
    * 
    * @param callback
    * @param special
    *            0a39676f138c4dcba722e321d43c4284
    * @param special  0a39676f138c4dcba722e321d43c4284
    * @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()));
@@ -380,8 +428,7 @@
    * 获取信息
    * 
    * @param callback
    * @param special
    *            0a39676f138c4dcba722e321d43c4284
    * @param special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "getActivityPic")
@@ -389,19 +436,23 @@
      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());
                  if (StringUtil.isNullOrEmpty(activityUrl) && !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
                     activityUrl  = imgInfo.getActivityUrl();
                  }
               }
            }
         }
@@ -409,7 +460,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) {
@@ -422,8 +473,7 @@
    * 保存信息
    * 
    * @param callback
    * @param special
    *            0a39676f138c4dcba722e321d43c4284
    * @param special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "saveSuCai")
@@ -450,8 +500,7 @@
    * 获取信息
    * 
    * @param callback
    * @param special
    *            0a39676f138c4dcba722e321d43c4284
    * @param special  0a39676f138c4dcba722e321d43c4284
    * @param out
    */
   @RequestMapping(value = "getSuCaiPic")
@@ -492,7 +541,6 @@
      }
   }
   /**
    * 保存信息
    * 
@@ -564,8 +612,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;
      }
@@ -574,7 +621,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;
@@ -596,7 +643,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);
@@ -631,7 +678,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;
@@ -653,7 +700,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);
@@ -678,7 +725,11 @@
   @RequestMapping(value = "getGoodsByUrl")
   public void getGoodsByUrl(String callback, String link, PrintWriter out) {
      try {
         CommonGoods commonGoods = clipboardAnalysisManager.parseLink(link);
         //CommonGoods commonGoods = clipboardAnalysisManager.parseLink(link);
         // 根据口令链接获取商品
          getGoods(link);
          CommonGoods commonGoods = getCommonGoods();
         if (commonGoods == null) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未找到该商品"));
            return;
@@ -686,7 +737,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) {
@@ -695,17 +746,17 @@
               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("该商品已下架"));
@@ -733,7 +784,37 @@
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("获取失败"));
         e.printStackTrace();
      } finally {
         setCommonGoods(null);
      }
   }
   private void getGoods(String text) {
      Long uid = Constant.LINK_TOKEN_VERIFY_UID;
      clipboardAnalysisManager.parse("android", "55", text, uid, new IClipboardAnalysisResult() {
         @Override
         public void onResult(GoodsDocParseResultVO result) {}
         @Override
         public void onResult(String result) {}
         @Override
         public void onResult(CommonGoods goods) {
            setCommonGoods(goods);
         }
         @Override
         public void onResult(TokenVO tokenVO) {
         }
         @Override
         public void none() {
         }
         @Override
         public void needLogin(String msg) {
         }
      });
   }
   /**
@@ -852,4 +933,14 @@
      }
   }
   public CommonGoods getCommonGoods() {
      return commonGoods;
   }
   public void setCommonGoods(CommonGoods commonGoods) {
      this.commonGoods = commonGoods;
   }
}