From 121c5ee5345d366ae4aadf7901af9b0678dbb7a8 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期日, 23 二月 2020 00:24:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  633 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 531 insertions(+), 102 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 aeed4eb..cf9a789 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
@@ -25,7 +25,9 @@
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.entity.bus.activity.ActivityUser;
 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;
@@ -102,6 +104,11 @@
 				throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�");
 		}
 
+		Integer dynamicType = record.getDynamicType();
+		if (dynamicType == null) {
+			record.setDynamicType(1);
+		}
+		
 		if (record.getShareNum() == null)
 			record.setShareNum(0);
 
@@ -245,87 +252,77 @@
 			String[] pics = picUrls.split(",");
 			if (pics != null) {
 				listpic = new ArrayList<>();
-				for (int i = 0; i < pics.length; i++ ) {
-					if(pics[i].startsWith("http")){
-						listpic.add(pics[i]);
+				for (int i = 0; i < pics.length; i++) {
+					String picLink = pics[i];
+					if (fileRequest != null) {
+						MultipartFile file = fileRequest.getFile("file" + i);
+						if (file == null) {
+							continue;
+						}
+						picLink = uploadPicture(file);
+					}
+					if (picLink.startsWith("http")) {
+						listpic.add(picLink);
 					}
 				}
 			}
 		}
 
-		if (fileRequest != null) {
-			for (int i = 0; i < 9; i++) {
-				MultipartFile file = fileRequest.getFile("file" + i);
-				if (file == null) {
-					continue;
-				}
-				// 涓婁紶鏂囦欢
-				String picLink = uploadPicture(file);
-				if (listpic != null && listpic.size() > i) {
-					// 闇�瑕佸垹闄ょ殑list
-					String delUrl = listpic.get(i);
-					listDel.add(delUrl);
-					listpic.set(i, picLink);
-					continue;
-				}
-				listpic.add(picLink);
-			}
+		// 鎸囧畾涓诲浘
+		if (picNum == null || picNum > 9 || picNum < 1) {
+			picNum = 1;
+		}
 
-			// 鎸囧畾涓诲浘
-			if (picNum == null || picNum > 9 || picNum < 1) {
-				picNum = 1;
-			}
+		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));
 
-			if (listpic != null && listpic.size() > 0) {
-				// 瀵规瘮鍥剧墖
-				for (int j = 0; j < listOld.size(); j++) {
-					boolean del = true;
-					for (int i = 0; i < listpic.size(); i++) {
-						if (listpic.get(i).equals(listOld.get(j))) {
-							del = false;
-							break;
-						}
+				if (picNum - 1 == i) {
+					imgInfo0.setType(ImgEnum.goods);
+					// 鍟嗗搧淇℃伅
+					GoodsDetailVO goodsDetailVO = getGoodsDetailVO(goodsId, goodsType);
+					if (goodsDetailVO == null) {
+						throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪");
 					}
-					if (del)
-						listDel.add(listOld.get(j));
-				}
-				
-				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));
 
-					if (picNum - 1 == i) {
-						imgInfo0.setType(ImgEnum.goods);
-						// 鍟嗗搧淇℃伅
-						GoodsDetailVO goodsDetailVO = null; // TODO
-//								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.setState(1);
-//						} else {
-//							simpleGoods.setAmount(couponInfo.getAmount());
-//							simpleGoods.setState(0);
-//						}
-						imgInfo0.setGoods(simpleGoods);
+					SimpleGoods simpleGoods = new SimpleGoods();
+					simpleGoods.setGoodsId(goodsId);
+					simpleGoods.setGoodsType(goodsType);
+					simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+					CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
+					if (couponInfo == null) {
+						simpleGoods.setState(1);
 					} else {
-						imgInfo0.setType(ImgEnum.img);
+						simpleGoods.setAmount(couponInfo.getAmount());
+						simpleGoods.setState(0);
 					}
-					listImg.add(imgInfo0);
+					imgInfo0.setGoods(simpleGoods);
+				} else {
+					imgInfo0.setType(ImgEnum.img);
 				}
+				listImg.add(imgInfo0);
+			}
+		}
+
+		if (listOld != null && listOld.size() > 0) {
+			for (int j = 0; j < listOld.size(); j++) {
+				boolean del = true;
+				String oldPic = listOld.get(j);
+				for (ImgInfo imgInfo: listImg) {
+					String url = imgInfo.getUrl();
+					if (url.equals(oldPic)) {
+						del = false;
+					} 
+				}
+				if (del)
+					listDel.add(listOld.get(j));
 			}
 		}
 		
@@ -333,7 +330,7 @@
 		resultObj.setMainPicNum(picNum);
 		resultObj.setImgList(listImg);
 		goodsEvaluateDao.save(resultObj);
-		
+
 		// 鍒犻櫎鍥剧墖
 		if (listDel.size() > 0) {
 			for (String url : listDel) {
@@ -366,6 +363,223 @@
 		}
 		return goodsDetail;
 	}
+
+	@Override
+	public void saveMultipleGoods(String pid, String videoUrl, String goodsList,
+			MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
+		if (StringUtil.isNullOrEmpty(pid)) {
+			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
+		}
+
+		GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+		if (resultObj == null)
+			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+
+		// 鍘熷皝瑙嗛闈㈠浘
+		ImgInfo imgVideo = null;
+		List<String> listDel = new ArrayList<String>();
+		List<ImgInfo> oldGoodsList = new ArrayList<ImgInfo>();
+
+		// 澶勭悊鍥剧墖
+		List<ImgInfo> resultList = resultObj.getImgList();
+		if (resultList != null && resultList.size() > 0) {
+			for (ImgInfo info : resultList) {
+				ImgEnum type = info.getType();
+				if (type == ImgEnum.video) {
+					imgVideo = info;
+				} else if (type == ImgEnum.goods) {
+					oldGoodsList.add(info);
+				}
+			}
+		}
+
+		// 瑙嗛閮ㄥ垎
+		if (fileRequest != null) {
+			MultipartFile filevideo = fileRequest.getFile("filevideo");
+			if (filevideo != null) {
+				if (StringUtil.isNullOrEmpty(videoUrl)) {
+					throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
+				}
+
+				String picLink = uploadPicture(filevideo);
+				if (imgVideo != null) {
+					String url = imgVideo.getUrl();
+					if (!StringUtil.isNullOrEmpty(url)) {
+						listDel.add(url);
+					}
+					imgVideo.setUrl(picLink);
+					imgVideo.setUrlHD(picLink);
+				} 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);
+					imgVideo.setUrlHD(picLink);
+					imgVideo.setVideoUrl(videoUrl);
+					imgVideo.setType(ImgEnum.video);
+				}
+			}
+		}
+
+		List<ImgInfo> listImg = new ArrayList<ImgInfo>();
+		if (imgVideo != null) {
+			if (!StringUtil.isNullOrEmpty(videoUrl)) {
+				if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
+					throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
+				}
+				imgVideo.setVideoUrl(videoUrl);
+				listImg.add(imgVideo);
+			} else {
+				String url = imgVideo.getUrl();
+				if (!StringUtil.isNullOrEmpty(url)) {
+					listDel.add(url);
+				}
+			}
+		}
+
+		if (!StringUtil.isNullOrEmpty(goodsList)) {
+			String[] goodsArray = goodsList.split(",");
+			if (goodsArray != null && goodsArray.length > 0) {
+				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]));
+					if (goodsDetailVO == null) {
+						continue;
+					}
+
+					String picUrl = goodsDetailVO.getPicUrl();
+					if (fileRequest != null) {
+						MultipartFile file = fileRequest.getFile("file" + i);
+						if (file != null) {
+							picUrl = uploadPicture(file);
+						}
+					}
+
+					ImgInfo imgInfo0 = new ImgInfo();
+					imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
+					imgInfo0.setW(1);
+					imgInfo0.setH(1);
+					imgInfo0.setLarge(false);
+					imgInfo0.setPid(pid);
+					imgInfo0.setUrl(picUrl);
+					imgInfo0.setUrlHD(picUrl);
+					imgInfo0.setType(ImgEnum.goods);
+
+					SimpleGoods simpleGoods = new SimpleGoods();
+					simpleGoods.setGoodsId(goodsDetailVO.getGoodsId());
+					simpleGoods.setGoodsType(goodsDetailVO.getGoodsType());
+					simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+					CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
+					if (couponInfo == null) {
+						simpleGoods.setState(1);
+					} else {
+						simpleGoods.setAmount(couponInfo.getAmount());
+						simpleGoods.setState(0);
+					}
+					imgInfo0.setGoods(simpleGoods);
+				}
+			}
+		}
+
+		// 鏁版嵁瀵规瘮 鍒犻櫎鍥剧墖
+		if (oldGoodsList != null && oldGoodsList.size() > 0) {
+			for (ImgInfo old : oldGoodsList) {
+				ImgEnum type = old.getType();
+				if (type != ImgEnum.goods) {
+					continue;
+				}
+
+				boolean del = false;
+				long oldGoodsId = old.getGoods().getGoodsId().longValue();
+				int oldGoodsType = old.getGoods().getGoodsType().intValue();
+				for (ImgInfo newInfo : listImg) {
+					ImgEnum type2 = old.getType();
+					if (type2 != ImgEnum.goods) {
+						continue;
+					}
+
+					if (oldGoodsId == newInfo.getGoods().getGoodsId().longValue()
+							&& oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) {
+						String url = newInfo.getUrl();
+						if (url.equals(old.getUrl())) {
+
+						} else if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+							del = true;
+						} else {
+							newInfo.setUrl(old.getUrl());
+							newInfo.setUrlHD(old.getUrlHD());
+						}
+						break;
+					}
+				}
+
+				if (del) {
+					listDel.add(old.getUrl());
+				}
+			}
+		}
+
+		// 淇濆瓨鍥剧墖淇℃伅
+		resultObj.setImgList(listImg);
+		goodsEvaluateDao.save(resultObj);
+
+		// 鍒犻櫎鍥剧墖
+		if (listDel.size() > 0) {
+			for (String url : listDel) {
+				if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+					removePicture(url);
+				}
+			}
+		}
+	}
+
+	@Override
+	public void saveGoodsCoupon(String pid, String tags, String content) throws GoodsEvaluateException, Exception {
+		if (StringUtil.isNullOrEmpty(pid)) {
+			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
+		}
+
+		GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+		if (resultObj == null)
+			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+
+		CommentInfo goodsCoupon = null;
+		CommentInfo currencyCoupon = null;
+		List<CommentInfo> oldComments = resultObj.getComments();
+		if (oldComments != null) {
+			for (CommentInfo info: oldComments) {
+				if(CommentInfoEnum.goodsCoupon == info.getType()) {
+					goodsCoupon = info;
+				} else if (CommentInfoEnum.currencyCoupon == info.getType()) {
+					currencyCoupon = info;
+				}
+			}
+		}
+		
+		List<CommentInfo> comments = new ArrayList<>();
+		if (!StringUtil.isNullOrEmpty(content)) {
+			CommentInfo commentInfo = new CommentInfo();
+			if (goodsCoupon != null) {
+				commentInfo.setId(goodsCoupon.getId());
+			} else {
+				commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+			}
+			commentInfo.setContent(content);
+			commentInfo.setType(CommentInfoEnum.goodsCoupon);
+			comments.add(currencyCoupon);
+		}
+		
+		if (currencyCoupon != null) {
+			comments.add(currencyCoupon);
+		}
+		
+		resultObj.setComments(comments);
+		goodsEvaluateDao.save(resultObj);
+	}
 	
 	@Override
 	public void saveSingleGoodsCoupon(String pid, CommentInfo commentInfo) throws GoodsEvaluateException, Exception {
@@ -377,18 +591,61 @@
 		if (resultObj == null)
 			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
 
+		CommentInfo goodsCoupon = null;
+		CommentInfo currencyCoupon = null;
+		List<CommentInfo> oldComments = resultObj.getComments();
+		if (oldComments != null) {
+			for (CommentInfo info: oldComments) {
+				if(CommentInfoEnum.goodsCoupon == info.getType()) {
+					goodsCoupon = info;
+				} else if (CommentInfoEnum.currencyCoupon == info.getType()) {
+					currencyCoupon = info;
+				}
+			}
+		}
+		
 		List<CommentInfo> comments = new ArrayList<>();
+		if (goodsCoupon != null) {
+			comments.add(goodsCoupon);
+		}
+		
 		if (commentInfo != null) {
+			if (currencyCoupon != null) {
+				commentInfo.setId(currencyCoupon.getId());
+			} else {
+				commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+			}
+			commentInfo.setType(CommentInfoEnum.currencyCoupon);
+			
+			// 鏍囩淇℃伅
+			List<ClientTextStyleVO> tagList = new ArrayList<>();
+			String couponSource = commentInfo.getCouponSource();
+			if (!StringUtil.isNullOrEmpty(couponSource)) {
+				ClientTextStyleVO styleVO = new ClientTextStyleVO();
+				styleVO.setColor("#16C253");
+				styleVO.setContent(couponSource);
+				tagList.add(styleVO);
+			}
+			String coupon = commentInfo.getCoupon();
+			if (!StringUtil.isNullOrEmpty(coupon)) {
+				ClientTextStyleVO styleVO = new ClientTextStyleVO();
+				styleVO.setColor("#E5005C");
+				styleVO.setContent(coupon);
+				tagList.add(styleVO);
+			}
+			commentInfo.setTagList(tagList);
+			
 			comments.add(commentInfo);
 		}
-		resultObj.setComments(comments);
 		
+		resultObj.setComments(comments);
+
 		goodsEvaluateDao.save(resultObj);
 	}
 
-
 	@Override
-	public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
+	public void saveActivityPic(String pid, ImgInfo imgInfo, MultipartHttpServletRequest fileRequest)
+			throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
 			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
 		}
@@ -403,18 +660,17 @@
 		ImgInfo imgactivity = null;
 		List<ImgInfo> resultList = resultObj.getImgList();
 		if (resultList != null && resultList.size() > 0) {
-			for(ImgInfo info: resultList) {
+			for (ImgInfo info : resultList) {
 				if (info.getType() == ImgEnum.activity) {
 					activityPic = info.getActivityPic();
-					imgVideo = info;
+					imgactivity = info;
 				} else {
 					imgVideo = info;
 					videoPic = info.getUrl();
 				}
 			}
 		}
-		
-		
+
 		List<ImgInfo> listImg = new ArrayList<ImgInfo>();
 		if (fileRequest != null) {
 			MultipartFile filevideo = fileRequest.getFile("filevideo");
@@ -423,7 +679,7 @@
 				String picLink = uploadPicture(filevideo);
 				videoPic = picLink;
 			}
-			
+
 			MultipartFile activityfile = fileRequest.getFile("activityfile");
 			if (activityfile != null) {
 				removePicture(activityPic);
@@ -431,9 +687,9 @@
 				activityPic = picLink;
 			}
 		}
-		
+
 		if (!StringUtil.isNullOrEmpty(videoPic) || !StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
-			if (imgVideo != null){
+			if (imgVideo != null) {
 				imgVideo.setUrl(videoPic);
 				imgVideo.setUrlHD(videoPic);
 				imgVideo.setVideoUrl(imgInfo.getVideoUrl());
@@ -451,30 +707,173 @@
 			}
 			listImg.add(imgVideo);
 		}
-		
+
 		if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
-			if (imgVideo != null){
-				imgVideo.setUrl(activityPic);
-				imgVideo.setUrlHD(activityPic);
-				imgVideo.setVideoUrl(imgInfo.getVideoUrl());
+			if (imgactivity != null) {
+				imgactivity.setUrl(activityPic);
+				imgactivity.setUrlHD(activityPic);
+				imgactivity.setActivityUrl(imgInfo.getActivityUrl());
 			} else {
-				imgVideo = new ImgInfo();
-				imgVideo.setId(UUID.randomUUID().toString().replace("-", ""));
-				imgVideo.setW(1);
-				imgVideo.setH(1);
-				imgVideo.setLarge(true);
-				imgVideo.setPid(pid);
-				imgVideo.setUrl(activityPic);
-				imgVideo.setUrlHD(activityPic);
-				imgVideo.setActivityUrl(imgInfo.getActivityUrl());
-				imgVideo.setType(ImgEnum.activity);
+				imgactivity = new ImgInfo();
+				imgactivity.setId(UUID.randomUUID().toString().replace("-", ""));
+				imgactivity.setW(1);
+				imgactivity.setH(1);
+				imgactivity.setLarge(true);
+				imgactivity.setPid(pid);
+				imgactivity.setUrl(activityPic);
+				imgactivity.setUrlHD(activityPic);
+				imgactivity.setActivityUrl(imgInfo.getActivityUrl());
+				imgactivity.setType(ImgEnum.activity);
 			}
-			listImg.add(imgVideo);
+			listImg.add(imgactivity);
 		}
 		resultObj.setImgList(listImg);
 		goodsEvaluateDao.save(resultObj);
 	}
 
+	@Override
+	public void saveSuCai(String pid, String videoUrl, String picUrls, 
+			MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
+		if (StringUtil.isNullOrEmpty(pid)) {
+			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
+		}
+
+		GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+		if (resultObj == null)
+			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+
+		// 鍘熷皝瑙嗛闈㈠浘
+		ImgInfo imgVideo = null;
+		List<String> listDel = new ArrayList<String>();
+		List<String> listOld = new ArrayList<String>();
+
+		// 澶勭悊鍥剧墖
+		List<ImgInfo> resultList = resultObj.getImgList();
+		if (resultList != null && resultList.size() > 0) {
+			for (ImgInfo info : resultList) {
+				ImgEnum type = info.getType();
+				if (type == ImgEnum.video) {
+					imgVideo = info;
+				} else if (type == ImgEnum.img) {
+					String url = info.getUrl();
+					if (!StringUtil.isNullOrEmpty(url)) {
+						listOld.add(url);
+					}
+				}
+			}
+		}
+
+		// 瑙嗛閮ㄥ垎
+		if (fileRequest != null) {
+			MultipartFile filevideo = fileRequest.getFile("filevideo");
+			if (filevideo != null) {
+				if (StringUtil.isNullOrEmpty(videoUrl)) {
+					throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
+				}
+
+				String picLink = uploadPicture(filevideo);
+				if (imgVideo != null) {
+					String url = imgVideo.getUrl();
+					if (!StringUtil.isNullOrEmpty(url)) {
+						listDel.add(url);
+					}
+					imgVideo.setUrl(picLink);
+					imgVideo.setUrlHD(picLink);
+				} 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);
+					imgVideo.setUrlHD(picLink);
+					imgVideo.setVideoUrl(videoUrl);
+					imgVideo.setType(ImgEnum.video);
+				}
+			}
+		}
+
+		List<ImgInfo> listImg = new ArrayList<ImgInfo>();
+		if (imgVideo != null) {
+			if (!StringUtil.isNullOrEmpty(videoUrl)) {
+				if (imgVideo != null && StringUtil.isNullOrEmpty(imgVideo.getUrl())) {
+					throw new GoodsEvaluateException(1, "瑙嗛灏侀潰鍥句笉鑳戒负绌�");
+				}
+				imgVideo.setVideoUrl(videoUrl);
+				listImg.add(imgVideo);
+			} else {
+				String url = imgVideo.getUrl();
+				if (!StringUtil.isNullOrEmpty(url)) {
+					listDel.add(url);
+				}
+			}
+		}
+
+		// 缂栬緫鍥剧墖
+		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);
+						}
+					}
+					
+					if (picLink.startsWith("http")) {
+						listpic.add(picLink);
+					}
+				}
+			}
+		}
+
+		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);
+			}
+		}
+
+		if (listOld != null && listOld.size() > 0) {
+			for (int j = 0; j < listOld.size(); j++) {
+				boolean del = true;
+				String oldPic = listOld.get(j);
+				for (ImgInfo imgInfo: listImg) {
+					String url = imgInfo.getUrl();
+					if (url.equals(oldPic)) {
+						del = false;
+					} 
+				}
+				if (del)
+					listDel.add(listOld.get(j));
+			}
+		}
+		
+		resultObj.setImgList(listImg);
+		goodsEvaluateDao.save(resultObj);
+
+		// 鍒犻櫎鍥剧墖
+		if (listDel.size() > 0) {
+			for (String url : listDel) {
+				if (url.contains(FilePathEnum.goodsEvaluate.getPath())) {
+					removePicture(url);
+				}
+			}
+		}
+	}
 	
 	@Override
 	public void deleteBatchByPrimaryKey(List<String> list) {
@@ -547,6 +946,17 @@
 		goodsEvaluate.setComments(comments);
 		goodsEvaluateDao.save(goodsEvaluate);
 	}
+	
+	@Override
+	public void release(String id) throws GoodsEvaluateException {
+		GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(id);
+		if (goodsEvaluate == null) {
+			throw new GoodsEvaluateException(1, "鍔ㄦ�佸凡涓嶅瓨鍦�");
+		}
+		goodsEvaluate.setState(1);
+		goodsEvaluateDao.save(goodsEvaluate);
+	}
+
 
 	@Override
 	public void deleteComment(String pid, List<String> list) throws GoodsEvaluateException {
@@ -597,19 +1007,19 @@
 	}
 
 	@Override
-	public List<GoodsEvaluate> query(int start, int count, String key, Integer state) {
-		return goodsEvaluateDao.query(start, count, key, state);
+	public List<GoodsEvaluate> query(int start, int count, String key, Integer state, int dynamicType) {
+		return goodsEvaluateDao.query(start, count, key, state, dynamicType);
 	}
 
 	@Override
-	public long count(String key, Integer state) {
-		return goodsEvaluateDao.count(key, state);
+	public long count(String key, Integer state, int dynamicType) {
+		return goodsEvaluateDao.count(key, state, dynamicType);
 	}
 
 	@Override
 	@Cacheable(value = "dynamicCache", key = "'queryValidEvaluateCache-'+#start")
 	public List<GoodsEvaluate> queryValidEvaluateCache(int start, int count) {
-		List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count);
+		List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, 1);
 
 		// 鏇存柊鍟嗗搧淇℃伅
 		executor.execute(new Runnable() {
@@ -624,7 +1034,26 @@
 
 	@Override
 	public long countValid() {
-		return goodsEvaluateDao.countValid();
+		return goodsEvaluateDao.countValid(1);
+	}
+	
+	@Override
+	@Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type")
+	public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) {
+		List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type);
+		// 鏇存柊鍟嗗搧淇℃伅
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				updateGoodInfo(list);
+			}
+		});
+		return list;
+	}
+
+	@Override
+	public long countValidMaterials(int type) {
+		return goodsEvaluateDao.countValid(type);
 	}
 
 	/**

--
Gitblit v1.8.0