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