From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 19 五月 2020 17:13:23 +0800 Subject: [PATCH] 饿了么绘图,添加口碑 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java | 320 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 214 insertions(+), 106 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java index 16fdff5..44f3be1 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java @@ -19,19 +19,23 @@ 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; 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; +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; @@ -40,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; @@ -74,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(); + } + } + /** * 淇濆瓨淇℃伅 * @@ -104,8 +130,7 @@ * 淇濆瓨淇℃伅 * * @param callback - * @param special - * 0a39676f138c4dcba722e321d43c4284 + * @param special 0a39676f138c4dcba722e321d43c4284 * @param out */ @RequestMapping(value = "saveSingleGoods") @@ -116,8 +141,11 @@ 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) { @@ -126,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") @@ -220,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") @@ -251,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(); - } - } + + + + /** * 淇濆瓨澶氫釜鍟嗗搧 @@ -303,8 +349,12 @@ } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触")); e.printStackTrace(); + LogHelper.errorDetailInfo(e); + LogHelper.test(e); } } + + /** * 鑾峰彇澶氫釜鍟嗗搧淇℃伅 @@ -353,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())); @@ -379,8 +428,7 @@ * 鑾峰彇淇℃伅 * * @param callback - * @param special - * 0a39676f138c4dcba722e321d43c4284 + * @param special 0a39676f138c4dcba722e321d43c4284 * @param out */ @RequestMapping(value = "getActivityPic") @@ -388,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(); + } } } } @@ -408,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) { @@ -421,8 +473,7 @@ * 淇濆瓨淇℃伅 * * @param callback - * @param special - * 0a39676f138c4dcba722e321d43c4284 + * @param special 0a39676f138c4dcba722e321d43c4284 * @param out */ @RequestMapping(value = "saveSuCai") @@ -440,6 +491,8 @@ } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触")); e.printStackTrace(); + LogHelper.errorDetailInfo(e); + LogHelper.test(e); } } @@ -447,8 +500,7 @@ * 鑾峰彇淇℃伅 * * @param callback - * @param special - * 0a39676f138c4dcba722e321d43c4284 + * @param special 0a39676f138c4dcba722e321d43c4284 * @param out */ @RequestMapping(value = "getSuCaiPic") @@ -489,7 +541,6 @@ } } - /** * 淇濆瓨淇℃伅 * @@ -561,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; } @@ -571,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; @@ -593,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); @@ -628,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; @@ -650,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); @@ -675,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); + // 鏍规嵁鍙d护閾炬帴鑾峰彇鍟嗗搧 + getGoods(link); + + CommonGoods commonGoods = getCommonGoods(); if (commonGoods == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈壘鍒拌鍟嗗搧")); return; @@ -683,12 +737,26 @@ 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) { 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("璇ュ晢鍝佸凡涓嬫灦")); @@ -716,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) { + } + }); } /** @@ -835,4 +933,14 @@ } } + public CommonGoods getCommonGoods() { + return commonGoods; + } + + public void setCommonGoods(CommonGoods commonGoods) { + this.commonGoods = commonGoods; + } + + + } -- Gitblit v1.8.0