From 898bf7fa7eb1ba538d0af7f3c8f016dd29c4ac2c Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@MS-20170306HGUF> Date: 星期一, 24 二月 2020 14:16:56 +0800 Subject: [PATCH] 原热销 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 225 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 180 insertions(+), 45 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 ddd676b..516ae77 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,5 +1,6 @@ package com.yeshi.fanli.service.impl.dynamic; +import java.awt.image.BufferedImage; import java.io.InputStream; import java.math.BigDecimal; import java.util.ArrayList; @@ -10,6 +11,7 @@ import java.util.UUID; import javax.annotation.Resource; +import javax.imageio.ImageIO; import org.springframework.cache.annotation.Cacheable; import org.springframework.core.task.TaskExecutor; @@ -18,8 +20,6 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; import org.yeshi.utils.tencentcloud.COSManager; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao; import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; @@ -27,7 +27,6 @@ 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.GoodsEvaluate.EvaluateEnum; import com.yeshi.fanli.entity.dynamic.ImgInfo; import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum; import com.yeshi.fanli.entity.dynamic.SimpleGoods; @@ -209,7 +208,11 @@ 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); if (imgVideo != null) { String url = imgVideo.getUrl(); @@ -221,8 +224,6 @@ } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); - imgVideo.setW(1); - imgVideo.setH(1); imgVideo.setLarge(true); imgVideo.setPid(pid); imgVideo.setUrl(picLink); @@ -230,6 +231,8 @@ imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } + imgVideo.setW(width); + imgVideo.setH(height); } } @@ -276,6 +279,12 @@ picNum = 1; } + GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType);; + if (goodsDetailVO == null) { + throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪"); + } + + int totalImg = 0; if (listpic != null && listpic.size() > 0) { for (int i = 0; i < listpic.size(); i++) { ImgInfo imgInfo0 = new ImgInfo(); @@ -289,28 +298,26 @@ if (picNum - 1 == i) { imgInfo0.setType(ImgEnum.goods); - // 鍟嗗搧淇℃伅 - GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType); - if (goodsDetailVO == null) { - throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪"); - } - SimpleGoods simpleGoods = new SimpleGoods(); 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); } else { imgInfo0.setType(ImgEnum.img); } listImg.add(imgInfo0); + totalImg ++; } } @@ -329,7 +336,19 @@ } } - // 淇濆瓨鍥剧墖淇℃伅 + int lineNum = 0; + if (totalImg > 0) { + if (totalImg == 1) { + lineNum = 1; + } else if (totalImg <= 4) { + lineNum = 2; + } else { + lineNum = 3; + } + } + + resultObj.setLineNum(lineNum); + resultObj.setGoods(goodsDetailVO); resultObj.setMainPicNum(picNum); resultObj.setImgList(listImg); goodsEvaluateDao.save(resultObj); @@ -404,6 +423,11 @@ 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); if (imgVideo != null) { String url = imgVideo.getUrl(); @@ -415,8 +439,6 @@ } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); - imgVideo.setW(1); - imgVideo.setH(1); imgVideo.setLarge(true); imgVideo.setPid(pid); imgVideo.setUrl(picLink); @@ -424,6 +446,8 @@ imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } + imgVideo.setW(width); + imgVideo.setH(height); } } @@ -443,10 +467,11 @@ } } + int totalImg = 0; if (!StringUtil.isNullOrEmpty(goodsList)) { String[] goodsArray = goodsList.split(","); if (goodsArray != null && goodsArray.length > 0) { - for (int i = 0; i < goodsArray.length || i < 9; i++) { + for (int i = 0; i < goodsArray.length && i < 9; i++) { String goodsids = goodsArray[i]; String[] g = goodsids.split("-"); GoodsDetailVO goodsDetailVO = getGoodsDetailVO(Long.parseLong(g[0]), Integer.parseInt(g[1])); @@ -484,6 +509,9 @@ simpleGoods.setState(0); } imgInfo0.setGoods(simpleGoods); + imgInfo0.setGoodsVO(goodsDetailVO); + listImg.add(imgInfo0); + totalImg ++; } } } @@ -526,6 +554,19 @@ } } + 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); @@ -573,7 +614,7 @@ } commentInfo.setContent(content); commentInfo.setType(CommentInfoEnum.goodsCoupon); - comments.add(currencyCoupon); + comments.add(commentInfo); } if (currencyCoupon != null) { @@ -674,11 +715,20 @@ } } + int width = 0; + int height = 0; + int width2 = 0; + int height2 = 0; List<ImgInfo> listImg = new ArrayList<ImgInfo>(); if (fileRequest != null) { MultipartFile filevideo = fileRequest.getFile("filevideo"); 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; } @@ -686,6 +736,10 @@ MultipartFile activityfile = fileRequest.getFile("activityfile"); if (activityfile != null) { removePicture(activityPic); + InputStream inputStream = activityfile.getInputStream(); + BufferedImage sourceImg = ImageIO.read(inputStream); + width2 = sourceImg.getWidth(); + height2 = sourceImg.getHeight(); String picLink = uploadPicture(activityfile); activityPic = picLink; } @@ -699,14 +753,19 @@ } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); - imgVideo.setW(1); - imgVideo.setH(1); imgVideo.setLarge(true); imgVideo.setPid(pid); imgVideo.setUrl(videoPic); imgVideo.setUrlHD(videoPic); imgVideo.setVideoUrl(imgInfo.getVideoUrl()); imgVideo.setType(ImgEnum.video); + } + if (width > 0) { + imgVideo.setW(width); + imgVideo.setH(height); + } else { + imgVideo.setW(imgVideo.getW()); + imgVideo.setH(imgVideo.getH()); } listImg.add(imgVideo); } @@ -719,8 +778,6 @@ } else { imgactivity = new ImgInfo(); imgactivity.setId(UUID.randomUUID().toString().replace("-", "")); - imgactivity.setW(1); - imgactivity.setH(1); imgactivity.setLarge(true); imgactivity.setPid(pid); imgactivity.setUrl(activityPic); @@ -728,8 +785,16 @@ imgactivity.setActivityUrl(imgInfo.getActivityUrl()); imgactivity.setType(ImgEnum.activity); } + if (width2 > 0) { + imgactivity.setW(width2); + imgactivity.setH(height2); + } else { + imgactivity.setW(imgactivity.getW()); + imgactivity.setH(imgactivity.getH()); + } listImg.add(imgactivity); } + resultObj.setLineNum(1); resultObj.setImgList(listImg); goodsEvaluateDao.save(resultObj); } @@ -747,9 +812,11 @@ // 鍘熷皝瑙嗛闈㈠浘 ImgInfo imgVideo = null; + ImgInfo imgActivity = null; List<String> listDel = new ArrayList<String>(); List<String> listOld = new ArrayList<String>(); - + + List<ImgInfo> listOldImgInfo = new ArrayList<ImgInfo>(); // 澶勭悊鍥剧墖 List<ImgInfo> resultList = resultObj.getImgList(); if (resultList != null && resultList.size() > 0) { @@ -758,14 +825,18 @@ if (type == ImgEnum.video) { imgVideo = info; } else if (type == ImgEnum.img) { + listOldImgInfo.add(info); String url = info.getUrl(); if (!StringUtil.isNullOrEmpty(url)) { listOld.add(url); } + } else if (type == ImgEnum.activity) { + imgActivity = info; } } } + MultipartFile activityFile = null; // 瑙嗛閮ㄥ垎 if (fileRequest != null) { MultipartFile filevideo = fileRequest.getFile("filevideo"); @@ -773,7 +844,11 @@ 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); if (imgVideo != null) { String url = imgVideo.getUrl(); @@ -785,8 +860,6 @@ } else { imgVideo = new ImgInfo(); imgVideo.setId(UUID.randomUUID().toString().replace("-", "")); - imgVideo.setW(1); - imgVideo.setH(1); imgVideo.setLarge(true); imgVideo.setPid(pid); imgVideo.setUrl(picLink); @@ -794,7 +867,12 @@ imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } + imgVideo.setW(width); + imgVideo.setH(height); } + + + activityFile = fileRequest.getFile("activityFile"); } List<ImgInfo> listImg = new ArrayList<ImgInfo>(); @@ -803,6 +881,7 @@ if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) { throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�"); } + imgVideo.setVideoUrl(videoUrl); listImg.add(imgVideo); } else { @@ -812,41 +891,69 @@ } } } + + if (activityFile != null) { + InputStream inputStream = activityFile.getInputStream(); + BufferedImage sourceImg = ImageIO.read(inputStream); + int width = sourceImg.getWidth(); + int height = sourceImg.getHeight(); + + String picLink = uploadPicture(activityFile); + + ImgInfo activity = new ImgInfo(); + activity.setId(UUID.randomUUID().toString().replace("-", "")); + activity.setLarge(true); + activity.setPid(pid); + activity.setUrl(picLink); + activity.setUrlHD(picLink); + activity.setActivityPic(picLink); + activity.setW(width); + activity.setH(height); + activity.setType(ImgEnum.activity); + listImg.add(activity); + } else if (imgActivity != null) { + listImg.add(imgActivity); + } + + // 缂栬緫鍥剧墖 - List<String> listpic = null; if (!StringUtil.isNullOrEmpty(picUrls)) { String[] pics = picUrls.split(","); if (pics != null) { - listpic = new ArrayList<>(); for (int i = 0; i < pics.length; i++) { String picLink = pics[i]; if (fileRequest != null) { MultipartFile file = fileRequest.getFile("file" + i); if (file != null) { picLink = uploadPicture(file); + + ImgInfo imgInfo0 = new ImgInfo(); + imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); + imgInfo0.setLarge(true); + imgInfo0.setPid(pid); + imgInfo0.setUrl(picLink); + imgInfo0.setUrlHD(picLink); + imgInfo0.setType(ImgEnum.img); + imgVideo.setW(1); + imgVideo.setH(1); + listImg.add(imgInfo0); + continue; } } if (picLink.startsWith("http")) { - listpic.add(picLink); + if(listOldImgInfo != null) { + for (ImgInfo imgInfo:listOldImgInfo) { + String url = imgInfo.getUrl(); + if (picLink.equals(url)){ + listImg.add(imgInfo); + break; + } + } + } } } - } - } - - if (listpic != null && listpic.size() > 0) { - for (int i = 0; i < listpic.size(); i++) { - ImgInfo imgInfo0 = new ImgInfo(); - imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); - imgInfo0.setW(1); - imgInfo0.setH(1); - imgInfo0.setLarge(false); - imgInfo0.setPid(pid); - imgInfo0.setUrl(listpic.get(i)); - imgInfo0.setUrlHD(listpic.get(i)); - imgInfo0.setType(ImgEnum.img); - listImg.add(imgInfo0); } } @@ -864,7 +971,7 @@ listDel.add(listOld.get(j)); } } - + resultObj.setLineNum(1); resultObj.setImgList(listImg); goodsEvaluateDao.save(resultObj); @@ -1094,13 +1201,40 @@ GoodsDetailVO goods = goodsEvaluate.getGoods(); if (goods != null) { GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), paramsDTO); + if (goodsNew != null) + goodsEvaluate.setGoods(goodsNew); } // 鏇存柊鍟嗗搧淇℃伅 List<ImgInfo> imgList = goodsEvaluate.getImgList(); if (imgList == null || imgList.size() == 0) { continue; } - + + for (ImgInfo imgInfo: imgList) { + SimpleGoods simpleGoods = imgInfo.getGoods(); + if (simpleGoods == null) { + continue; + } + + GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(), paramsDTO); + if (goodsDetailVO != null) { + 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); + } + imgInfo.setGoods(simpleGoods); + imgInfo.setGoodsVO(goodsDetailVO); + } + } + + goodsEvaluate.setUpdateTime(new Date()); + goodsEvaluateDao.save(goodsEvaluate); } } catch (Exception e) { LogHelper.errorDetailInfo(e); @@ -1125,3 +1259,4 @@ } } + -- Gitblit v1.8.0