From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 09 五月 2020 21:41:27 +0800
Subject: [PATCH] 2.1需求

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  230 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 137 insertions(+), 93 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 adb054c..2ff11ab 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
@@ -1001,7 +1001,7 @@
 	}
 
 	@Override
-	public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest)
+	public void saveActivityPic(String pid, ImgInfo imgInfo, String picUrls, MultipartHttpServletRequest fileRequest)
 			throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
 			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -1010,107 +1010,122 @@
 		GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
 		if (resultObj == null)
 			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+		
+		if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
+			throw new GoodsEvaluateException(1, "娲诲姩閾炬帴涓嶈兘涓虹┖");
+		}
 
-		String videoPic = null;
-		String activityPic = null;
 		ImgInfo imgVideo = null;
-		ImgInfo imgactivity = null;
+		List<String> listDel = new ArrayList<String>();
+		List<ImgInfo> listOld = new ArrayList<ImgInfo>();
 		List<ImgInfo> resultList = resultObj.getImgList();
 		if (resultList != null && resultList.size() > 0) {
 			for (ImgInfo info : resultList) {
-				if (info.getType() == ImgEnum.activity) {
-					activityPic = info.getActivityPic();
-					imgactivity = info;
-				} else {
+				if (info.getType() == ImgEnum.video) {
 					imgVideo = info;
-					videoPic = info.getUrl();
+				} else {
+					listOld.add(info);
+				}
+			}
+		}
+		
+		// 瑙嗛閮ㄥ垎
+		if (fileRequest != null) {
+			MultipartFile filevideo = fileRequest.getFile("filevideo");
+			if (filevideo != null) {
+				if (StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
+					throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
+				}
+				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(info.getUrl());
+					imgVideo.setUrlHD(info.getUrl());
+				} else {
+					imgVideo = new ImgInfo();
+					imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
+					imgVideo.setLarge(true);
+					imgVideo.setPid(pid);
+					imgVideo.setUrl(info.getUrl());
+					imgVideo.setUrlHD(info.getUrl());
+					imgVideo.setVideoUrl(imgInfo.getVideoUrl());
+					imgVideo.setType(ImgEnum.video);
+				}
+				imgVideo.setW(info.getW());
+				imgVideo.setH(info.getH());
+			}
+		}
+
+		
+		List<ImgInfo> listImg = new ArrayList<ImgInfo>();
+		if (imgVideo != null) {
+			if (!StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
+				if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
+					throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
+				}
+				imgVideo.setVideoUrl(imgInfo.getVideoUrl());
+				listImg.add(imgVideo);
+			} else {
+				String url = imgVideo.getUrl();
+				if (!StringUtil.isNullOrEmpty(url)) {
+					listDel.add(url);
+				}
+			}
+		}
+ 
+		// 缂栬緫鍥剧墖
+		List<ImgInfo> tempList = new ArrayList<ImgInfo>();
+		if (!StringUtil.isNullOrEmpty(picUrls)) {
+			String[] pics = picUrls.split(",");
+			if (pics != null) {
+				for (int i = 0; i < pics.length; i++) {
+					String picLink = pics[i];
+					if (picLink.startsWith("http")) {
+						if (listOld != null) {
+							for (ImgInfo info: listOld) {
+								if (info.getUrl().equals(picLink)) {
+									tempList.add(info);
+									break;
+								}
+							}
+						}
+					}
 				}
 			}
 		}
 
-		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);
-
-				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");
-			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;
+			for (int i = 0; i < 9; i++) {
+				MultipartFile file = fileRequest.getFile("file" + i);
+				if (file != null) {
+					ImgInfo info = uploadVideoPicture(file);
+					ImgInfo imgInfo0 = new ImgInfo();
+					imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
+					imgInfo0.setLarge(false);
+					imgInfo0.setPid(pid);
+					imgInfo0.setUrl(info.getUrl());
+					imgInfo0.setUrlHD(info.getUrl());
+					imgInfo0.setType(ImgEnum.img);
+					imgInfo0.setW(info.getW());
+					imgInfo0.setH(info.getH());
+					
+					if (i < tempList.size()) {
+						tempList.set(i, imgInfo0);
+					} else {
+						tempList.add(imgInfo0);
+					}
+				} 
 			}
 		}
-
-		if (!StringUtil.isNullOrEmpty(videoPic) || !StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
-			if (imgVideo != null) {
-				imgVideo.setUrl(videoPic);
-				imgVideo.setUrlHD(videoPic);
-				imgVideo.setVideoUrl(imgInfo.getVideoUrl());
-			} else {
-				imgVideo = new ImgInfo();
-				imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
-				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);
-		}
-
-		int totalImg = 0;
-		if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
-			if (imgactivity != null) {
-				imgactivity.setUrl(activityPic);
-				imgactivity.setUrlHD(activityPic);
-				imgactivity.setActivityUrl(imgInfo.getActivityUrl());
-			} else {
-				imgactivity = new ImgInfo();
-				imgactivity.setId(UUID.randomUUID().toString().replace("-", ""));
-				imgactivity.setLarge(true);
-				imgactivity.setPid(pid);
-				imgactivity.setUrl(activityPic);
-				imgactivity.setUrlHD(activityPic);
-				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);
-			totalImg++;
-		}
-
+		
 		int lineNum = 0;
+		int totalImg = tempList.size();
 		if (totalImg > 0) {
 			if (totalImg == 1) {
 				lineNum = 1;
@@ -1122,10 +1137,39 @@
 				lineNum = 3;
 			}
 		}
-
+		
+		if (tempList.size() > 0) {
+			listImg.addAll(tempList);
+		}
+		
+		// 娓呯悊鑰佸浘鐗�
+		if (listOld != null && listOld.size() > 0) {
+			for (ImgInfo infoOld: listOld) {
+				boolean del = true;
+				String oldPic = infoOld.getUrl();
+				for (ImgInfo info : listImg) {
+					if (info.getUrl().equals(oldPic)) {
+						del = false;
+					}
+				}
+				if (del)
+					listDel.add(infoOld.getUrl());
+			}
+		}
+		
+		resultObj.setJumpLink(imgInfo.getActivityUrl());
 		resultObj.setLineNum(lineNum);
 		resultObj.setImgList(listImg);
 		goodsEvaluateDao.save(resultObj);
+		
+		// 鍒犻櫎鍥剧墖
+		if (listDel.size() > 0) {
+			for (String url : listDel) {
+				if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+					removePicture(url);
+				}
+			}
+		}
 	}
 
 	@Override
@@ -1458,13 +1502,13 @@
 	}
 
 	@Override
-	public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) {
-		return goodsEvaluateDao.query(start, count, key, state, dynamicType);
+	public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType, String typeEnum) {
+		return goodsEvaluateDao.query(start, count, key, state, dynamicType, typeEnum);
 	}
 
 	@Override
-	public long count(String key, Integer state, int dynamicType) {
-		return goodsEvaluateDao.count(key, state, dynamicType);
+	public long count(String key, Integer state, int dynamicType, String typeEnum) {
+		return goodsEvaluateDao.count(key, state, dynamicType, typeEnum);
 	}
 
 	@Override

--
Gitblit v1.8.0