From 5f86255a5b702c4a7ab34f9a8a6651965090ec5c Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@MS-20170306HGUF> Date: 星期日, 23 二月 2020 16:37:01 +0800 Subject: [PATCH] 多品bug --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 131 ++++++++++++++++++++++++++++--------------- 1 files changed, 86 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 cf9a789..7482a66 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; @@ -76,7 +75,7 @@ private PinDuoDuoCacheUtil pinDuoDuoCacheUtil; @Override - public void saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { + public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException { Integer state = record.getState(); if (state == null) { state = 0; @@ -119,13 +118,15 @@ record.setStartTime(new Date()); record.setPublishTime(record.getStartTime()); - if (StringUtil.isNullOrEmpty(record.getId())) { - record.setId(UUID.randomUUID().toString().replace("-", "")); + String id = record.getId(); + if (StringUtil.isNullOrEmpty(id)) { + id = UUID.randomUUID().toString().replace("-", ""); + record.setId(id); record.setShareNumReal(0); record.setCreateTime(new Date()); goodsEvaluateDao.save(record); } else { - GoodsEvaluate resultObj = goodsEvaluateDao.getById(record.getId()); + GoodsEvaluate resultObj = goodsEvaluateDao.getById(id); if (resultObj == null) throw new GoodsEvaluateException(1, "淇敼鍐呭宸蹭笉瀛樺湪"); @@ -137,6 +138,7 @@ resultObj.setTitle(tilte); goodsEvaluateDao.save(resultObj); } + return id; } /** @@ -206,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(); @@ -218,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); @@ -227,6 +231,8 @@ imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } + imgVideo.setW(width); + imgVideo.setH(height); } } @@ -256,10 +262,10 @@ String picLink = pics[i]; if (fileRequest != null) { MultipartFile file = fileRequest.getFile("file" + i); - if (file == null) { - continue; + if (file != null) { + picLink = uploadPicture(file); } - picLink = uploadPicture(file); + } if (picLink.startsWith("http")) { listpic.add(picLink); @@ -273,6 +279,11 @@ picNum = 1; } + GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType);; + if (goodsDetailVO == null) { + throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪"); + } + if (listpic != null && listpic.size() > 0) { for (int i = 0; i < listpic.size(); i++) { ImgInfo imgInfo0 = new ImgInfo(); @@ -286,20 +297,16 @@ 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); } @@ -327,6 +334,7 @@ } // 淇濆瓨鍥剧墖淇℃伅 + resultObj.setGoods(goodsDetailVO); resultObj.setMainPicNum(picNum); resultObj.setImgList(listImg); goodsEvaluateDao.save(resultObj); @@ -401,6 +409,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(); @@ -412,8 +425,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); @@ -421,6 +432,8 @@ imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } + imgVideo.setW(width); + imgVideo.setH(height); } } @@ -443,7 +456,7 @@ 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])); @@ -570,7 +583,7 @@ } commentInfo.setContent(content); commentInfo.setType(CommentInfoEnum.goodsCoupon); - comments.add(currencyCoupon); + comments.add(commentInfo); } if (currencyCoupon != null) { @@ -671,11 +684,18 @@ } } + int width = 0; + int height = 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; } @@ -696,14 +716,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); } @@ -746,7 +771,8 @@ ImgInfo imgVideo = 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) { @@ -755,6 +781,7 @@ 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); @@ -770,7 +797,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(); @@ -782,8 +813,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); @@ -791,6 +820,8 @@ imgVideo.setVideoUrl(videoUrl); imgVideo.setType(ImgEnum.video); } + imgVideo.setW(width); + imgVideo.setH(height); } } @@ -821,29 +852,38 @@ if (fileRequest != null) { MultipartFile file = fileRequest.getFile("file" + i); if (file != null) { + InputStream inputStream = file.getInputStream(); + BufferedImage sourceImg = ImageIO.read(inputStream); + int width = sourceImg.getWidth(); + int height = sourceImg.getHeight(); picLink = uploadPicture(file); + + ImgInfo imgInfo0 = new ImgInfo(); + imgInfo0.setId(UUID.randomUUID().toString().replace("-", "")); + imgInfo0.setLarge(false); + imgInfo0.setPid(pid); + imgInfo0.setUrl(listpic.get(i)); + imgInfo0.setUrlHD(listpic.get(i)); + imgInfo0.setType(ImgEnum.img); + imgVideo.setW(width); + imgVideo.setH(height); + 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); } } @@ -1122,3 +1162,4 @@ } } + -- Gitblit v1.8.0