From c6037befc88e7e92e93fb928ce20078b6fe293d8 Mon Sep 17 00:00:00 2001 From: yj <Administrator@192> Date: 星期六, 07 三月 2020 12:02:24 +0800 Subject: [PATCH] 发圈倒计时 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 506 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 294 insertions(+), 212 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 0a2512b..3b7c417 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 @@ -1,6 +1,8 @@ package com.yeshi.fanli.service.impl.dynamic; import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileInputStream; import java.io.InputStream; import java.math.BigDecimal; import java.text.SimpleDateFormat; @@ -14,13 +16,14 @@ import javax.annotation.Resource; import javax.imageio.ImageIO; +import org.apache.commons.beanutils.PropertyUtils; import org.springframework.cache.annotation.Cacheable; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; 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.ImageCropUtil; import org.yeshi.utils.tencentcloud.COSManager; import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao; @@ -54,11 +57,11 @@ 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.FileUtil; 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; @@ -86,23 +89,20 @@ @Resource(name = "taskExecutor") private TaskExecutor executor; - @Resource private JDGoodsCacheUtil jdGoodsCacheUtil; @Resource private PinDuoDuoCacheUtil pinDuoDuoCacheUtil; - + @Resource private ConfigService configService; - + @Resource private ShareGoodsService shareGoodsService; - + @Resource private ConvertLinkManager convertLinkManager; - - @Override public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { @@ -115,7 +115,7 @@ if (StringUtil.isNullOrEmpty(tilte)) { throw new GoodsEvaluateException(1, "鎺ㄨ崘璇笉鑳戒负绌�"); } - + try { ActivityUser activityUser = activityUserService.getActivityUserByNickName(record.getUser(), file); if (activityUser == null) @@ -129,7 +129,7 @@ if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime()) throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�"); } else { - record.setEndTime(DateUtil.plusDayDate(3,new Date())); + record.setEndTime(DateUtil.plusDayDate(3, new Date())); } Integer dynamicType = record.getDynamicType(); @@ -137,8 +137,8 @@ record.setDynamicType(1); } - if (record.getShareNum() == null || record.getShareNum() <=0 ) { - record.setShareNum((int)(Math.random()*5000)+1000); + if (record.getShareNum() == null || record.getShareNum() <= 0) { + record.setShareNum((int) (Math.random() * 5000) + 1000); } if (record.getWeight() == null) @@ -146,7 +146,7 @@ if (record.getStartTime() == null) record.setStartTime(new Date()); - + record.setPublishTime(record.getStartTime()); String id = record.getId(); @@ -188,6 +188,39 @@ return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); } + private ImgInfo uploadVideoPicture(MultipartFile filevideo) { + try { + File tempFile = new File(FileUtil.getCacheDir() + "/" + filevideo.getOriginalFilename()); + if (tempFile.exists()) + tempFile.delete(); + tempFile.createNewFile(); + filevideo.transferTo(tempFile); + File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getOriginalFilename()); + // 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1 + ImageCropUtil.centerCrop(tempFile, destFile, 2.0f); + BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile)); + ImgInfo info = new ImgInfo(); + int width = sourceImg.getWidth(); + int height = sourceImg.getHeight(); + String picLink = uploadPicture(destFile, filevideo.getContentType()); + info.setH(height); + info.setW(width); + info.setUrl(picLink); + return info; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + private String uploadPicture(File file, String contentType) throws Exception { + InputStream inputStream = new FileInputStream(file); + String type = contentType.substring(contentType.indexOf("/") + 1); + String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "." + + type; + return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); + } + /** * 鍒犻櫎鍥剧墖 * @@ -201,7 +234,7 @@ } @Override - public void saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum, + public String saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum, String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception { if (StringUtil.isNullOrEmpty(pid)) { throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); @@ -224,10 +257,10 @@ ImgEnum type = info.getType(); if (type == ImgEnum.video) { imgVideo = info; - } else if (type == ImgEnum.goods ) { + } else if (type == ImgEnum.goods) { listOld.add(info.getUrl()); oldGoodsVO = info.getGoodsVO(); - } else if (type == ImgEnum.img){ + } else if (type == ImgEnum.img) { listOld.add(info.getUrl()); } } @@ -240,31 +273,28 @@ if (StringUtil.isNullOrEmpty(videoUrl)) { throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); } - InputStream inputStream = filevideo.getInputStream(); - BufferedImage sourceImg = ImageIO.read(inputStream); - int width = sourceImg.getWidth(); - int height = sourceImg.getHeight(); - - String picLink = uploadPicture(filevideo); + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); if (imgVideo != null) { String url = imgVideo.getUrl(); if (!StringUtil.isNullOrEmpty(url)) { listDel.add(url); } - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); imgVideo.setLarge(true); imgVideo.setPid(pid); - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } - imgVideo.setW(width); - imgVideo.setH(height); + imgVideo.setW(info.getW()); + imgVideo.setH(info.getH()); } } @@ -332,7 +362,7 @@ pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params); } - + if (goodsDetailVO == null) { throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪"); } @@ -373,7 +403,7 @@ totalImg++; } } - + if (tempList.size() > 0) { listImg.addAll(tempList); } @@ -408,31 +438,31 @@ resultObj.setGoods(goodsDetailVO); resultObj.setMainPicNum(picNum); resultObj.setImgList(listImg); - + boolean addComment = true; List<CommentInfo> commentsNew = new ArrayList<>(); List<CommentInfo> comments = resultObj.getComments(); if (comments != null && comments.size() > 0) { - for (CommentInfo commentInfo: comments) { + for (CommentInfo commentInfo : comments) { if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) { - if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue() + if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue() && oldGoodsVO.getGoodsType() == goodsType) { addComment = false; - } + } continue; - } + } commentsNew.add(commentInfo); } - } - + } + /* - * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo(); if - * (couponInfo1 == null) { addComment = false; } + * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = + * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment + * = false; } */ - - + + String commentText = ""; if (addComment) { - String commentText = ""; if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0"); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); @@ -444,15 +474,16 @@ couponUrl = couponInfo.getLink(); } String materialId = "https://item.jd.com/" + goodsId + ".html"; - String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "","1"); + String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, + JDApiUtil.POSITION_SHARE + "", "1"); String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey()); - commentText = template.replace("[閾炬帴]", jumpLink); + commentText = template.replace("[閾炬帴]", jumpLink); } else if (goodsType == Constant.SOURCE_TYPE_PDD) { String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, 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("棰嗗埜鎶㈣喘", "鎶㈣喘"); @@ -460,10 +491,10 @@ } 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"); - + 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("-", "")); commentInfo.setContent(commentText); @@ -481,33 +512,36 @@ } } } + + return commentText; } - 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) { + } 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 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"); + 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("棰嗗埜鎶㈣喘", "鎶㈣喘"); @@ -515,10 +549,10 @@ } 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(); @@ -583,31 +617,29 @@ throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); } - InputStream inputStream = filevideo.getInputStream(); - BufferedImage sourceImg = ImageIO.read(inputStream); - int width = sourceImg.getWidth(); - int height = sourceImg.getHeight(); + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); - String picLink = uploadPicture(filevideo); if (imgVideo != null) { String url = imgVideo.getUrl(); if (!StringUtil.isNullOrEmpty(url)) { listDel.add(url); } - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); imgVideo.setLarge(true); imgVideo.setPid(pid); - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } - imgVideo.setW(width); - imgVideo.setH(height); + imgVideo.setW(info.getW()); + imgVideo.setH(info.getH()); } } @@ -640,7 +672,7 @@ } String picUrl = goodsDetailVO.getPicUrl(); - + if (fileRequest != null) { MultipartFile file = fileRequest.getFile("file" + i); if (file != null) { @@ -671,7 +703,7 @@ } imgInfo0.setGoods(simpleGoods); imgInfo0.setGoodsVO(goodsDetailVO); - + listImg.add(imgInfo0); totalImg++; } @@ -743,37 +775,37 @@ } } - @Override - public void saveGoodsComment(String id, int kind, List<CommentInfo> comments) throws GoodsEvaluateException, Exception { - if (comments == null || comments.size() == 0 ) { + 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) { + 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 ++) { + 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); + 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) { @@ -788,15 +820,15 @@ 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); } @@ -804,7 +836,7 @@ resultObj.setComments(comments); goodsEvaluateDao.save(resultObj); } - + @Override public void saveGoodsCoupon(String pid, String content) throws GoodsEvaluateException, Exception { if (StringUtil.isNullOrEmpty(pid)) { @@ -830,15 +862,15 @@ List<CommentInfo> comments = new ArrayList<>(); if (!StringUtil.isNullOrEmpty(content)) { - - 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()); @@ -860,22 +892,23 @@ } @Override - public void saveCurrencyCoupon(String pid, int kind, 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, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅"); } - + 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) ) { + if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) { throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖"); } @@ -890,8 +923,8 @@ } else { throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿"); } - - if(!StringUtil.isNullOrEmpty(content) && kind != 3) { // 娲诲姩涓嶉獙璇� + + if (!StringUtil.isNullOrEmpty(content) && kind != 3) { // 娲诲姩涓嶉獙璇� try { convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true); } catch (ConvertLinkExceptionException e) { @@ -902,7 +935,7 @@ throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴"); } } - + GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid); if (resultObj == null) throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け"); @@ -927,10 +960,10 @@ commentInfo.setId(UUID.randomUUID().toString().replace("-", "")); } // 鍒哥被鍨� - + commentInfo.setType(commentInfo.getTags()); commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon); - + // 鏍囩淇℃伅 List<ClientTextStyleVO> tagList = new ArrayList<>(); String couponSource = commentInfo.getCouponSource(); @@ -994,12 +1027,12 @@ if (filevideo != null) { removePicture(videoPic); - InputStream inputStream = filevideo.getInputStream(); - BufferedImage sourceImg = ImageIO.read(inputStream); - width = sourceImg.getWidth(); - height = sourceImg.getHeight(); - String picLink = uploadPicture(filevideo); - videoPic = picLink; + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); + videoPic = info.getUrl(); + width=info.getW(); + height=info.getH(); } MultipartFile activityfile = fileRequest.getFile("activityfile"); @@ -1039,6 +1072,7 @@ listImg.add(imgVideo); } + int totalImg = 0; if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { if (imgactivity != null) { imgactivity.setUrl(activityPic); @@ -1062,8 +1096,21 @@ imgactivity.setH(imgactivity.getH()); } listImg.add(imgactivity); + totalImg ++; } - resultObj.setLineNum(1); + + int lineNum = 0; + if (totalImg > 0) { + if (totalImg == 1) { + lineNum = 1; + } else if (totalImg <= 4) { + lineNum = 2; + } else { + lineNum = 3; + } + } + + resultObj.setLineNum(lineNum); resultObj.setImgList(listImg); goodsEvaluateDao.save(resultObj); } @@ -1113,31 +1160,28 @@ if (StringUtil.isNullOrEmpty(videoUrl)) { throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖"); } - InputStream inputStream = filevideo.getInputStream(); - BufferedImage sourceImg = ImageIO.read(inputStream); - int width = sourceImg.getWidth(); - int height = sourceImg.getHeight(); - - String picLink = uploadPicture(filevideo); + ImgInfo info = uploadVideoPicture(filevideo); + if (info == null) + throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触"); if (imgVideo != null) { String url = imgVideo.getUrl(); if (!StringUtil.isNullOrEmpty(url)) { listDel.add(url); } - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); imgVideo.setLarge(true); imgVideo.setPid(pid); - imgVideo.setUrl(picLink); - imgVideo.setUrlHD(picLink); + imgVideo.setUrl(info.getUrl()); + imgVideo.setUrlHD(info.getUrl()); imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } - imgVideo.setW(width); - imgVideo.setH(height); + imgVideo.setW(info.getW()); + imgVideo.setH(info.getH()); } activityFile = fileRequest.getFile("activityFile"); @@ -1183,6 +1227,7 @@ listImg.add(imgActivity); } + int totalImg = 0; // 缂栬緫鍥剧墖 if (!StringUtil.isNullOrEmpty(picUrls)) { String[] pics = picUrls.split(","); @@ -1201,9 +1246,10 @@ imgInfo0.setUrl(picLink); imgInfo0.setUrlHD(picLink); imgInfo0.setType(ImgEnum.img); - imgVideo.setW(1); - imgVideo.setH(1); + imgInfo0.setW(1); + imgInfo0.setH(1); listImg.add(imgInfo0); + totalImg ++; continue; } } @@ -1214,6 +1260,7 @@ String url = imgInfo.getUrl(); if (picLink.equals(url)) { listImg.add(imgInfo); + totalImg ++; break; } } @@ -1237,7 +1284,19 @@ listDel.add(listOld.get(j)); } } - resultObj.setLineNum(1); + + int lineNum = 0; + if (totalImg > 0) { + if (totalImg == 1) { + lineNum = 1; + } else if (totalImg <= 4) { + lineNum = 2; + } else { + lineNum = 3; + } + } + + resultObj.setLineNum(lineNum); resultObj.setImgList(listImg); goodsEvaluateDao.save(resultObj); @@ -1416,7 +1475,104 @@ @Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type") public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) throws Exception { List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type); - + if (list == null) { + list = new ArrayList<>(); + } + Date now = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + List<GoodsEvaluate> listNew = new ArrayList<>(); + for (GoodsEvaluate goodsEvaluate : list) { + + GoodsEvaluate evaluateNew = new GoodsEvaluate(); + try { + PropertyUtils.copyProperties(evaluateNew, goodsEvaluate); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + int comment = 0; + List<CommentInfo> comments = evaluateNew.getComments(); + if (comments != null && comments.size() > 0) { + EvaluateEnum typeEnum = evaluateNew.getType(); + List<CommentInfo> commentNew = new ArrayList<>(); + + for (CommentInfo commentInfo : comments) { + if (StringUtil.isNullOrEmpty(commentInfo.getContent()) && + StringUtil.isNullOrEmpty(commentInfo.getCoupon())) { + continue; + } + + CommentInfo commentInfoNew = new CommentInfo(); + try { + PropertyUtils.copyProperties(commentInfoNew, commentInfo); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + comment++; + CommentInfoEnum typeComment = commentInfoNew.getTypeEnum(); + if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) { + GoodsDetailVO goods = evaluateNew.getGoods(); + if (goods != null && goods.isHasCoupon()) { + commentNew.add(commentInfoNew); + continue; + } + } + + String coupon = commentInfoNew.getCoupon(); + String endTime = commentInfoNew.getEndTime(); + if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) { + Date endDay = sdf.parse(endTime); + if (endDay.getTime() > now.getTime()) { + String daysBetween = DateUtil.dateDiff5(now, endDay); + if (!StringUtil.isNullOrEmpty(daysBetween)) { + ClientTextStyleVO styleVO = new ClientTextStyleVO(); + styleVO.setColor("#E5005C"); + styleVO.setContent(daysBetween + "鍚庤繃鏈�"); + + List<ClientTextStyleVO> tagList = commentInfoNew.getTagList(); + tagList.add(styleVO); + commentInfoNew.setTagList(tagList); + + commentNew.add(commentInfoNew); + continue; + } + } + } + + commentNew.add(commentInfo); + } + evaluateNew.setComments(commentNew); + + if (typeEnum != null && typeEnum == EvaluateEnum.single) { + if (comment > 0 && commentNew.size() == 0) { // 鎵�鏈夊埜璇勮涓嬫灦 + GoodsDetailVO goods = evaluateNew.getGoods(); + if (goods != null) { + goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦 + LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦1"); + } + + List<ImgInfo> imgList = evaluateNew.getImgList(); + if (imgList != null) { + for (ImgInfo imgInfo : imgList) { + SimpleGoods simpleGoods = imgInfo.getGoods(); + if (simpleGoods != null) { + simpleGoods.setState(1); + LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦2"); + } + } + + } + } + } + } + + listNew.add(evaluateNew); + } + List<GoodsEvaluate> listOBJ = list; // 鏇存柊鍟嗗搧淇℃伅 executor.execute(new Runnable() { @@ -1426,81 +1582,7 @@ } }); - 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 && comments.size() > 0) { - EvaluateEnum typeEnum = goodsEvaluate.getType(); - List<CommentInfo> commentNew = new ArrayList<>(); - - for (CommentInfo commentInfo: comments) { - comment ++; - - 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)) { - Date endDay = sdf.parse(endTime); - if (endDay.getTime() > now.getTime()) { - int daysBetween = DateUtil.daysBetween(now, endDay); - if (daysBetween > 0) { - ClientTextStyleVO styleVO = new ClientTextStyleVO(); - styleVO.setColor("#E5005C"); - styleVO.setContent(daysBetween + "澶╁悗杩囨湡"); - - List<ClientTextStyleVO> tagList = commentInfo.getTagList(); - tagList.add(styleVO); - commentInfo.setTagList(tagList); - - commentNew.add(commentInfo); - continue; - } - } - } - - commentNew.add(commentInfo); - } - 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"); - } - } - - } - } - } - } - } - - return list; + return listNew; } @Override @@ -1543,12 +1625,12 @@ } EvaluateEnum type = goodsEvaluate.getType(); - if (type != null && type == EvaluateEnum.activity) { + if (type != null && type == EvaluateEnum.activity) { List<CommentInfo> comments = goodsEvaluate.getComments(); if (comments != null) { - for (CommentInfo commentInfo: comments) { + for (CommentInfo commentInfo : comments) { CommentInfoEnum commentInfoEnum = commentInfo.getTypeEnum(); - if (commentInfoEnum != null && commentInfoEnum== CommentInfoEnum.currencyCoupon) { + if (commentInfoEnum != null && commentInfoEnum == CommentInfoEnum.currencyCoupon) { String endTime = commentInfo.getEndTime(); if (!StringUtil.isNullOrEmpty(endTime)) { Date endDay = sdf.parse(endTime); @@ -1557,11 +1639,11 @@ } } } - + } } } - + GoodsDetailVO goods = goodsEvaluate.getGoods(); if (goods != null) { GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), paramsDTO); @@ -1630,7 +1712,7 @@ } catch (TaobaoGoodsDownException e) { e.printStackTrace(); } - + } else if (goodsType == Constant.SOURCE_TYPE_JD) { JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId); if (goodsInfo != null) { @@ -1649,11 +1731,11 @@ if (1 > 0) { return; // 鏆備笉鍚敤鑷姩鐢熸垚 } - + if (info == null) { return; } - + try { GoodsEvaluate goodsEvaluate = new GoodsEvaluate(); goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", "")); @@ -1670,7 +1752,7 @@ goodsEvaluate.setUpdateTime(new Date()); goodsEvaluate.setWeight(0.0); goodsEvaluate.setStartTime(new Date()); - goodsEvaluate.setEndTime(DateUtil.plusDayDate(3,new Date())); + goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, new Date())); List<ClientTextStyleVO> titles = info.getTitle(); if (titles != null) { @@ -1707,11 +1789,11 @@ simpleGoods.setAmount(couponInfo.getAmount()); } imgInfo.setGoods(simpleGoods); - + TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), null); String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); - + commentText = commentText.replace("[鍘熶环]", goodsVO.getZkPrice().toString()); if (!goodsVO.isHasCoupon()) { commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); @@ -1719,21 +1801,21 @@ } 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"); + 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("-", "")); commentInfo.setContent(commentText); commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon); commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc()); - + List<CommentInfo> commentsNew = new ArrayList<>(); commentsNew.add(commentInfo); goodsEvaluate.setComments(commentsNew); - + goodsEvaluate.setGoods(goodsVO); - + } imgList.add(imgInfo); } -- Gitblit v1.8.0