From b3da9f82b7740d39742fef1a81a56c22fe1c8b9c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 08 六月 2020 17:27:02 +0800
Subject: [PATCH] 券后价调整

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  468 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 303 insertions(+), 165 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 7b8d9ce..c1dda2a 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
@@ -31,6 +31,8 @@
 import com.yeshi.fanli.dto.ConfigParamsDTO;
 import com.yeshi.fanli.dto.jd.JDCouponInfo;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
+import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
 import com.yeshi.fanli.entity.bus.activity.ActivityUser;
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.dynamic.CommentInfo;
@@ -90,7 +92,7 @@
 
 	@Resource
 	private HongBaoManageService hongBaoManageService;
-	
+
 	@Resource
 	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
@@ -115,18 +117,17 @@
 	@Resource
 	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
 
-	
 	@Override
 	public void switchState(String id) throws GoodsEvaluateException {
 		if (id == null) {
 			throw new GoodsEvaluateException(1, "璇蜂紶閫掓纭弬鏁�");
 		}
-		
+
 		GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
 		if (resultObj == null) {
 			throw new GoodsEvaluateException(1, "姝ゅ唴瀹瑰凡涓嶅瓨鍦�");
 		}
-		
+
 		Integer state = resultObj.getState();
 		if (state == null || state == 0) {
 			state = 1;
@@ -135,8 +136,7 @@
 		}
 		goodsEvaluateDao.updateSatate(id, state);
 	}
-	
-	
+
 	@Override
 	public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
 		Integer state = record.getState();
@@ -163,7 +163,11 @@
 			if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime())
 				throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�");
 		} else {
-			record.setEndTime(DateUtil.plusDayDate(3, new Date()));
+			if (record.getStartTime() == null) {
+				record.setEndTime(DateUtil.plusDayDate(3, new Date()));
+			} else {
+				record.setEndTime(DateUtil.plusDayDate(3, record.getStartTime()));
+			}
 		}
 
 		Integer dynamicType = record.getDynamicType();
@@ -250,6 +254,31 @@
 		return null;
 	}
 
+	private ImgInfo uploadOriginalPicture(MultipartFile file) {
+		try {
+			InputStream inputStream = file.getInputStream();
+			String contentType = file.getContentType();
+			String type = contentType.substring(contentType.indexOf("/") + 1);
+			String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "."
+					+ type;
+
+			BufferedImage sourceImg = ImageIO.read(inputStream);
+			ImgInfo info = new ImgInfo();
+			int width = sourceImg.getWidth();
+			int height = sourceImg.getHeight();
+
+			String picLink = COSManager.getInstance().uploadFile(file.getInputStream(), filePath).getUrl();
+
+			info.setH(height);
+			info.setW(width);
+			info.setUrl(picLink);
+			return info;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
 	private String uploadPicture(File file, String contentType) throws Exception {
 		InputStream inputStream = new FileInputStream(file);
 		String type = contentType.substring(contentType.indexOf("/") + 1);
@@ -271,7 +300,7 @@
 	}
 
 	@Override
-	public String saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum,
+	public String saveSingleGoods(String pid, String goodsId, Integer goodsType, String videoUrl, Integer picNum,
 			String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
 			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -392,16 +421,16 @@
 		params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
 		if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
 			try {
-				TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+				TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
 				goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
 			} catch (TaobaoGoodsDownException e) {
 				throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
 			}
 		} else if (goodsType == Constant.SOURCE_TYPE_JD) {
-			jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
+			jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
 			goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(jdGoods, params);
 		} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
-			pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
+			pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
 			goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params);
 		}
 
@@ -471,7 +500,7 @@
 				lineNum = 1;
 			} else if (totalImg == 3) {
 				lineNum = 3;
-			} else if (totalImg <= 4) {
+			} else if (totalImg == 2 || totalImg == 4) {
 				lineNum = 2;
 			} else {
 				lineNum = 3;
@@ -489,7 +518,7 @@
 		if (comments != null && comments.size() > 0) {
 			for (CommentInfo commentInfo : comments) {
 				if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) {
-					if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue()
+					if (oldGoodsVO != null && oldGoodsVO.getGoodsId().equalsIgnoreCase(goodsId)
 							&& oldGoodsVO.getGoodsType() == goodsType) {
 						addComment = false;
 					}
@@ -508,7 +537,7 @@
 		String commentText = "";
 		if (addComment) {
 			if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
-				TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0");
+				TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0");
 				String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
 				commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 			} else if (goodsType == Constant.SOURCE_TYPE_JD) {
@@ -526,7 +555,7 @@
 				}
 				commentText = template.replace("[閾炬帴]", jumpLink);
 			} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
-				String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", "1");
+				String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsId), PinDuoDuoApiUtil.PID_SHARE + "", "1");
 				if (jumpLink == null) {
 					throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�");
 				}
@@ -574,13 +603,13 @@
 	private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
 		String commentText = "";
 		if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
-			TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsDetailVO.getGoodsId(), "0");
+			TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0");
 			String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
 			commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 		} else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
 			String couponUrl = null;
 
-			JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsDetailVO.getGoodsId());
+			JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsDetailVO.getGoodsId()));
 			JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
 			if (couponInfo != null) {
 				couponUrl = couponInfo.getLink();
@@ -591,7 +620,7 @@
 			String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
 			commentText = template.replace("[閾炬帴]", jumpLink);
 		} else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
-			String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetailVO.getGoodsId(),
+			String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsDetailVO.getGoodsId()),
 					PinDuoDuoApiUtil.PID_SHARE + "", "1");
 			String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
 			commentText = template.replace("[閾炬帴]", jumpLink);
@@ -771,7 +800,7 @@
 				}
 
 				boolean del = false;
-				long oldGoodsId = old.getGoods().getGoodsId().longValue();
+				String oldGoodsId = old.getGoods().getGoodsId();
 				int oldGoodsType = old.getGoods().getGoodsType().intValue();
 				for (ImgInfo newInfo : listImg) {
 					ImgEnum type2 = old.getType();
@@ -779,7 +808,7 @@
 						continue;
 					}
 
-					if (oldGoodsId == newInfo.getGoods().getGoodsId().longValue()
+					if (oldGoodsId .equalsIgnoreCase(newInfo.getGoods().getGoodsId())
 							&& oldGoodsType == newInfo.getGoods().getGoodsType().intValue()) {
 						String url = newInfo.getUrl();
 						if (url.equals(old.getUrl())) {
@@ -806,7 +835,7 @@
 				lineNum = 1;
 			} else if (totalImg == 3) {
 				lineNum = 3;
-			} else if (totalImg <= 4) {
+			} else if (totalImg == 2 || totalImg == 4) {
 				lineNum = 2;
 			} else {
 				lineNum = 3;
@@ -878,7 +907,7 @@
 			if (StringUtil.isNullOrEmpty(commentInfo.getId())) {
 				commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
 			}
-			
+
 			commentInfo.setNeedSpin(true);
 			commentInfo.setType(commentInfo.getTags());
 			commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
@@ -893,7 +922,6 @@
 		goodsEvaluateDao.save(resultObj);
 	}
 
-	 
 	@Override
 	public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo)
 			throws GoodsEvaluateException, Exception {
@@ -901,36 +929,43 @@
 			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
 		}
 
-		if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
-			throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�");
-		}
+		GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
+		if (resultObj == null)
+			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
 
-		if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) {
-			throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�");
-		}
-
-		String tagUrl = commentInfo.getTagUrl();
-		String content = commentInfo.getContent();
-		if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) {
-			throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
-		}
-
-		String endTime = commentInfo.getEndTime();
-		if (!StringUtil.isNullOrEmpty(endTime)) {
-			try {
-				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-				sdf.parse(endTime);
-			} catch (Exception e) {
-				throw new GoodsEvaluateException(1, "璇峰~鍐欐纭殑鏃堕棿鏍煎紡锛�2020-03-05");
+		if (EvaluateEnum.activity != resultObj.getType()) {
+			if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+				throw new GoodsEvaluateException(1, "鍒搁潰棰濅笉鑳戒负绌�");
 			}
-		} else {
-			throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿");
+
+			if (StringUtil.isNullOrEmpty(commentInfo.getTagDesc())) {
+				throw new GoodsEvaluateException(1, "鎻忚堪璇笉鑳戒负绌�");
+			}
+
+			String tagUrl = commentInfo.getTagUrl();
+			String content = commentInfo.getContent();
+			if (StringUtil.isNullOrEmpty(tagUrl) && StringUtil.isNullOrEmpty(content)) {
+				throw new GoodsEvaluateException(1, "璇勮璇拰閾炬帴涓嶈兘鍚屾椂涓虹┖");
+			}
+
+			String endTime = commentInfo.getEndTime();
+			if (!StringUtil.isNullOrEmpty(endTime)) {
+				try {
+					SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+					sdf.parse(endTime);
+				} catch (Exception e) {
+					throw new GoodsEvaluateException(1, "璇峰~鍐欐纭殑鏃堕棿鏍煎紡锛�2020-03-05");
+				}
+			} else {
+				throw new GoodsEvaluateException(1, "璇峰~鍐欏埜鎴鏃堕棿");
+			}
 		}
 
 		if (commentInfo.getNeedSpin() == null) {
 			commentInfo.setNeedSpin(false);
 		}
-		
+
+		String content = commentInfo.getContent();
 		if (!StringUtil.isNullOrEmpty(content) && commentInfo.getNeedSpin()) {
 			try {
 				convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true);
@@ -942,10 +977,6 @@
 				throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴");
 			}
 		}
-
-		GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
-		if (resultObj == null)
-			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
 
 		List<CommentInfo> comments = new ArrayList<>();
 		CommentInfo currencyCoupon = null;
@@ -997,7 +1028,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, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -1007,121 +1038,171 @@
 		if (resultObj == null)
 			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
 
-		String videoPic = null;
-		String activityPic = null;
+		if (imgInfo == null || StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
+			throw new GoodsEvaluateException(1, "娲诲姩閾炬帴涓嶈兘涓虹┖");
+		}
+
 		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);
 				}
 			}
 		}
 
-		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);
-
+				if (StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
+					throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
+				}
 				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;
+				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());
 			}
 		}
 
-		if (!StringUtil.isNullOrEmpty(videoPic) || !StringUtil.isNullOrEmpty(imgInfo.getVideoUrl())) {
-			if (imgVideo != null) {
-				imgVideo.setUrl(videoPic);
-				imgVideo.setUrlHD(videoPic);
+		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 {
-				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);
+				String url = imgVideo.getUrl();
+				if (!StringUtil.isNullOrEmpty(url)) {
+					listDel.add(url);
+				}
 			}
-			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);
+		String activityUrl = imgInfo.getActivityUrl();
+		// 缂栬緫鍥剧墖
+		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)) {
+									info.setActivityUrl(activityUrl);
+									tempList.add(info);
+									break;
+								}
+							}
+						}
+					}
+				}
 			}
-			if (width2 > 0) {
-				imgactivity.setW(width2);
-				imgactivity.setH(height2);
-			} else {
-				imgactivity.setW(imgactivity.getW());
-				imgactivity.setH(imgactivity.getH());
+		}
+
+		// 涓婁紶鏂囦欢鏇挎崲
+		if (fileRequest != null) {
+			for (int i = 0; i < 9; i++) {
+				MultipartFile file = fileRequest.getFile("file" + i);
+				if (file != null) {
+					ImgInfo info = uploadOriginalPicture(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.activity);
+					imgInfo0.setW(info.getW());
+					imgInfo0.setH(info.getH());
+					imgInfo0.setActivityUrl(activityUrl);
+					if (i < tempList.size()) {
+						tempList.set(i, imgInfo0);
+					} else {
+						tempList.add(imgInfo0);
+					}
+				}
 			}
-			listImg.add(imgactivity);
-			totalImg++;
 		}
 
 		int lineNum = 0;
+		int totalImg = tempList.size();
 		if (totalImg > 0) {
 			if (totalImg == 1) {
 				lineNum = 1;
 			} else if (totalImg == 3) {
 				lineNum = 3;
-			} else if (totalImg <= 4) {
+			} else if (totalImg == 2 || totalImg == 4) {
 				lineNum = 2;
 			} else {
 				lineNum = 3;
 			}
 		}
 
+		// 涓�寮犲浘鏄剧ず涓哄ぇ鍥�
+		if (tempList.size() == 1) {
+			tempList.get(0).setLarge(true);
+		}
+
+		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(activityUrl);
 		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
@@ -1302,7 +1383,7 @@
 				lineNum = 1;
 			} else if (totalImg == 3) {
 				lineNum = 3;
-			} else if (totalImg <= 4) {
+			} else if (totalImg == 2 || totalImg == 4) {
 				lineNum = 2;
 			} else {
 				lineNum = 3;
@@ -1337,7 +1418,14 @@
 	public GoodsEvaluate getById(String id) {
 		return goodsEvaluateDao.getById(id);
 	}
+	
+	
+	@Override
+	public List<GoodsEvaluate> listByStartTime(Date date) {
+		return goodsEvaluateDao.listByStartTime(date);
+	}
 
+	
 	@Override
 	public void saveComment(String pid, CommentInfo commentInfo) throws GoodsEvaluateException {
 		GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid);
@@ -1454,13 +1542,14 @@
 	}
 
 	@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
@@ -1514,7 +1603,7 @@
 
 				// 鍒犻櫎宸茶繃鏈�
 				removeOverdue();
-				
+
 				removeDownGoods();
 			}
 		});
@@ -1548,7 +1637,7 @@
 			}
 
 			// 鎸夌収鍙戝竷鏄剧ず鏃堕棿娈佃捣濮嬫椂闂翠负鍑嗐��
-			goodsEvaluate.setPublishTime(goodsEvaluate.getStartTime());
+			evaluateNew.setPublishTime(evaluateNew.getStartTime());
 
 			List<CommentInfo> comments = evaluateNew.getComments();
 			if (comments != null && comments.size() > 0) {
@@ -1683,7 +1772,7 @@
 
 				// 鍒犻櫎宸茶繃鏈�
 				removeOverdue();
-				
+
 				removeDownGoods();
 			}
 		});
@@ -1710,7 +1799,7 @@
 
 		try {
 			Date now = new Date();
-			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 			ConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
 			params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
 			for (GoodsEvaluate goodsEvaluate : list) {
@@ -1736,7 +1825,7 @@
 							if (commentInfoEnum != null && commentInfoEnum == CommentInfoEnum.currencyCoupon) {
 								String endTime = commentInfo.getEndTime();
 								if (!StringUtil.isNullOrEmpty(endTime)) {
-									Date endDay = sdf.parse(endTime);
+									Date endDay = format.parse(endTime);
 									if (endDay.getTime() < now.getTime()) {
 										goodsEvaluate.setState(0); // 娲诲姩杩囨湡
 									}
@@ -1805,12 +1894,12 @@
 		}
 	}
 
-	private GoodsDetailVO getGoodsNewInfo(Long goodsId, int goodsType, ConfigParamsDTO paramsDTO) {
+	private GoodsDetailVO getGoodsNewInfo(String goodsId, int goodsType, ConfigParamsDTO paramsDTO) {
 		GoodsDetailVO vo = null;
 		if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
 			TaoBaoGoodsBrief goods;
 			try {
-				goods = redisManager.getTaoBaoGoodsBrief(goodsId);
+				goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
 				if (goods != null) {
 					vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
 				}
@@ -1819,12 +1908,12 @@
 			}
 
 		} else if (goodsType == Constant.SOURCE_TYPE_JD) {
-			JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId);
+			JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
 			if (goodsInfo != null) {
 				vo = GoodsDetailVOFactory.convertJDGoods(goodsInfo, paramsDTO);
 			}
 		} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
-			PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
+			PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
 			if (goodsInfo != null)
 				vo = GoodsDetailVOFactory.convertPDDGoods(goodsInfo, paramsDTO);
 		}
@@ -1832,7 +1921,7 @@
 	}
 
 	@Override
-	public void addGoodsEvaluate(Long goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment,
+	public void addGoodsEvaluate(String goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment,
 			Date startTime) throws GoodsEvaluateException {
 		if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) {
 			throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
@@ -1844,7 +1933,7 @@
 
 		TaoBaoGoodsBrief goodsBrief = null;
 		try {
-			goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+			goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
 		} catch (TaobaoGoodsDownException e) {
 			throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
 		}
@@ -1917,8 +2006,9 @@
 			if (!goodsVO.isHasCoupon()) {
 				commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
 				commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
-				commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n","\r\n");
-			} 
+				commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n",
+						"\r\n");
+			}
 			commentInfo.setContent(commentText);
 			commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
 		}
@@ -1933,7 +2023,7 @@
 				lineNum = 1;
 			} else if (imgList.size() == 3) {
 				lineNum = 3;
-			} else if (imgList.size() <= 4) {
+			} else if (imgList.size() == 2 || imgList.size() == 4) {
 				lineNum = 2;
 			} else {
 				lineNum = 3;
@@ -1973,7 +2063,7 @@
 			for (GoodsEvaluate goodsEvaluate : listExist) {
 				GoodsDetailVO goods = goodsEvaluate.getGoods();
 				if (goods != null && goods.getGoodsType() == 1) {
-					listId.add(goods.getGoodsId());
+					listId.add(Long.parseLong(goods.getGoodsId()));
 				}
 			}
 		}
@@ -2071,7 +2161,6 @@
 			}
 			imgs.addAll(goodsimgs);
 
-
 			int i = 0;
 			List<ImgInfo> imgList = new ArrayList<>();
 			for (String img : imgs) {
@@ -2110,8 +2199,9 @@
 					if (!goodsVO.isHasCoupon()) {
 						commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
 						commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
-						commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
-					} 
+						commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n")
+								.replace("\r\n\r\n", "\r\n");
+					}
 
 					CommentInfo commentInfo = new CommentInfo();
 					commentInfo.setNeedSpin(true);
@@ -2154,14 +2244,14 @@
 				imgList.add(imgInfo);
 				i++;
 			}
-			
+
 			int lineNum = 0;
 			if (imgList.size() > 0) {
 				if (imgList.size() == 1) {
 					lineNum = 1;
 				} else if (imgList.size() == 3) {
 					lineNum = 3;
-				} else if (imgList.size() <= 4) {
+				} else if (imgList.size() == 2 || imgList.size() == 4) {
 					lineNum = 2;
 				} else {
 					lineNum = 3;
@@ -2227,7 +2317,7 @@
 				return;
 			}
 			List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO,
-					goods.getAuctionId());
+					goods.getAuctionId()+"");
 			if (queryExist == null || queryExist.size() == 0) {
 				return;
 			}
@@ -2247,7 +2337,7 @@
 		if (jdGoods == null) {
 			return;
 		}
-		List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId());
+		List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId()+"");
 		if (queryExist == null || queryExist.size() == 0) {
 			return;
 		}
@@ -2264,7 +2354,7 @@
 		if (pddGoods == null) {
 			return;
 		}
-		List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId());
+		List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId()+"");
 		if (queryExist == null || queryExist.size() == 0) {
 			return;
 		}
@@ -2275,12 +2365,46 @@
 		updateGoods(queryExist, goodsNew);
 	}
 
+	@Override
+	public void updateVIPGoods(VIPGoodsInfo goods) {
+		if (goods == null) {
+			return;
+		}
+		List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_VIP,
+				goods.getGoodsId());
+		if (queryExist == null || queryExist.size() == 0) {
+			return;
+		}
+
+		ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+		GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertVIPGoods(goods, paramsDTO);
+		updateGoods(queryExist, goodsNew);
+	}
+
+	@Override
+	public void updateSuningGoods(SuningGoodsInfo goods) {
+		if (goods == null) {
+			return;
+		}
+		List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_SUNING,
+				goods.getCommodityInfo().getCommodityCode());
+		if (queryExist == null || queryExist.size() == 0) {
+			return;
+		}
+
+		ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55");
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+		GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertSuningGoods(goods, paramsDTO);
+		updateGoods(queryExist, goodsNew);
+	}
+
 	private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) {
-		long goodsId = goodsNew.getGoodsId();
+		String goodsId = goodsNew.getGoodsId();
 		int goodsType = goodsNew.getGoodsType();
 		for (GoodsEvaluate goodsEvaluate : listExist) {
 			GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
-			if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId() == goodsId
+			if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null && goodsDetailVO.getGoodsId().equalsIgnoreCase(goodsId)
 					&& goodsDetailVO.getGoodsType() == goodsType) {
 				goodsEvaluate.setGoods(goodsNew);
 			}
@@ -2293,7 +2417,7 @@
 
 			for (ImgInfo imgInfo : imgList) {
 				SimpleGoods simpleGoods = imgInfo.getGoods();
-				if (simpleGoods == null || simpleGoods.getGoodsId() != goodsId
+				if (simpleGoods == null || !simpleGoods.getGoodsId().equalsIgnoreCase(goodsId)
 						|| goodsType != simpleGoods.getGoodsType()) {
 					continue;
 				}
@@ -2317,19 +2441,18 @@
 			goodsEvaluateDao.save(goodsEvaluate);
 		}
 	}
-	
-	
+
 	@Override
-	public void offlineTaoBaoGoods(Long goodsId) {
+	public void offlineTaoBaoGoods(String goodsId) {
 		try {
 			if (goodsId == null) {
 				return;
 			}
-			List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goodsId);
+			List<GoodsEvaluate> list = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO,goodsId);
 			if (list == null || list.size() == 0) {
 				return;
 			}
-			
+
 			// 涓嬫灦鍟嗗搧
 			offlineGoods(list, Constant.SOURCE_TYPE_TAOBAO, goodsId);
 		} catch (Exception e) {
@@ -2338,13 +2461,13 @@
 	}
 
 	@CacheEvict(value = "dynamicCache", allEntries = true)
-	private void offlineGoods(List<GoodsEvaluate> list, int goodsType, Long goodsId) {
-		
+	private void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) {
+
 		for (GoodsEvaluate goodsEvaluate : list) {
 			// 鍟嗗搧涓嬫灦
 			GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
 			goodsDetailVO.setState(1);
-		 
+
 			List<ImgInfo> imgList = goodsEvaluate.getImgList();
 			if (imgList == null || imgList.size() == 0) {
 				goodsEvaluate.setUpdateTime(new Date());
@@ -2361,7 +2484,7 @@
 				simpleGoods.setState(1);
 				GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
 				goodsVO.setState(1);
-				
+
 				imgInfo.setGoods(simpleGoods);
 				imgInfo.setGoodsVO(goodsVO);
 			}
@@ -2371,12 +2494,14 @@
 			goodsEvaluateDao.save(goodsEvaluate);
 		}
 	}
-	
 
 	/**
 	 * 鍒犻櫎宸茶繃鏈熸椂闂�
 	 */
 	private void removeOverdue() {
+		if (1 > 0)
+			return;
+
 		List<GoodsEvaluate> list = goodsEvaluateDao.queryOverdue();
 		if (list == null || list.size() == 0) {
 			return;
@@ -2401,6 +2526,8 @@
 	 * 鍒犻櫎鍟嗗搧宸蹭笅鏋�-鍗曞搧
 	 */
 	private void removeDownGoods() {
+		if (1 > 0)
+			return;
 		try {
 			List<GoodsEvaluate> list = goodsEvaluateDao.removeDownGoods();
 			if (list == null || list.size() == 0) {
@@ -2414,4 +2541,15 @@
 			e.printStackTrace();
 		}
 	}
+
+	
+	@Override
+	public GoodsEvaluate queryExistSingle(String goodsId, int goodsType) {
+		List<GoodsEvaluate> list = goodsEvaluateDao.queryExistSingle(goodsType, goodsId);
+		if (list != null && list.size() > 0)
+			return list.get(0);
+		return null;
+	}
+	
+	
 }

--
Gitblit v1.8.0