From 2e9aa4267b4e6df56ab3166d72ab9edf87322ef7 Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期四, 05 三月 2020 22:22:01 +0800
Subject: [PATCH] 发圈

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  391 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 317 insertions(+), 74 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 03f752c..0a2512b 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
@@ -20,6 +20,7 @@
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.yeshi.utils.DateUtil;
+import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.tencentcloud.COSManager;
 
 import com.yeshi.fanli.dao.dynamic.GoodsEvaluateDao;
@@ -42,6 +43,7 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoLink;
 import com.yeshi.fanli.exception.dynamic.ActivityUserException;
 import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException;
+import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.activity.ActivityUserService;
@@ -49,12 +51,14 @@
 import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
 import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.FilePathEnum;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
 import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
+import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.jd.JDApiUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
@@ -82,6 +86,7 @@
 	@Resource(name = "taskExecutor")
 	private TaskExecutor executor;
 
+
 	@Resource
 	private JDGoodsCacheUtil jdGoodsCacheUtil;
 
@@ -93,6 +98,9 @@
 	
 	@Resource
 	private ShareGoodsService shareGoodsService;
+	
+	@Resource
+	private ConvertLinkManager convertLinkManager;
 	
 	
 
@@ -107,7 +115,7 @@
 		if (StringUtil.isNullOrEmpty(tilte)) {
 			throw new GoodsEvaluateException(1, "鎺ㄨ崘璇笉鑳戒负绌�");
 		}
-
+		
 		try {
 			ActivityUser activityUser = activityUserService.getActivityUserByNickName(record.getUser(), file);
 			if (activityUser == null)
@@ -118,11 +126,10 @@
 		}
 
 		if (record.getEndTime() != null) {
-			if (record.getEndTime().getTime() <= java.lang.System.currentTimeMillis())
-				throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬褰撳墠鏃堕棿");
-
 			if (record.getStartTime() != null && record.getEndTime().getTime() <= record.getStartTime().getTime())
 				throw new GoodsEvaluateException(1, "鎴鏃堕棿蹇呴』澶т簬寮�濮嬫椂闂�");
+		} else {
+			record.setEndTime(DateUtil.plusDayDate(3,new Date()));
 		}
 
 		Integer dynamicType = record.getDynamicType();
@@ -130,14 +137,16 @@
 			record.setDynamicType(1);
 		}
 
-		if (record.getShareNum() == null)
-			record.setShareNum(0);
+		if (record.getShareNum() == null || record.getShareNum() <=0 ) {
+			record.setShareNum((int)(Math.random()*5000)+1000);
+		}
 
 		if (record.getWeight() == null)
 			record.setWeight(0.0);
 
 		if (record.getStartTime() == null)
 			record.setStartTime(new Date());
+		
 		record.setPublishTime(record.getStartTime());
 
 		String id = record.getId();
@@ -328,9 +337,10 @@
 			throw new GoodsEvaluateException(1, "璇ュ晢鍝佷俊鎭笉瀛樺湪");
 		}
 
+		List<ImgInfo> tempList = new ArrayList<ImgInfo>();
 		int totalImg = 0;
 		if (listpic != null && listpic.size() > 0) {
-			for (int i = 0; i < listpic.size(); i++) {
+			for (int i = 0; i < listpic.size() && i < 9; i++) {
 				ImgInfo imgInfo0 = new ImgInfo();
 				imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
 				imgInfo0.setW(1);
@@ -343,26 +353,29 @@
 				if (picNum - 1 == i) {
 					imgInfo0.setType(ImgEnum.goods);
 					SimpleGoods simpleGoods = new SimpleGoods();
+					simpleGoods.setState(goodsDetailVO.getState());
 					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);
+					listImg.add(imgInfo0);
 				} else {
 					imgInfo0.setType(ImgEnum.img);
+					tempList.add(imgInfo0);
 				}
-				listImg.add(imgInfo0);
 				totalImg++;
 			}
+		}
+		
+		if (tempList.size() > 0) {
+			listImg.addAll(tempList);
 		}
 
 		if (listOld != null && listOld.size() > 0) {
@@ -399,27 +412,31 @@
 		boolean addComment = true;
 		List<CommentInfo> commentsNew = new ArrayList<>();
 		List<CommentInfo> comments = resultObj.getComments();
-		if (comments != null) {
+		if (comments != null && comments.size() > 0) {
 			for (CommentInfo commentInfo: comments) {
 				if (commentInfo.getTypeEnum() == CommentInfoEnum.goodsCoupon) {
 					if (oldGoodsVO != null && oldGoodsVO.getGoodsId().longValue() == goodsId.longValue() 
 							&& oldGoodsVO.getGoodsType() == goodsType) {
-						addComment = true;
-					} else {
 						addComment = false;
-					}
+					} 
 					continue;
 				} 
 				commentsNew.add(commentInfo);
 			}
-		}
+		} 
+		
+		/*
+		 * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo(); if
+		 * (couponInfo1 == null) { addComment = false; }
+		 */
+		
 		
 		if (addComment) {
 			String commentText = "";
 			if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
-				TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, null);
+				TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0");
 				String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
-				commentText = template.replace("[鍙d护]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
+				commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 			} else if (goodsType == Constant.SOURCE_TYPE_JD) {
 				String couponUrl = null;
 				JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
@@ -444,6 +461,9 @@
 				commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString());
 			}
 			
+			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.setId(UUID.randomUUID().toString().replace("-", ""));
 			commentInfo.setContent(commentText);
@@ -463,6 +483,42 @@
 		}
 	}
 
+	
+	private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
+		String commentText = "";
+		if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
+			TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, 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());
+			JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
+			if (couponInfo != null) {
+				couponUrl = couponInfo.getLink();
+			}
+			String materialId = "https://item.jd.com/" + goodsDetailVO.getGoodsId() + ".html";
+			String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "","1");
+			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(), PinDuoDuoApiUtil.PID_SHARE + "", "1");
+			String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
+			commentText = template.replace("[閾炬帴]", jumpLink);
+		}
+		
+		commentText = commentText.replace("[鍘熶环]", goodsDetailVO.getZkPrice().toString());
+		if (!goodsDetailVO.isHasCoupon()) {
+			commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+			commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+		} else {
+			commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString());
+		}
+		
+		return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
+	}
+	
 	public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType) throws GoodsEvaluateException {
 		GoodsDetailVO goodsDetail = null;
 		BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
@@ -472,6 +528,10 @@
 		if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
 			try {
 				TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
+				String pictUrlWhite = goodsBrief.getPictUrlWhite();
+				if (!StringUtil.isNullOrEmpty(pictUrlWhite)) {
+					goodsBrief.setPictUrl(pictUrlWhite);
+				}
 				goodsDetail = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
 			} catch (TaobaoGoodsDownException e) {
 				throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
@@ -580,6 +640,7 @@
 					}
 
 					String picUrl = goodsDetailVO.getPicUrl();
+						
 					if (fileRequest != null) {
 						MultipartFile file = fileRequest.getFile("file" + i);
 						if (file != null) {
@@ -598,18 +659,19 @@
 					imgInfo0.setType(ImgEnum.goods);
 
 					SimpleGoods simpleGoods = new SimpleGoods();
+					simpleGoods.setState(goodsDetailVO.getState());
 					simpleGoods.setGoodsId(goodsDetailVO.getGoodsId());
 					simpleGoods.setGoodsType(goodsDetailVO.getGoodsType());
-					simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
 					CouponInfoVO couponInfo = goodsDetailVO.getCouponInfo();
 					if (couponInfo == null) {
-						simpleGoods.setState(1);
+						simpleGoods.setPrice(goodsDetailVO.getZkPrice());
 					} else {
+						simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
 						simpleGoods.setAmount(couponInfo.getAmount());
-						simpleGoods.setState(0);
 					}
 					imgInfo0.setGoods(simpleGoods);
 					imgInfo0.setGoodsVO(goodsDetailVO);
+					
 					listImg.add(imgInfo0);
 					totalImg++;
 				}
@@ -681,6 +743,68 @@
 		}
 	}
 
+	
+	@Override
+	public void saveGoodsComment(String id, int kind, List<CommentInfo> comments) throws GoodsEvaluateException, Exception {
+		if (comments == null || comments.size() == 0 ) {
+			throw new GoodsEvaluateException(1, "鍐呭涓嶈兘涓虹┖");
+		}
+
+		GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
+		if (resultObj == null)
+			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
+		
+		GoodsDetailVO goods = resultObj.getGoods();
+		if(kind == 1 && goods == null) {
+			throw new GoodsEvaluateException(1, "璇峰厛褰曞叆鍟嗗搧淇℃伅");
+		}
+
+		CommentInfo currencyCoupon = null;
+		List<CommentInfo> oldComments = resultObj.getComments();
+		if (oldComments != null) {
+			for (int i =0;i < oldComments.size(); i ++) {
+				CommentInfo info = oldComments.get(i);
+				if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
+					currencyCoupon = info;
+					continue;
+				} 
+			}
+		}
+		
+		List<CommentInfo> newList = new ArrayList<>();
+		for (int i =0;i < comments.size(); i ++) {
+			CommentInfo commentInfo =  comments.get(i);
+			String content = commentInfo.getContent();
+			if (StringUtil.isNullOrEmpty(content)) {
+				if (i == 0 && kind == 1) {
+					content = createTokenAndLink(goods);
+				} else {
+					continue;
+				}
+			} else if (i == 0 && kind == 1) {
+				try {
+					convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true);
+				} catch (Exception e) {
+					throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴");
+				}
+			}
+			
+			if (StringUtil.isNullOrEmpty(commentInfo.getId())) {
+				commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
+			}
+			
+			commentInfo.setType(commentInfo.getTags());
+			commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+			newList.add(commentInfo);
+		} 
+		if (currencyCoupon != null) {
+			comments.add(currencyCoupon);
+		}
+
+		resultObj.setComments(comments);
+		goodsEvaluateDao.save(resultObj);
+	}
+	
 	@Override
 	public void saveGoodsCoupon(String pid, String content) throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
@@ -706,6 +830,15 @@
 
 		List<CommentInfo> comments = new ArrayList<>();
 		if (!StringUtil.isNullOrEmpty(content)) {
+			
+			if(!StringUtil.isNullOrEmpty(content)) {
+				try {
+					convertLinkManager.convertLinkFromText(content, 1L, true);
+				} catch (Exception e) {
+					throw new GoodsEvaluateException(1, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴");
+				}
+			}
+			
 			CommentInfo commentInfo = new CommentInfo();
 			if (goodsCoupon != null) {
 				commentInfo.setId(goodsCoupon.getId());
@@ -713,7 +846,7 @@
 				commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
 			}
 			commentInfo.setContent(content);
-			commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+			commentInfo.setType(commentInfo.getTags());
 			commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
 			comments.add(commentInfo);
 		}
@@ -727,31 +860,64 @@
 	}
 
 	@Override
-	public void saveSingleGoodsCoupon(String pid, CommentInfo commentInfo) throws GoodsEvaluateException, Exception {
+	public void saveCurrencyCoupon(String pid, int kind, CommentInfo commentInfo) throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
 			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
 		}
+		
+		if (StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+			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(!StringUtil.isNullOrEmpty(content) && kind != 3) { // 娲诲姩涓嶉獙璇�
+			try {
+				convertLinkManager.convertLinkFromText(content, Constant.LINK_TOKEN_VERIFY_UID, true);
+			} catch (ConvertLinkExceptionException e) {
+				if (ConvertLinkExceptionException.CODE_NONE != e.getCode()) {
+					throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴");
+				}
+			} catch (Exception e) {
+				throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴");
+			}
+		}
+		
 		GoodsEvaluate resultObj = goodsEvaluateDao.getById(pid);
 		if (resultObj == null)
 			throw new GoodsEvaluateException(1, "绗竴閮ㄥ垎淇℃伅缂哄け");
 
-		CommentInfo goodsCoupon = null;
+		List<CommentInfo> comments = new ArrayList<>();
 		CommentInfo currencyCoupon = null;
 		List<CommentInfo> oldComments = resultObj.getComments();
 		if (oldComments != null) {
 			for (CommentInfo info : oldComments) {
 				if (CommentInfoEnum.goodsCoupon == info.getTypeEnum()) {
-					goodsCoupon = info;
+					comments.add(info);
 				} else if (CommentInfoEnum.currencyCoupon == info.getTypeEnum()) {
 					currencyCoupon = info;
 				}
 			}
-		}
-
-		List<CommentInfo> comments = new ArrayList<>();
-		if (goodsCoupon != null) {
-			comments.add(goodsCoupon);
 		}
 
 		if (commentInfo != null) {
@@ -762,12 +928,7 @@
 			}
 			// 鍒哥被鍨�
 			
-			String tags = commentInfo.getTags();
-			if (StringUtil.isNullOrEmpty(tags)) {
-				commentInfo.setType(CommentInfoEnum.currencyCoupon.getDesc());
-			} else {
-				commentInfo.setType(tags);
-			}
+			commentInfo.setType(commentInfo.getTags());
 			commentInfo.setTypeEnum(CommentInfoEnum.currencyCoupon);
 			
 			// 鏍囩淇℃伅
@@ -792,7 +953,6 @@
 		}
 
 		resultObj.setComments(comments);
-
 		goodsEvaluateDao.save(resultObj);
 	}
 
@@ -1269,42 +1429,73 @@
 		if (list == null) {
 			list = new ArrayList<>();
 		}
-		
+		Date now = new Date();
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 		for (GoodsEvaluate goodsEvaluate: list) {
+			
+			int comment = 0;
 			List<CommentInfo> comments = goodsEvaluate.getComments();
-			if (comments != null) {
-				Date now = new Date();
+			if (comments != null && comments.size() > 0) {
+				EvaluateEnum typeEnum = goodsEvaluate.getType();
+				List<CommentInfo> commentNew = new ArrayList<>();
+				
 				for (CommentInfo commentInfo: comments) {
-					String typeCoupon = commentInfo.getType();
-					if (StringUtil.isNullOrEmpty(typeCoupon)) {
-						commentInfo.setType(commentInfo.getTypeEnum().getDesc());
+					comment ++;
+					
+					CommentInfoEnum typeComment = commentInfo.getTypeEnum();
+					if (typeComment != null && typeComment ==CommentInfoEnum.goodsCoupon) {
+						GoodsDetailVO goods = goodsEvaluate.getGoods();
+						if (goods.isHasCoupon()) {
+							commentNew.add(commentInfo);
+							continue;
+						}
 					}
 					
 					String coupon = commentInfo.getCoupon();
 					String endTime = commentInfo.getEndTime();
 					if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) {
-						
-						SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 						Date endDay = sdf.parse(endTime);
-						if (endDay.getTime() <= now.getTime()) {
-							continue;
+						if (endDay.getTime() > now.getTime()) {
+							int daysBetween = DateUtil.daysBetween(now, endDay);
+							if (daysBetween > 0) {
+								ClientTextStyleVO styleVO = new ClientTextStyleVO();
+								styleVO.setColor("#E5005C");
+								styleVO.setContent(daysBetween + "澶╁悗杩囨湡");
+								
+								List<ClientTextStyleVO> tagList = commentInfo.getTagList();
+								tagList.add(styleVO);
+								commentInfo.setTagList(tagList);
+								
+								commentNew.add(commentInfo);
+								continue;
+							}
 						}
-						
-						int daysBetween = DateUtil.daysBetween(endDay, now);
-						if (daysBetween <= 0) {
-							continue;
-						}
-						
-						ClientTextStyleVO styleVO = new ClientTextStyleVO();
-						styleVO.setColor("#E5005C");
-						styleVO.setContent(daysBetween + "澶╁悗杩囨湡");
-						styleVO.setContent(coupon);
-						
-						List<ClientTextStyleVO> tagList = commentInfo.getTagList();
-						tagList.add(styleVO);
-						
-						commentInfo.setTagList(tagList);
 					}
+					
+					commentNew.add(commentInfo);
+				}
+				goodsEvaluate.setComments(commentNew);
+				
+				if (typeEnum != null && typeEnum == EvaluateEnum.single) {
+					if (comment > 0 && commentNew.size() == 0) { // 鎵�鏈夊埜璇勮涓嬫灦
+						 GoodsDetailVO goods = goodsEvaluate.getGoods();
+						 if (goods != null) {
+							 goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦
+							 LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦1");
+						 }
+						 
+						 List<ImgInfo> imgList = goodsEvaluate.getImgList();
+						 if (imgList != null) {
+							for (ImgInfo imgInfo: imgList) {
+								SimpleGoods simpleGoods = imgInfo.getGoods();
+								if (simpleGoods != null) {
+									simpleGoods.setState(1);
+									 LogHelper.test("鑾峰彇鍒楄〃鍟嗗搧涓嬫灦2");
+								}
+							}
+							
+						 }
+					 }
 				}
 			}
 		}
@@ -1330,6 +1521,8 @@
 		}
 
 		try {
+			Date now = new Date();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
 			BigDecimal shareRate = hongBaoManageService.getShareRate();
 			BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
@@ -1349,11 +1542,36 @@
 					}
 				}
 
+				EvaluateEnum type = goodsEvaluate.getType();
+				if (type != null &&  type == EvaluateEnum.activity) {
+					List<CommentInfo> comments = goodsEvaluate.getComments();
+					if (comments != null) {
+						for (CommentInfo commentInfo: comments) {
+							CommentInfoEnum commentInfoEnum = commentInfo.getTypeEnum();
+							if (commentInfoEnum != null && commentInfoEnum== CommentInfoEnum.currencyCoupon) {
+								String endTime = commentInfo.getEndTime();
+								if (!StringUtil.isNullOrEmpty(endTime)) {
+									Date endDay = sdf.parse(endTime);
+									if (endDay.getTime() < now.getTime()) {
+										goodsEvaluate.setState(0); // 娲诲姩杩囨湡
+									}
+								}
+							}
+							
+						}
+					}
+				}
+				
 				GoodsDetailVO goods = goodsEvaluate.getGoods();
 				if (goods != null) {
 					GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), paramsDTO);
-					if (goodsNew != null)
+					if (goodsNew != null) {
 						goodsEvaluate.setGoods(goodsNew);
+					} else {
+						goodsEvaluate.setState(0); // 宸插晢鍝佷笅鏋�
+						goods.setState(1);
+						goodsEvaluate.setGoods(goods);
+					}
 				}
 				// 鏇存柊鍟嗗搧淇℃伅
 				List<ImgInfo> imgList = goodsEvaluate.getImgList();
@@ -1371,17 +1589,24 @@
 							paramsDTO);
 					if (goodsDetailVO != null) {
 						simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
+						simpleGoods.setState(0);
 						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);
+					} else {
+						simpleGoods.setState(1);
+						imgInfo.setGoods(simpleGoods);
+						GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
+						if (goodsVO != null) {
+							goodsVO.setState(1);
+							imgInfo.setGoodsVO(goodsVO);
+						}
 					}
 				}
 
@@ -1396,7 +1621,16 @@
 	private GoodsDetailVO getGoodsNewInfo(Long goodsId, int goodsType, ConfigParamsDTO paramsDTO) {
 		GoodsDetailVO vo = null;
 		if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
-
+			TaoBaoGoodsBrief goods;
+			try {
+				goods = redisManager.getTaoBaoGoodsBrief(goodsId);
+				if (goods != null) {
+					vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+				}
+			} catch (TaobaoGoodsDownException e) {
+				e.printStackTrace();
+			}
+			
 		} else if (goodsType == Constant.SOURCE_TYPE_JD) {
 			JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId);
 			if (goodsInfo != null) {
@@ -1412,6 +1646,14 @@
 
 	@Override
 	public void addGoodsEvaluateByDynamicInfo(DynamicInfo info) {
+		if (1 > 0) {
+			return; // 鏆備笉鍚敤鑷姩鐢熸垚
+		}
+		
+		if (info == null) {
+			return;
+		}
+		
 		try {
 			GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
 			goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -1428,7 +1670,7 @@
 			goodsEvaluate.setUpdateTime(new Date());
 			goodsEvaluate.setWeight(0.0);
 			goodsEvaluate.setStartTime(new Date());
-			goodsEvaluate.setEndTime(DateUtil.plusYears(new Date(), 100));
+			goodsEvaluate.setEndTime(DateUtil.plusDayDate(3,new Date()));
 
 			List<ClientTextStyleVO> titles = info.getTitle();
 			if (titles != null) {
@@ -1456,23 +1698,19 @@
 					SimpleGoods simpleGoods = new SimpleGoods();
 					simpleGoods.setGoodsId(goodsVO.getGoodsId());
 					simpleGoods.setGoodsType(goodsVO.getGoodsType());
-
+					simpleGoods.setState(goodsVO.getState());
 					CouponInfoVO couponInfo = goodsVO.getCouponInfo();
 					if (couponInfo == null) {
-						simpleGoods.setState(0);
 						simpleGoods.setPrice(goodsVO.getZkPrice());
 					} else {
-						simpleGoods.setState(goodsVO.getState());
 						simpleGoods.setPrice(goodsVO.getCouponPrice());
 						simpleGoods.setAmount(couponInfo.getAmount());
 					}
 					imgInfo.setGoods(simpleGoods);
-					goodsEvaluate.setGoods(goodsVO);
 					
-					
-					TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(0L, goodsVO.getGoodsId(), null);
+					TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), null);
 					String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
-					String commentText = template.replace("[鍙d护]", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
+					String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 				
 					commentText = commentText.replace("[鍘熶环]", goodsVO.getZkPrice().toString());
 					if (!goodsVO.isHasCoupon()) {
@@ -1481,6 +1719,8 @@
 					} else {
 						commentText = commentText.replace("[鍒稿悗浠穄", goodsVO.getCouponPrice().toString());
 					}
+					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.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -1491,6 +1731,9 @@
 					List<CommentInfo> commentsNew = new ArrayList<>();
 					commentsNew.add(commentInfo);
 					goodsEvaluate.setComments(commentsNew);
+					
+					goodsEvaluate.setGoods(goodsVO);
+					
 				}
 				imgList.add(imgInfo);
 			}

--
Gitblit v1.8.0