fanli/src/main/java/com/yeshi/fanli/controller/admin/GoodsEvaluateAdminController.java
@@ -24,6 +24,7 @@ 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; @@ -41,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; @@ -152,14 +151,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())); @@ -304,8 +303,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(); } } /** * 获取多个商品信息 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
@@ -128,6 +128,11 @@ @Resource private ConvertLinkManager convertLinkManager; @Resource private ShareGoodsService shareGoodsService; private final static long TYPE_REXIAO = 1;// 热销 private final static long TYPE_TUIJIAN = 2;// 推荐 @@ -719,115 +724,65 @@ @RequestMapping(value = "evaluateShare", method = RequestMethod.POST) public void evaluateShare(AcceptData acceptData, Long uid, String id, Integer type, Long goodsId, Integer goodsType, PrintWriter out) { if (uid == null) { out.print(JsonUtil.loadFalseResult("用户未登录")); return; } if (StringUtil.isNullOrEmpty(id) || type == null) { out.print(JsonUtil.loadFalseResult("传递参数不能为空")); return; } if (type == 1 && (goodsId == null || goodsType == null)) { out.print(JsonUtil.loadFalseResult("商品参数不能为空")); return; } GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); if (goodsEvaluate == null) { out.print(JsonUtil.loadFalseResult("该内容已不存在")); return; } UserInfo user = userInfoService.getUserByIdWithMybatis(uid); if (user == null) { out.print(JsonUtil.loadFalseResult("用户未登录")); return; } if (user != null && user.getState() != UserInfo.STATE_NORMAL) { out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); return; } UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); String relationId = null; if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null && taoBaoInfo.getRelationValid() == true) relationId = taoBaoInfo.getRelationId(); if (StringUtil.isNullOrEmpty(relationId)) { out.print(JsonUtil.loadFalseResult(2, "淘宝未授权,请前往\"我的\"绑定淘宝账号")); return; } String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); if (StringUtil.isNullOrEmpty(inviteCode)) { out.print(JsonUtil.loadFalseResult(1, "邀请码未激活")); return; } List<ImgInfo> imgs = goodsEvaluate.getImgList(); if (imgs == null) { out.print(JsonUtil.loadFalseResult("该图片内容已不存在")); return; } List<String> list = new ArrayList<>(); Integer dynamicType = goodsEvaluate.getDynamicType(); if (dynamicType == null || dynamicType.intValue() == 2) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) continue; if (imgInfo.getType() == ImgEnum.img) list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); else if (imgInfo.getType() == ImgEnum.activity) if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { list.add(imgInfo.getActivityPic()); } try { if (uid == null) { out.print(JsonUtil.loadFalseResult("用户未登录")); return; } } else { // 单品 if (goodsEvaluate.getType() == EvaluateEnum.single) { for (ImgInfo imgInfo : imgs) { GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); if (goodsVO == null) { list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); continue; } String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } } if (StringUtil.isNullOrEmpty(id) || type == null) { out.print(JsonUtil.loadFalseResult("传递参数不能为空")); return; } } else if (goodsEvaluate.getType() == EvaluateEnum.multiple) { if (type == 1) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getGoodsVO() != null) if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue() && imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) { String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } break; } } } else if (type == 2 || type == 3) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getGoodsVO() != null) { String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } } } } if (type == 1 && (goodsId == null || goodsType == null)) { out.print(JsonUtil.loadFalseResult("商品参数不能为空")); return; } } else if (goodsEvaluate.getType() == EvaluateEnum.activity) { GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); if (goodsEvaluate == null) { out.print(JsonUtil.loadFalseResult("该内容已不存在")); return; } UserInfo user = userInfoService.getUserByIdWithMybatis(uid); if (user == null) { out.print(JsonUtil.loadFalseResult("用户未登录")); return; } if (user != null && user.getState() != UserInfo.STATE_NORMAL) { out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); return; } UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); String relationId = null; if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null && taoBaoInfo.getRelationValid() == true) relationId = taoBaoInfo.getRelationId(); if (StringUtil.isNullOrEmpty(relationId)) { out.print(JsonUtil.loadFalseResult(2, "淘宝未授权,请前往\"我的\"绑定淘宝账号")); return; } String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); if (StringUtil.isNullOrEmpty(inviteCode)) { out.print(JsonUtil.loadFalseResult(1, "邀请码未激活")); return; } List<ImgInfo> imgs = goodsEvaluate.getImgList(); if (imgs == null) { out.print(JsonUtil.loadFalseResult("该图片内容已不存在")); return; } List<String> list = new ArrayList<>(); Integer dynamicType = goodsEvaluate.getDynamicType(); if (dynamicType == null || dynamicType.intValue() == 2) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) continue; @@ -838,33 +793,89 @@ list.add(imgInfo.getActivityPic()); } } } else { // 单品 if (goodsEvaluate.getType() == EvaluateEnum.single) { for (ImgInfo imgInfo : imgs) { if ( type == 3 && imgInfo.getType() == ImgEnum.video) continue; GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); if (goodsVO == null) { list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); continue; } String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } } } else if (goodsEvaluate.getType() == EvaluateEnum.multiple) { if (type == 1) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getGoodsVO() != null) if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue() && imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) { String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } break; } } } else if (type == 2 || type == 3) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getGoodsVO() != null) { String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode); if (!StringUtil.isNullOrEmpty(jumpLink)) { list.add(jumpLink); } } } } } else if (goodsEvaluate.getType() == EvaluateEnum.activity) { for (ImgInfo imgInfo : imgs) { if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) continue; if (imgInfo.getType() == ImgEnum.img) list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); else if (imgInfo.getType() == ImgEnum.activity) if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { list.add(imgInfo.getActivityPic()); } } } } } Integer shareCount = goodsEvaluate.getShareNum(); if (shareCount == null) { shareCount = 0; } Integer shareCount = goodsEvaluate.getShareNum(); if (shareCount == null) { shareCount = 0; } if (type == 3) { shareCount++; goodsEvaluateService.addShareNum(id); } if (type == 3) { shareCount++; goodsEvaluateService.addShareNum(id); } if (list.size() == 0) { out.print(JsonUtil.loadFalseResult("该信息已下架")); if (list.size() == 0) { out.print(JsonUtil.loadFalseResult("该信息已下架")); return; } JSONObject data = new JSONObject(); data.put("count", shareCount); data.put("list", list); out.print(JsonUtil.loadTrueResult(data)); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("分享图生成失败")); return; } JSONObject data = new JSONObject(); data.put("count", shareCount); data.put("list", list); out.print(JsonUtil.loadTrueResult(data)); } @Resource private ShareGoodsService shareGoodsService; private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode) { String jumpLink = null; if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { fanli/src/main/java/com/yeshi/fanli/entity/dynamic/ImgInfo.java
@@ -60,6 +60,7 @@ private GoodsDetailVO goodsVO; private String activityPic; @Expose private String activityUrl; public ImgEnum getType() { fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java
@@ -43,6 +43,7 @@ import com.yeshi.fanli.entity.taobao.TaoBaoLink; import com.yeshi.fanli.exception.dynamic.ActivityUserException; import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException; import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.activity.ActivityUserService; @@ -482,6 +483,42 @@ } } private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception { String commentText = ""; if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsDetailVO.getGoodsId(), "0"); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); commentText = template.replace("[淘口令]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { String couponUrl = null; JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsDetailVO.getGoodsId()); JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods); if (couponInfo != null) { couponUrl = couponInfo.getLink(); } String materialId = "https://item.jd.com/" + goodsDetailVO.getGoodsId() + ".html"; String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "","1"); String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey()); commentText = template.replace("[链接]", jumpLink); } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) { String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetailVO.getGoodsId(), PinDuoDuoApiUtil.PID_SHARE + "", "1"); String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey()); commentText = template.replace("[链接]", jumpLink); } commentText = commentText.replace("[原价]", goodsDetailVO.getZkPrice().toString()); if (!goodsDetailVO.isHasCoupon()) { commentText = commentText.replace("领券抢购", "抢购"); commentText = commentText.replace("【券后价】[券后价]元", ""); } else { commentText = commentText.replace("[券后价]", goodsDetailVO.getCouponPrice().toString()); } return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); } public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType) throws GoodsEvaluateException { GoodsDetailVO goodsDetail = null; BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); @@ -706,6 +743,68 @@ } } @Override public void saveGoodsComment(String id, int kind, List<CommentInfo> comments) throws GoodsEvaluateException, Exception { if (comments == null || comments.size() == 0 ) { throw new GoodsEvaluateException(1, "内容不能为空"); } GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); if (resultObj == null) throw new GoodsEvaluateException(1, "第一部分信息缺失"); GoodsDetailVO goods = resultObj.getGoods(); if(kind == 1 && goods == null) { throw new GoodsEvaluateException(1, "请先录入商品信息"); } CommentInfo currencyCoupon = null; List<CommentInfo> oldComments = resultObj.getComments(); if (oldComments != null) { for (int i =0;i < oldComments.size(); i ++) { CommentInfo info = oldComments.get(i); if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) { currencyCoupon = info; continue; } } } List<CommentInfo> newList = new ArrayList<>(); for (int i =0;i < comments.size(); i ++) { CommentInfo commentInfo = comments.get(i); String content = commentInfo.getContent(); if (StringUtil.isNullOrEmpty(content)) { if (i == 0 && kind == 1) { content = createTokenAndLink(goods); } else { continue; } } else if (i == 0 && kind == 1) { try { convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true); } catch (Exception e) { throw new GoodsEvaluateException(1, "不包含可转链的口令与链接"); } } if (StringUtil.isNullOrEmpty(commentInfo.getId())) { commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); } commentInfo.setType(commentInfo.getTags()); commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); newList.add(commentInfo); } if (currencyCoupon != null) { comments.add(currencyCoupon); } resultObj.setComments(comments); goodsEvaluateDao.save(resultObj); } @Override public void saveGoodsCoupon(String pid, String content) throws GoodsEvaluateException, Exception { if (StringUtil.isNullOrEmpty(pid)) { @@ -747,7 +846,7 @@ commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); } commentInfo.setContent(content); commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); commentInfo.setType(commentInfo.getTags()); commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); comments.add(commentInfo); } @@ -761,7 +860,7 @@ } @Override public void saveSingleGoodsCoupon(String pid, CommentInfo commentInfo) throws GoodsEvaluateException, Exception { public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo) throws GoodsEvaluateException, Exception { if (StringUtil.isNullOrEmpty(pid)) { throw new GoodsEvaluateException(1, "请保存第一部分信息"); } @@ -773,7 +872,6 @@ if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) { throw new GoodsEvaluateException(1, "描述语不能为空"); } String tagUrl = commentInfo.getTagUrl(); String content = commentInfo.getContent(); @@ -793,11 +891,15 @@ throw new GoodsEvaluateException(1, "请填写券截止时间"); } if(!StringUtil.isNullOrEmpty(content)) { if(!StringUtil.isNullOrEmpty(content) && kind != 3) { // 活动不验证 try { convertLinkManager.convertLinkFromText(content, 1L, true); convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true); } catch (ConvertLinkExceptionException e) { if (ConvertLinkExceptionException.CODE_NONE != e.getCode()) { throw new GoodsEvaluateException(1, "包含不可转链的口令与链接"); } } catch (Exception e) { throw new GoodsEvaluateException(1, "不包含可转链的口令与链接"); throw new GoodsEvaluateException(1, "包含不可转链的口令与链接"); } } @@ -805,22 +907,17 @@ if (resultObj == null) throw new GoodsEvaluateException(1, "第一部分信息缺失"); CommentInfo goodsCoupon = null; List<CommentInfo> comments = new ArrayList<>(); CommentInfo currencyCoupon = null; List<CommentInfo> oldComments = resultObj.getComments(); if (oldComments != null) { for (CommentInfo info : oldComments) { if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) { goodsCoupon = info; comments.add(info); } else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) { currencyCoupon = info; } } } List<CommentInfo> comments = new ArrayList<>(); if (goodsCoupon != null) { comments.add(goodsCoupon); } if (commentInfo != null) { @@ -831,12 +928,7 @@ } // 券类型 String tags = commentInfo.getTags(); if (StringUtil.isNullOrEmpty(tags)) { commentInfo.setType(CommentInfoEnum.currencyCoupon.getDesc()); } else { commentInfo.setType(tags); } commentInfo.setType(commentInfo.getTags()); commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon); // 标签信息 @@ -861,7 +953,6 @@ } resultObj.setComments(comments); goodsEvaluateDao.save(resultObj); } @@ -1350,18 +1441,6 @@ for (CommentInfo commentInfo: comments) { comment ++; String typeCoupon = commentInfo.getType(); if (StringUtil.isNullOrEmpty(typeCoupon)) { if (commentInfo.getTypeEnum() == null) { commentInfo.setType(""); } else { commentInfo.setType(commentInfo.getTypeEnum().getDesc()); } } else if (typeCoupon.equals(CommentInfoEnum.goodsCoupon.name())) { commentInfo.setType("商品优惠券"); } else if (typeCoupon.equals(CommentInfoEnum.currencyCoupon.name())) { commentInfo.setType("通用优惠券"); } CommentInfoEnum typeComment = commentInfo.getTypeEnum(); if (typeComment != null && typeComment ==CommentInfoEnum.goodsCoupon) { @@ -1372,27 +1451,28 @@ } } String coupon = commentInfo.getCoupon(); String endTime = commentInfo.getEndTime(); if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) { Date endDay = sdf.parse(endTime); if (endDay.getTime() > now.getTime()) { int daysBetween = DateUtil.daysBetween(endDay, now); int daysBetween = DateUtil.daysBetween(now, endDay); if (daysBetween > 0) { ClientTextStyleVO styleVO = new ClientTextStyleVO(); styleVO.setColor("#E5005C"); styleVO.setContent(daysBetween + "天后过期"); styleVO.setContent(coupon); List<ClientTextStyleVO> tagList = commentInfo.getTagList(); tagList.add(styleVO); commentInfo.setTagList(tagList); commentNew.add(commentInfo); continue; } } } commentNew.add(commentInfo); } goodsEvaluate.setComments(commentNew); @@ -1566,6 +1646,14 @@ @Override public void addGoodsEvaluateByDynamicInfo(DynamicInfo info) { if (1 > 0) { return; // 暂不启用自动生成 } if (info == null) { return; } try { GoodsEvaluate goodsEvaluate = new GoodsEvaluate(); goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", "")); fanli/src/main/java/com/yeshi/fanli/service/inter/dynamic/GoodsEvaluateService.java
@@ -85,7 +85,7 @@ * @throws GoodsEvaluateException * @throws Exception */ public void saveSingleGoodsCoupon(String pid, CommentInfo commentInfo) throws GoodsEvaluateException, Exception; public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo) throws GoodsEvaluateException, Exception; public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest) @@ -138,4 +138,7 @@ public void addGoodsEvaluateByDynamicInfo(DynamicInfo info); public void saveGoodsComment(String id, int kind, List<CommentInfo> comments) throws GoodsEvaluateException, Exception; } fanli/src/main/java/com/yeshi/fanli/util/Constant.java
@@ -25,6 +25,10 @@ public static boolean IS_TEST = true; public static int PAGE_SIZE = 20; // 验证文本口令或链接uid public static Long LINK_TOKEN_VERIFY_UID = 437032L; public static String YINGYONGBAO_LINK = "https://w.url.cn/s/AHUuT7i"; fanli/src/main/java/com/yeshi/fanli/util/ImageUtil.java
@@ -379,10 +379,12 @@ InputStream ziying = null; if (goods.getShopType() == 21) { ziying = ImageUtil.class.getClassLoader().getResourceAsStream("image/icon_ziying.png"); g2d.drawImage(ImageIO.read(ziying), baoYouLength, y + 150, 60, 30, null); } else if (goods.isBaoyou()) { ziying = ImageUtil.class.getClassLoader().getResourceAsStream("image/icon_baoyou.png"); g2d.drawImage(ImageIO.read(ziying), baoYouLength, y + 150, 60, 30, null); } g2d.drawImage(ImageIO.read(ziying), baoYouLength, y + 150, 60, 30, null); // 销量 String sale = null;