From b842c5a62188655b9892a09debe7985fa395f1ea Mon Sep 17 00:00:00 2001 From: yj <Administrator@192> Date: 星期四, 05 三月 2020 10:42:48 +0800 Subject: [PATCH] 所有平台商品不管有没有券都自动生成评论 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 267 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 211 insertions(+), 56 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java index 03f752c..48eba2c 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.yeshi.utils.DateUtil; +import org.yeshi.utils.JsonUtil; import org.yeshi.utils.tencentcloud.COSManager; import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao; @@ -49,12 +50,14 @@ import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.goods.ShareGoodsService; import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.cache.JDGoodsCacheUtil; import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil; +import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.jd.JDUtil; @@ -82,6 +85,7 @@ @Resource(name = "taskExecutor") private TaskExecutor executor; + @Resource private JDGoodsCacheUtil jdGoodsCacheUtil; @@ -93,6 +97,9 @@ @Resource private ShareGoodsService shareGoodsService; + + @Resource + private ConvertLinkManager convertLinkManager; @@ -107,7 +114,7 @@ if (StringUtil.isNullOrEmpty(tilte)) { throw new GoodsEvaluateException(1, "鎺ㄨ崘璇笉鑳戒负绌�"); } - + try { ActivityUser activityUser = activityUserService.getActivityUserByNickName(record.getUser(), file); if (activityUser == null) @@ -118,11 +125,10 @@ } if (record.getEndTime() != null) { - if (record.getEndTime().getTime() <= java.lang.System.currentTimeMillis()) - throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬褰撳墠鏃堕棿"); - if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime()) throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�"); + } else { + record.setEndTime(DateUtil.plusDayDate(3,new Date())); } Integer dynamicType = record.getDynamicType(); @@ -130,14 +136,16 @@ record.setDynamicType(1); } - if (record.getShareNum() == null) - record.setShareNum(0); + if (record.getShareNum() == null || record.getShareNum() <=0 ) { + record.setShareNum((int)(Math.random()*5000)+1000); + } if (record.getWeight() == null) record.setWeight(0.0); if (record.getStartTime() == null) record.setStartTime(new Date()); + record.setPublishTime(record.getStartTime()); String id = record.getId(); @@ -328,9 +336,10 @@ throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪"); } + List<ImgInfo> tempList = new ArrayList<ImgInfo>(); int totalImg = 0; if (listpic != null && listpic.size() > 0) { - for (int i = 0; i < listpic.size(); i++) { + for (int i = 0; i < listpic.size() && i < 9; i++) { ImgInfo imgInfo0 = new ImgInfo(); imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); imgInfo0.setW(1); @@ -343,26 +352,29 @@ if (picNum - 1 == i) { imgInfo0.setType(ImgEnum.goods); SimpleGoods simpleGoods = new SimpleGoods(); + simpleGoods.setState(goodsDetailVO.getState()); simpleGoods.setGoodsId(goodsId); simpleGoods.setGoodsType(goodsType); - simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo(); if (couponInfo == null) { simpleGoods.setPrice(goodsDetailVO.getZkPrice()); - simpleGoods.setState(1); } else { simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); simpleGoods.setAmount(couponInfo.getAmount()); - simpleGoods.setState(0); } imgInfo0.setGoods(simpleGoods); imgInfo0.setGoodsVO(goodsDetailVO); + listImg.add(imgInfo0); } else { imgInfo0.setType(ImgEnum.img); + tempList.add(imgInfo0); } - listImg.add(imgInfo0); totalImg++; } + } + + if (tempList.size() > 0) { + listImg.addAll(tempList); } if (listOld != null && listOld.size() > 0) { @@ -399,27 +411,31 @@ boolean addComment = true; List<CommentInfo> commentsNew = new ArrayList<>(); List<CommentInfo> comments = resultObj.getComments(); - if (comments != null) { + if (comments != null && comments.size() > 0) { for (CommentInfo commentInfo: comments) { if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) { if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue() && oldGoodsVO.getGoodsType() == goodsType) { - addComment = true; - } else { addComment = false; - } + } continue; } commentsNew.add(commentInfo); } - } + } + + /* + * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo(); if + * (couponInfo1 == null) { addComment = false; } + */ + if (addComment) { String commentText = ""; if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, null); + TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0"); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); - commentText = template.replace("[鍙d护]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); + commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsType == Constant.SOURCE_TYPE_JD) { String couponUrl = null; JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods); @@ -443,6 +459,9 @@ } else { commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString()); } + + commentText =commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + CommentInfo commentInfo = new CommentInfo(); commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); @@ -472,6 +491,10 @@ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { try { TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); + String pictUrlWhite = goodsBrief.getPictUrlWhite(); + if (!StringUtil.isNullOrEmpty(pictUrlWhite)) { + goodsBrief.setPictUrl(pictUrlWhite); + } goodsDetail = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params); } catch (TaobaoGoodsDownException e) { throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); @@ -580,6 +603,7 @@ } String picUrl = goodsDetailVO.getPicUrl(); + if (fileRequest != null) { MultipartFile file = fileRequest.getFile("file" + i); if (file != null) { @@ -598,18 +622,19 @@ imgInfo0.setType(ImgEnum.goods); SimpleGoods simpleGoods = new SimpleGoods(); + simpleGoods.setState(goodsDetailVO.getState()); simpleGoods.setGoodsId(goodsDetailVO.getGoodsId()); simpleGoods.setGoodsType(goodsDetailVO.getGoodsType()); - simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo(); if (couponInfo == null) { - simpleGoods.setState(1); + simpleGoods.setPrice(goodsDetailVO.getZkPrice()); } else { + simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); simpleGoods.setAmount(couponInfo.getAmount()); - simpleGoods.setState(0); } imgInfo0.setGoods(simpleGoods); imgInfo0.setGoodsVO(goodsDetailVO); + listImg.add(imgInfo0); totalImg++; } @@ -706,6 +731,15 @@ List<CommentInfo> comments = new ArrayList<>(); if (!StringUtil.isNullOrEmpty(content)) { + + if(!StringUtil.isNullOrEmpty(content)) { + try { + convertLinkManager.convertLinkFromText(content, 1L, true); + } catch (Exception e) { + throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴"); + } + } + CommentInfo commentInfo = new CommentInfo(); if (goodsCoupon != null) { commentInfo.setId(goodsCoupon.getId()); @@ -731,7 +765,42 @@ if (StringUtil.isNullOrEmpty(pid)) { throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); } + + if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) { + throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�"); + } + + if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) { + throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�"); + } + + + String tagUrl = commentInfo.getTagUrl(); + String content = commentInfo.getContent(); + if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content) ) { + throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖"); + } + String endTime = commentInfo.getEndTime(); + if (!StringUtil.isNullOrEmpty(endTime)) { + try { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + sdf.parse(endTime); + } catch (Exception e) { + throw new GoodsEvaluateException(1, "璇峰~鍐欐纭殑鏃堕棿鏍煎紡锛�2020-03-05"); + } + } else { + throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿"); + } + + if(!StringUtil.isNullOrEmpty(content)) { + try { + convertLinkManager.convertLinkFromText(content, 1L, true); + } catch (Exception e) { + throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴"); + } + } + GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); if (resultObj == null) throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); @@ -1269,42 +1338,84 @@ if (list == null) { list = new ArrayList<>(); } - + Date now = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (GoodsEvaluate goodsEvaluate: list) { + + int comment = 0; List<CommentInfo> comments = goodsEvaluate.getComments(); - if (comments != null) { - Date now = new Date(); + if (comments != null && comments.size() > 0) { + EvaluateEnum typeEnum = goodsEvaluate.getType(); + List<CommentInfo> commentNew = new ArrayList<>(); + for (CommentInfo commentInfo: comments) { + comment ++; String typeCoupon = commentInfo.getType(); if (StringUtil.isNullOrEmpty(typeCoupon)) { - commentInfo.setType(commentInfo.getTypeEnum().getDesc()); + 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) { + GoodsDetailVO goods = goodsEvaluate.getGoods(); + if (goods.isHasCoupon()) { + commentNew.add(commentInfo); + continue; + } + } + String coupon = commentInfo.getCoupon(); String endTime = commentInfo.getEndTime(); if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) { - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date endDay = sdf.parse(endTime); - if (endDay.getTime() <= now.getTime()) { - continue; + if (endDay.getTime() > now.getTime()) { + int daysBetween = DateUtil.daysBetween(endDay, now); + 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); + } } - - int daysBetween = DateUtil.daysBetween(endDay, now); - if (daysBetween <= 0) { - continue; - } - - ClientTextStyleVO styleVO = new ClientTextStyleVO(); - styleVO.setColor("#E5005C"); - styleVO.setContent(daysBetween + "澶╁悗杩囨湡"); - styleVO.setContent(coupon); - - List<ClientTextStyleVO> tagList = commentInfo.getTagList(); - tagList.add(styleVO); - - commentInfo.setTagList(tagList); } + } + goodsEvaluate.setComments(commentNew); + + if (typeEnum != null && typeEnum == EvaluateEnum.single) { + if (comment > 0 && commentNew.size() == 0) { // 鎵�鏈夊埜璇勮涓嬫灦 + GoodsDetailVO goods = goodsEvaluate.getGoods(); + if (goods != null) { + goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦 + LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦1"); + } + + List<ImgInfo> imgList = goodsEvaluate.getImgList(); + if (imgList != null) { + for (ImgInfo imgInfo: imgList) { + SimpleGoods simpleGoods = imgInfo.getGoods(); + if (simpleGoods != null) { + simpleGoods.setState(1); + LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦2"); + } + } + + } + } } } } @@ -1330,6 +1441,8 @@ } try { + Date now = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); BigDecimal shareRate = hongBaoManageService.getShareRate(); BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate(); @@ -1349,11 +1462,36 @@ } } + EvaluateEnum type = goodsEvaluate.getType(); + if (type != null && type == EvaluateEnum.activity) { + List<CommentInfo> comments = goodsEvaluate.getComments(); + if (comments != null) { + for (CommentInfo commentInfo: comments) { + CommentInfoEnum commentInfoEnum = commentInfo.getTypeEnum(); + if (commentInfoEnum != null && commentInfoEnum== CommentInfoEnum.currencyCoupon) { + String endTime = commentInfo.getEndTime(); + if (!StringUtil.isNullOrEmpty(endTime)) { + Date endDay = sdf.parse(endTime); + if (endDay.getTime() < now.getTime()) { + goodsEvaluate.setState(0); // 娲诲姩杩囨湡 + } + } + } + + } + } + } + GoodsDetailVO goods = goodsEvaluate.getGoods(); if (goods != null) { GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), paramsDTO); - if (goodsNew != null) + if (goodsNew != null) { goodsEvaluate.setGoods(goodsNew); + } else { + goodsEvaluate.setState(0); // 宸插晢鍝佷笅鏋� + goods.setState(1); + goodsEvaluate.setGoods(goods); + } } // 鏇存柊鍟嗗搧淇℃伅 List<ImgInfo> imgList = goodsEvaluate.getImgList(); @@ -1371,17 +1509,24 @@ paramsDTO); if (goodsDetailVO != null) { simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); + simpleGoods.setState(0); CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo(); if (couponInfo == null) { simpleGoods.setPrice(goodsDetailVO.getZkPrice()); - simpleGoods.setState(1); } else { simpleGoods.setPrice(goodsDetailVO.getCouponPrice()); simpleGoods.setAmount(couponInfo.getAmount()); - simpleGoods.setState(0); } imgInfo.setGoods(simpleGoods); imgInfo.setGoodsVO(goodsDetailVO); + } else { + simpleGoods.setState(1); + imgInfo.setGoods(simpleGoods); + GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); + if (goodsVO != null) { + goodsVO.setState(1); + imgInfo.setGoodsVO(goodsVO); + } } } @@ -1396,7 +1541,16 @@ private GoodsDetailVO getGoodsNewInfo(Long goodsId, int goodsType, ConfigParamsDTO paramsDTO) { GoodsDetailVO vo = null; if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - + TaoBaoGoodsBrief goods; + try { + goods = redisManager.getTaoBaoGoodsBrief(goodsId); + if (goods != null) { + vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); + } + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + } else if (goodsType == Constant.SOURCE_TYPE_JD) { JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId); if (goodsInfo != null) { @@ -1428,7 +1582,7 @@ goodsEvaluate.setUpdateTime(new Date()); goodsEvaluate.setWeight(0.0); goodsEvaluate.setStartTime(new Date()); - goodsEvaluate.setEndTime(DateUtil.plusYears(new Date(), 100)); + goodsEvaluate.setEndTime(DateUtil.plusDayDate(3,new Date())); List<ClientTextStyleVO> titles = info.getTitle(); if (titles != null) { @@ -1456,23 +1610,19 @@ SimpleGoods simpleGoods = new SimpleGoods(); simpleGoods.setGoodsId(goodsVO.getGoodsId()); simpleGoods.setGoodsType(goodsVO.getGoodsType()); - + simpleGoods.setState(goodsVO.getState()); CouponInfoVO couponInfo = goodsVO.getCouponInfo(); if (couponInfo == null) { - simpleGoods.setState(0); simpleGoods.setPrice(goodsVO.getZkPrice()); } else { - simpleGoods.setState(goodsVO.getState()); simpleGoods.setPrice(goodsVO.getCouponPrice()); simpleGoods.setAmount(couponInfo.getAmount()); } imgInfo.setGoods(simpleGoods); - goodsEvaluate.setGoods(goodsVO); - - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(0L, goodsVO.getGoodsId(), null); + TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), null); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); - String commentText = template.replace("[鍙d护]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); + String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); commentText = commentText.replace("[鍘熶环]", goodsVO.getZkPrice().toString()); if (!goodsVO.isHasCoupon()) { @@ -1481,6 +1631,8 @@ } else { commentText = commentText.replace("[鍒稿悗浠穄", goodsVO.getCouponPrice().toString()); } + commentText =commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + CommentInfo commentInfo = new CommentInfo(); commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); @@ -1491,6 +1643,9 @@ List<CommentInfo> commentsNew = new ArrayList<>(); commentsNew.add(commentInfo); goodsEvaluate.setComments(commentsNew); + + goodsEvaluate.setGoods(goodsVO); + } imgList.add(imgInfo); } -- Gitblit v1.8.0