From 2f2860b50f24e5e3598d223db03d43df61d95c97 Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期五, 13 三月 2020 16:31:30 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  910 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 733 insertions(+), 177 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 9e33f5b..663d431 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
@@ -16,6 +16,7 @@
 import javax.annotation.Resource;
 import javax.imageio.ImageIO;
 
+import org.apache.commons.beanutils.PropertyUtils;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Service;
@@ -30,6 +31,7 @@
 import com.yeshi.fanli.dto.jd.JDCouponInfo;
 import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.entity.bus.activity.ActivityUser;
+import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.dynamic.CommentInfo;
 import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum;
 import com.yeshi.fanli.entity.dynamic.DynamicInfo;
@@ -43,6 +45,7 @@
 import com.yeshi.fanli.entity.system.ConfigKeyEnum;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoLink;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
 import com.yeshi.fanli.exception.dynamic.ActivityUserException;
 import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException;
 import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException;
@@ -53,10 +56,12 @@
 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.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
 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.FileUtil;
+import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
@@ -65,7 +70,10 @@
 import com.yeshi.fanli.util.jd.JDApiUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
 import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
+import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.goods.CouponInfoVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
@@ -103,12 +111,16 @@
 	@Resource
 	private ConvertLinkManager convertLinkManager;
 
+	@Resource
+	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
 	@Override
 	public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
 		Integer state = record.getState();
 		if (state == null) {
 			state = 0;
 		}
+		record.setState(state);
 
 		String tilte = record.getTitle();
 		if (StringUtil.isNullOrEmpty(tilte)) {
@@ -154,18 +166,21 @@
 			record.setId(id);
 			record.setShareNumReal(0);
 			record.setCreateTime(new Date());
+			record.setUpdateTime(new Date());
 			goodsEvaluateDao.save(record);
 		} else {
 			GoodsEvaluate resultObj = goodsEvaluateDao.getById(id);
 			if (resultObj == null)
 				throw new GoodsEvaluateException(1, "淇敼鍐呭宸蹭笉瀛樺湪");
 
+			resultObj.setState(record.getState());
 			resultObj.setUser(record.getUser());
 			resultObj.setShareNum(record.getShareNum());
 			resultObj.setWeight(record.getWeight());
 			resultObj.setStartTime(record.getStartTime());
 			resultObj.setEndTime(record.getEndTime());
 			resultObj.setTitle(tilte);
+			resultObj.setUpdateTime(new Date());
 			goodsEvaluateDao.save(resultObj);
 		}
 		return id;
@@ -186,8 +201,33 @@
 				+ type;
 		return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl();
 	}
-	
-	private String uploadPicture(File file,String contentType) throws Exception {
+
+	private ImgInfo uploadVideoPicture(MultipartFile filevideo) {
+		try {
+			File tempFile = new File(FileUtil.getCacheDir() + "/" + filevideo.getOriginalFilename());
+			if (tempFile.exists())
+				tempFile.delete();
+			tempFile.createNewFile();
+			filevideo.transferTo(tempFile);
+			File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getOriginalFilename());
+			// 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1
+			ImageCropUtil.centerCrop(tempFile, destFile, 2.0f);
+			BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile));
+			ImgInfo info = new ImgInfo();
+			int width = sourceImg.getWidth();
+			int height = sourceImg.getHeight();
+			String picLink = uploadPicture(destFile, filevideo.getContentType());
+			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);
 		String filePath = FilePathEnum.goodsEvaluate.getPath() + UUID.randomUUID().toString().replace("-", "") + "."
@@ -208,7 +248,7 @@
 	}
 
 	@Override
-	public void saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum,
+	public String saveSingleGoods(String pid, Long goodsId, Integer goodsType, String videoUrl, Integer picNum,
 			String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
 			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -247,36 +287,28 @@
 				if (StringUtil.isNullOrEmpty(videoUrl)) {
 					throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
 				}
-				InputStream inputStream = filevideo.getInputStream();
-				File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getName());
-				// 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1
-				ImageCropUtil.centerCrop(inputStream, destFile, 2.0f);
-
-				BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile));
-				
-				int width = sourceImg.getWidth();
-				int height = sourceImg.getHeight();
-
-				String picLink =  uploadPicture(destFile,filevideo.getContentType());
+				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(picLink);
-					imgVideo.setUrlHD(picLink);
+					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(picLink);
-					imgVideo.setUrlHD(picLink);
+					imgVideo.setUrl(info.getUrl());
+					imgVideo.setUrlHD(info.getUrl());
 					imgVideo.setVideoUrl(videoUrl);
 					imgVideo.setType(ImgEnum.video);
 				}
-				imgVideo.setW(width);
-				imgVideo.setH(height);
+				imgVideo.setW(info.getW());
+				imgVideo.setH(info.getH());
 			}
 		}
 
@@ -326,10 +358,8 @@
 		GoodsDetailVO goodsDetailVO = null;
 		JDGoods jdGoods = null;
 		PDDGoodsDetail pddGoods = null;
-		BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-		BigDecimal shareRate = hongBaoManageService.getShareRate();
-		BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
-		ConfigParamsDTO params = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, vipFanLiRate);
+		ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
+		params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
 		if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
 			try {
 				TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
@@ -409,6 +439,8 @@
 		if (totalImg > 0) {
 			if (totalImg == 1) {
 				lineNum = 1;
+			} else if (totalImg == 3) {
+				lineNum = 3;
 			} else if (totalImg <= 4) {
 				lineNum = 2;
 			} else {
@@ -438,13 +470,12 @@
 		}
 
 		/*
-		 * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 =
-		 * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment
-		 * = false; }
+		 * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo(); if
+		 * (couponInfo1 == null) { addComment = false; }
 		 */
 
+		String commentText = "";
 		if (addComment) {
-			String commentText = "";
 			if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
 				TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsId, "0");
 				String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
@@ -459,23 +490,29 @@
 				String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl,
 						JDApiUtil.POSITION_SHARE + "", "1");
 				String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
+				if (jumpLink == null) {
+					throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�");
+				}
 				commentText = template.replace("[閾炬帴]", jumpLink);
 			} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
 				String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsId, PinDuoDuoApiUtil.PID_SHARE + "", "1");
+				if (jumpLink == null) {
+					throw new GoodsEvaluateException(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());
-			}
-
-			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("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsDetailVO.getZkPrice())+"");
+//			if (!goodsDetailVO.isHasCoupon()) {
+//				commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+//				commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+//			} else {
+//				commentText = commentText.replace("[鍒稿悗浠穄",  MoneyBigDecimalUtil.getWithNoZera(goodsDetailVO.getCouponPrice())+"");
+//			}
+//
+//			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("-", ""));
@@ -484,6 +521,7 @@
 			commentsNew.add(commentInfo);
 			resultObj.setComments(commentsNew);
 		}
+		resultObj.setUpdateTime(new Date());
 		goodsEvaluateDao.save(resultObj);
 
 		// 鍒犻櫎鍥剧墖
@@ -494,6 +532,8 @@
 				}
 			}
 		}
+
+		return commentText;
 	}
 
 	private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
@@ -535,10 +575,8 @@
 
 	public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType) throws GoodsEvaluateException {
 		GoodsDetailVO goodsDetail = null;
-		BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-		BigDecimal shareRate = hongBaoManageService.getShareRate();
-		BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
-		ConfigParamsDTO params = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, vipFanLiRate);
+		ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
+		params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
 		if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
 			try {
 				TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
@@ -597,35 +635,29 @@
 					throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
 				}
 
-				InputStream inputStream = filevideo.getInputStream();
-				File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getName());
-				// 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1
-				ImageCropUtil.centerCrop(inputStream, destFile, 2.0f);
+				ImgInfo info = uploadVideoPicture(filevideo);
+				if (info == null)
+					throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
 
-				BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile));
-				int width = sourceImg.getWidth();
-				int height = sourceImg.getHeight();
-
-				String picLink = uploadPicture(destFile,filevideo.getContentType());
 				if (imgVideo != null) {
 					String url = imgVideo.getUrl();
 					if (!StringUtil.isNullOrEmpty(url)) {
 						listDel.add(url);
 					}
-					imgVideo.setUrl(picLink);
-					imgVideo.setUrlHD(picLink);
+					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(picLink);
-					imgVideo.setUrlHD(picLink);
+					imgVideo.setUrl(info.getUrl());
+					imgVideo.setUrlHD(info.getUrl());
 					imgVideo.setVideoUrl(videoUrl);
 					imgVideo.setType(ImgEnum.video);
 				}
-				imgVideo.setW(width);
-				imgVideo.setH(height);
+				imgVideo.setW(info.getW());
+				imgVideo.setH(info.getH());
 			}
 		}
 
@@ -738,6 +770,8 @@
 		if (totalImg > 0) {
 			if (totalImg == 1) {
 				lineNum = 1;
+			} else if (totalImg == 3) {
+				lineNum = 3;
 			} else if (totalImg <= 4) {
 				lineNum = 2;
 			} else {
@@ -820,6 +854,7 @@
 		}
 
 		resultObj.setComments(comments);
+		resultObj.setUpdateTime(new Date());
 		goodsEvaluateDao.save(resultObj);
 	}
 
@@ -1013,17 +1048,12 @@
 			if (filevideo != null) {
 				removePicture(videoPic);
 
-				InputStream inputStream = filevideo.getInputStream();
-				File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getName());
-				// 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1
-				ImageCropUtil.centerCrop(inputStream, destFile, 2.0f);
-
-				BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile));
-				
-				width = sourceImg.getWidth();
-				height = sourceImg.getHeight();
-				String picLink =  uploadPicture(destFile,filevideo.getContentType());
-				videoPic = picLink;
+				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");
@@ -1063,6 +1093,7 @@
 			listImg.add(imgVideo);
 		}
 
+		int totalImg = 0;
 		if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
 			if (imgactivity != null) {
 				imgactivity.setUrl(activityPic);
@@ -1086,8 +1117,23 @@
 				imgactivity.setH(imgactivity.getH());
 			}
 			listImg.add(imgactivity);
+			totalImg++;
 		}
-		resultObj.setLineNum(1);
+
+		int lineNum = 0;
+		if (totalImg > 0) {
+			if (totalImg == 1) {
+				lineNum = 1;
+			} else if (totalImg == 3) {
+				lineNum = 3;
+			} else if (totalImg <= 4) {
+				lineNum = 2;
+			} else {
+				lineNum = 3;
+			}
+		}
+
+		resultObj.setLineNum(lineNum);
 		resultObj.setImgList(listImg);
 		goodsEvaluateDao.save(resultObj);
 	}
@@ -1136,39 +1182,29 @@
 			if (filevideo != null) {
 				if (StringUtil.isNullOrEmpty(videoUrl)) {
 					throw new GoodsEvaluateException(1, "瑙嗛閾炬帴涓嶈兘涓虹┖");
-				}	
-				InputStream inputStream = filevideo.getInputStream();
-				File destFile = new File(FileUtil.getCacheDir() + "/temp_" + filevideo.getName());
-				// 瑁佸壀瑙嗛灏侀潰锛屽楂樻瘮涓�2:1
-				ImageCropUtil.centerCrop(inputStream, destFile, 2.0f);
-
-				BufferedImage sourceImg = ImageIO.read(new FileInputStream(destFile));
-				
-				int width = sourceImg.getWidth();
-				int height = sourceImg.getHeight();
-				
-				
-
-				String picLink =  uploadPicture(destFile,filevideo.getContentType());
+				}
+				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(picLink);
-					imgVideo.setUrlHD(picLink);
+					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(picLink);
-					imgVideo.setUrlHD(picLink);
+					imgVideo.setUrl(info.getUrl());
+					imgVideo.setUrlHD(info.getUrl());
 					imgVideo.setVideoUrl(videoUrl);
 					imgVideo.setType(ImgEnum.video);
 				}
-				imgVideo.setW(width);
-				imgVideo.setH(height);
+				imgVideo.setW(info.getW());
+				imgVideo.setH(info.getH());
 			}
 
 			activityFile = fileRequest.getFile("activityFile");
@@ -1214,6 +1250,7 @@
 			listImg.add(imgActivity);
 		}
 
+		int totalImg = 0;
 		// 缂栬緫鍥剧墖
 		if (!StringUtil.isNullOrEmpty(picUrls)) {
 			String[] pics = picUrls.split(",");
@@ -1227,14 +1264,15 @@
 
 							ImgInfo imgInfo0 = new ImgInfo();
 							imgInfo0.setId(UUID.randomUUID().toString().replace("-", ""));
-							imgInfo0.setLarge(true);
+							imgInfo0.setLarge(false);
 							imgInfo0.setPid(pid);
 							imgInfo0.setUrl(picLink);
 							imgInfo0.setUrlHD(picLink);
 							imgInfo0.setType(ImgEnum.img);
-							imgVideo.setW(1);
-							imgVideo.setH(1);
+							imgInfo0.setW(1);
+							imgInfo0.setH(1);
 							listImg.add(imgInfo0);
+							totalImg++;
 							continue;
 						}
 					}
@@ -1245,6 +1283,7 @@
 								String url = imgInfo.getUrl();
 								if (picLink.equals(url)) {
 									listImg.add(imgInfo);
+									totalImg++;
 									break;
 								}
 							}
@@ -1268,7 +1307,21 @@
 					listDel.add(listOld.get(j));
 			}
 		}
-		resultObj.setLineNum(1);
+
+		int lineNum = 0;
+		if (totalImg > 0) {
+			if (totalImg == 1) {
+				lineNum = 1;
+			} else if (totalImg == 3) {
+				lineNum = 3;
+			} else if (totalImg <= 4) {
+				lineNum = 2;
+			} else {
+				lineNum = 3;
+			}
+		}
+
+		resultObj.setLineNum(lineNum);
 		resultObj.setImgList(listImg);
 		goodsEvaluateDao.save(resultObj);
 
@@ -1422,6 +1475,45 @@
 		return goodsEvaluateDao.count(key, state, dynamicType);
 	}
 
+	
+	@Override
+	public void addRanDomShareCount() {
+		// 鍙戝湀
+		try {
+			List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(0, Integer.MAX_VALUE, 1);
+			if (list != null) {
+				for (GoodsEvaluate goodsEvaluate: list) {
+					Integer shareNum = goodsEvaluate.getShareNum();
+					if (shareNum == null) {
+						shareNum = 0;
+					}
+					goodsEvaluate.setShareNum(shareNum + (int) (Math.random() * 100) + 10);
+					goodsEvaluateDao.save(goodsEvaluate);
+				}
+			}
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
+		}
+		
+		// 绱犳潗
+		try {
+			List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(0, Integer.MAX_VALUE, 2);
+			if (list != null) {
+				for (GoodsEvaluate goodsEvaluate: list) {
+					Integer shareNum = goodsEvaluate.getShareNum();
+					if (shareNum == null) {
+						shareNum = 0;
+					}
+					goodsEvaluate.setShareNum(shareNum + (int) (Math.random() * 100) + 10);
+					goodsEvaluateDao.save(goodsEvaluate);
+				}
+			}
+		} catch (Exception e) {
+			LogHelper.errorDetailInfo(e);
+		}
+	}
+	
+	
 	@Override
 	@Cacheable(value = "dynamicCache", key = "'queryValidEvaluateCache-'+#start")
 	public List<GoodsEvaluate> queryValidEvaluateCache(int start, int count) {
@@ -1447,6 +1539,130 @@
 	@Cacheable(value = "dynamicCache", key = "'queryMaterialsCache-'+#start+'-'+#type")
 	public List<GoodsEvaluate> queryMaterialsCache(int start, int count, int type) throws Exception {
 		List<GoodsEvaluate> list = goodsEvaluateDao.queryValid(start, count, type);
+		if (list == null) {
+			list = new ArrayList<>();
+		}
+		Date now = new Date();
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+		List<GoodsEvaluate> listNew = new ArrayList<>();
+		for (GoodsEvaluate goodsEvaluate : list) {
+			GoodsEvaluate evaluateNew = new GoodsEvaluate();
+			try {
+				PropertyUtils.copyProperties(evaluateNew, goodsEvaluate);
+			} catch (Exception e) {
+				e.printStackTrace();
+				continue;
+			}
+
+			List<CommentInfo> comments = evaluateNew.getComments();
+			if (comments != null && comments.size() > 0) {
+				EvaluateEnum typeEnum = evaluateNew.getType();
+				List<CommentInfo> commentNew = new ArrayList<>();
+
+				boolean singleCoupn = true;
+				boolean currencyCoupon = true;
+				for (CommentInfo commentInfo : comments) {
+					if (StringUtil.isNullOrEmpty(commentInfo.getContent())
+							&& StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+						continue;
+					}
+
+					CommentInfo commentInfoNew = new CommentInfo();
+					try {
+						PropertyUtils.copyProperties(commentInfoNew, commentInfo);
+					} catch (Exception e) {
+						e.printStackTrace();
+						continue;
+					}
+
+					if (typeEnum != null && typeEnum == EvaluateEnum.single) {
+						GoodsDetailVO goods = evaluateNew.getGoods();
+						if (goods != null) {
+							String content = commentInfoNew.getContent();
+							if (!StringUtil.isNullOrEmpty(content)) {
+								content = content.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goods.getZkPrice())+"");
+								if (goods.isHasCoupon()) {
+									content = content.replace("[鍒稿悗浠穄",MoneyBigDecimalUtil.getWithNoZera(goods.getCouponPrice())+"");
+								} else {
+									singleCoupn = false;
+									content = content.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+									content = content.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+								}
+								content = content.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
+								commentInfoNew.setContent(content);
+							}
+						}
+					}
+					
+					CommentInfoEnum typeComment = commentInfoNew.getTypeEnum();
+					if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) {
+						GoodsDetailVO goods = evaluateNew.getGoods();
+						if (goods != null && goods.isHasCoupon()) {
+							commentNew.add(commentInfoNew);
+							continue;
+						}
+					}
+
+					String coupon = commentInfoNew.getCoupon();
+					String endTime = commentInfoNew.getEndTime();
+					if (!StringUtil.isNullOrEmpty(coupon) && !StringUtil.isNullOrEmpty(endTime)) {
+						Date endDay = sdf.parse(endTime);
+						if (endDay.getTime() > now.getTime()) {
+							String daysBetween = DateUtil.dateDiff5(now, endDay);
+							if (!StringUtil.isNullOrEmpty(daysBetween)) {
+								List<ClientTextStyleVO> tagListNew = new ArrayList<>();
+								List<ClientTextStyleVO> tagList = commentInfoNew.getTagList();
+								if (tagList != null) {
+									tagListNew.addAll(tagList);
+								}
+
+								ClientTextStyleVO styleVO = new ClientTextStyleVO();
+								styleVO.setColor("#E5005C");
+								styleVO.setContent(daysBetween + "鍚庤繃鏈�");
+								tagListNew.add(styleVO);
+								commentInfoNew.setTagList(tagListNew);
+								commentNew.add(commentInfoNew);
+								continue;
+							} else {
+								currencyCoupon = false;
+								continue;
+							}
+						} else {
+							currencyCoupon = false;
+							continue;
+						}
+					}
+
+					commentNew.add(commentInfoNew);
+				}
+				evaluateNew.setComments(commentNew);
+
+				if (typeEnum != null && typeEnum == EvaluateEnum.single) {
+					if (!currencyCoupon && !singleCoupn) { // 鎵�鏈夊埜璇勮涓嬫灦
+						GoodsDetailVO goods = evaluateNew.getGoods();
+						if (goods != null) {
+							goods.setState(1); // 璇勮涓嶅瓨鍦� 涓嬫灦
+							evaluateNew.setRemarks("璇勮楠岃瘉涓嬫灦");
+						}
+
+						List<ImgInfo> imgList = evaluateNew.getImgList();
+						if (imgList != null) {
+							for (ImgInfo imgInfo : imgList) {
+								SimpleGoods simpleGoods = imgInfo.getGoods();
+								if (simpleGoods != null) {
+									simpleGoods.setState(1);
+									simpleGoods.setRemarks("璇勮楠岃瘉涓嬫灦");
+								}
+							}
+
+						}
+					}
+				}
+			}
+
+			listNew.add(evaluateNew);
+		}
 
 		List<GoodsEvaluate> listOBJ = list;
 		// 鏇存柊鍟嗗搧淇℃伅
@@ -1457,81 +1673,7 @@
 			}
 		});
 
-		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 && comments.size() > 0) {
-				EvaluateEnum typeEnum = goodsEvaluate.getType();
-				List<CommentInfo> commentNew = new ArrayList<>();
-
-				for (CommentInfo commentInfo : comments) {
-					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)) {
-						Date endDay = sdf.parse(endTime);
-						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;
-							}
-						}
-					}
-
-					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");
-								}
-							}
-
-						}
-					}
-				}
-			}
-		}
-
-		return list;
+		return listNew;
 	}
 
 	@Override
@@ -1554,11 +1696,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();
-			ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE,
-					vipFanLiRate);
+			ConfigParamsDTO params = hongBaoManageService.getShowComputeRate("android", "55");
+			params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
 			for (GoodsEvaluate goodsEvaluate : list) {
 				// 鏄惁2涓皬鏃朵箣鍐呭凡鏇存柊
 				Date updateTime = goodsEvaluate.getUpdateTime();
@@ -1595,10 +1734,11 @@
 
 				GoodsDetailVO goods = goodsEvaluate.getGoods();
 				if (goods != null) {
-					GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), paramsDTO);
+					GoodsDetailVO goodsNew = getGoodsNewInfo(goods.getGoodsId(), goods.getGoodsType(), params);
 					if (goodsNew != null) {
 						goodsEvaluate.setGoods(goodsNew);
 					} else {
+						goodsEvaluate.setRemarks("鏇存柊-浣嶇疆鎵惧埌鍟嗗搧淇℃伅");
 						goodsEvaluate.setState(0); // 宸插晢鍝佷笅鏋�
 						goods.setState(1);
 						goodsEvaluate.setGoods(goods);
@@ -1617,7 +1757,7 @@
 					}
 
 					GoodsDetailVO goodsDetailVO = getGoodsNewInfo(simpleGoods.getGoodsId(), simpleGoods.getGoodsType(),
-							paramsDTO);
+							params);
 					if (goodsDetailVO != null) {
 						simpleGoods.setPrice(goodsDetailVO.getCouponPrice());
 						simpleGoods.setState(0);
@@ -1631,6 +1771,7 @@
 						imgInfo.setGoods(simpleGoods);
 						imgInfo.setGoodsVO(goodsDetailVO);
 					} else {
+						simpleGoods.setRemarks("鏇存柊-浣嶇疆鎵惧埌鍟嗗搧淇℃伅");
 						simpleGoods.setState(1);
 						imgInfo.setGoods(simpleGoods);
 						GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
@@ -1640,7 +1781,7 @@
 						}
 					}
 				}
-
+				goodsEvaluate.setImgList(imgList);
 				goodsEvaluate.setUpdateTime(new Date());
 				goodsEvaluateDao.save(goodsEvaluate);
 			}
@@ -1739,7 +1880,9 @@
 					}
 					imgInfo.setGoods(simpleGoods);
 
-					TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), null);
+					TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, goodsVO.getGoodsId(), "0");
+
+//					TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsVO.getGoodsId(), null);
 					String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
 					String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 
@@ -1775,4 +1918,417 @@
 		}
 	}
 
+	@Override
+	public void addGoodsEvaluateByDaTaoKe() {
+		List<Long> listId = null;
+		List<GoodsEvaluate> listExist = goodsEvaluateDao.querySingleExist();
+		if (listExist != null && listExist.size() > 0) {
+			listId = new ArrayList<Long>();
+			for (GoodsEvaluate goodsEvaluate : listExist) {
+				GoodsDetailVO goods = goodsEvaluate.getGoods();
+				if (goods != null && goods.getGoodsType() == 1) {
+					listId.add(goods.getGoodsId());
+				}
+			}
+		}
+		// 鐑攢鍗曞搧鐨勫垎绫�
+		List<GoodsClass> listClass = DaTaoKeUtil.goodsClasses;
+		int ci = (int) (Math.random() * listClass.size());
+		Long subId = listClass.get(ci).getId();
+
+		List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.getGoodsNotInList(subId, listId, 1);
+		if (list == null || list.size() == 0) {
+			return;
+		}
+
+		for (int i = 0; i < list.size(); i++) {
+			boolean cerateGoods = cerateGoods(list.get(i));
+			if (cerateGoods) {
+				break;
+			}
+		}
+	}
+
+	private boolean cerateGoods(DaTaoKeDetailV2 daTaoKe) {
+		try {
+			TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId());
+			if (goodsBrief == null) {
+				return false;
+			}
+
+			BigDecimal couponAmount = goodsBrief.getCouponAmount();
+			if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
+				return false;
+			}
+
+			ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
+			paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+			GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO);
+			// 鍙戝竷鐢ㄦ埛
+			ActivityUser user = activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid());
+
+			String desc = daTaoKe.getDesc().replace(",", "锛�");
+			String[] split = desc.split("锛�");
+			int max = 1;
+			if (Math.random() > 0.5) {
+				max = 2;
+			}
+			int e = 0;
+			String emojis = "";
+			String descNew = "";
+			if (split.length > 0) {
+				for (int i = 0; i < split.length; i++) {
+					if (Math.random() > 0.5 && e < max) {
+						for (int j = 0; j < 10; j++) {
+							String emojisTemp = DaTaoKeUtil.getEvaluateEmojis();
+							if (!emojis.equals(emojisTemp)) {
+								emojis = emojisTemp;
+								break;
+							}
+						}
+						e++;
+						descNew += split[i] + emojis;
+					} else {
+						descNew += split[i] + "锛�";
+					}
+				}
+			} else {
+				descNew = desc;
+			}
+
+			if (descNew.endsWith("锛�")) {
+				descNew = descNew.substring(0, descNew.length() - 1);
+			}
+
+			GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
+			goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
+			goodsEvaluate.setUser(user);
+			goodsEvaluate.setTitle(descNew);
+			goodsEvaluate.setState(1);
+			goodsEvaluate.setDynamicType(1);
+			goodsEvaluate.setType(EvaluateEnum.single);
+
+			goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000);
+			goodsEvaluate.setShareNumReal(0);
+			goodsEvaluate.setWeight(0.0);
+			goodsEvaluate.setStartTime(new Date());
+			goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, new Date()));
+			goodsEvaluate.setPublishTime(new Date());
+			goodsEvaluate.setCreateTime(new Date());
+			goodsEvaluate.setUpdateTime(new Date());
+
+			List<String> goodsimgs = goodsBrief.getImgList();
+
+			List<String> imgs = new ArrayList<>();
+			if (!StringUtil.isNullOrEmpty(goodsBrief.getPictUrlWhite())) {
+				imgs.add(goodsBrief.getPictUrlWhite());
+			}
+			imgs.addAll(goodsimgs);
+
+			int lineNum = 0;
+			if (imgs.size() > 0) {
+				if (imgs.size() == 1) {
+					lineNum = 1;
+				} else if (imgs.size() == 3) {
+					lineNum = 3;
+				} else if (imgs.size() <= 4) {
+					lineNum = 2;
+				} else {
+					lineNum = 3;
+				}
+			}
+			goodsEvaluate.setLineNum(lineNum);
+
+			int i = 0;
+			List<ImgInfo> imgList = new ArrayList<>();
+			for (String img : imgs) {
+				ImgInfo imgInfo = new ImgInfo();
+				imgInfo.setH(1);
+				imgInfo.setW(1);
+				imgInfo.setLarge(false);
+				imgInfo.setUrl(img);
+				imgInfo.setUrlHD(img);
+				if (i != 0) {
+					imgInfo.setType(ImgEnum.img);
+				} else {
+					imgInfo.setType(ImgEnum.goods);
+					SimpleGoods simpleGoods = new SimpleGoods();
+					simpleGoods.setGoodsId(goodsVO.getGoodsId());
+					simpleGoods.setGoodsType(goodsVO.getGoodsType());
+					simpleGoods.setState(goodsVO.getState());
+					CouponInfoVO couponInfo = goodsVO.getCouponInfo();
+					if (couponInfo == null) {
+						simpleGoods.setPrice(goodsVO.getZkPrice());
+					} else {
+						simpleGoods.setPrice(goodsVO.getCouponPrice());
+						simpleGoods.setAmount(couponInfo.getAmount());
+					}
+					imgInfo.setGoods(simpleGoods);
+					imgInfo.setGoodsVO(goodsVO);
+
+					// TaoBaoLink taoBaoLink =
+					// shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID,
+					// goodsVO.getGoodsId(), null);
+
+					String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
+
+					String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+					String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
+
+					commentText = commentText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice())+"");
+					if (!goodsVO.isHasCoupon()) {
+						commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+						commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+					} else {
+						commentText = commentText.replace("[鍒稿悗浠穄", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getCouponPrice())+"");
+					}
+					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);
+					commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+					commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+
+					String text2 = "";
+					String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey());
+					if (!StringUtil.isNullOrEmpty(evaluateEmojis)) {
+						text2 = evaluateEmojis + "\n";
+					}
+
+					String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey());
+					if (!StringUtil.isNullOrEmpty(evaluateText)) {
+						text2 += evaluateText;
+					}
+					
+					String dtitle = daTaoKe.getDtitle();
+					if (!StringUtil.isNullOrEmpty(dtitle)) {
+						text2 = text2 + dtitle +"\n";
+					} else if (!StringUtil.isNullOrEmpty(evaluateText)) {
+						text2 += "\n";
+					}
+					text2 += "鍏堥銆�"+ couponAmount +"鍏冧紭鎯犲埜銆戜笅鍗�";
+							
+					CommentInfo commentInfo2 = new CommentInfo();
+					commentInfo2.setId(UUID.randomUUID().toString().replace("-", ""));
+					commentInfo2.setContent(text2);
+					commentInfo2.setTypeEnum(CommentInfoEnum.goodsCoupon);
+					commentInfo2.setType("");
+					
+					
+					List<CommentInfo> commentsNew = new ArrayList<>();
+					commentsNew.add(commentInfo);
+					commentsNew.add(commentInfo2);
+					goodsEvaluate.setComments(commentsNew);
+					
+					goodsEvaluate.setGoods(goodsVO);
+				}
+				imgList.add(imgInfo);
+				i++;
+			}
+			goodsEvaluate.setImgList(imgList);
+			goodsEvaluateDao.save(goodsEvaluate);
+		} catch (Exception e) {
+			e.printStackTrace();
+			LogHelper.errorDetailInfo(e);
+			return false;
+		}
+		return true;
+	}
+
+	private String getDesc(String desc) {
+		System.out.println(desc);
+		String newDesc = "";
+		int emoji = 0;
+		String content = desc.replace("锛�", ",");
+		while (content.length() > 0) {
+			int length = 0;
+			boolean end = true;
+			for (int i = 0; i < content.length(); i++) {
+				if (content.substring(0, i).length() >= 18) {
+					length = i;
+					end = false;
+					break;
+				}
+			}
+
+			if (end) {
+				length = content.length();
+			}
+
+			String introduce = content.substring(0, length);
+			System.out.println(introduce);
+			if (verify(introduce)) {
+				if (emoji >= 4) {
+					introduce = introduce.replace(",", "\n"); // 闇�瑕佹崲琛�
+				} else {
+					emoji++;
+					introduce = introduce.replace(",", DaTaoKeUtil.getRandomCommonEmoji() + "\n"); // 闇�瑕佹崲琛�
+				}
+			}
+
+			// 闅忔満鏇挎崲emoji
+			if (emoji <= 4 && Math.random() > 0.5) {
+				introduce = introduce.replace(",", DaTaoKeUtil.getRandomCommonEmoji());
+				emoji++;
+			}
+			newDesc += introduce;
+			content = content.substring(length);
+		}
+		return newDesc;
+	}
+
+	private boolean verify(String content) {
+		// 18涓瓧绗﹀唴锛堝寘鍚爣鐐逛篃绠椾竴涓瓧绗︼級鏈夊涓�楀彿锛屽垯涓嶆崲琛�
+		char d = ',';
+		int count = 0;
+		char chs[] = content.toCharArray();// 杞崲鎴恈har鏁扮粍
+		for (int i = 0; i < chs.length; i++) {
+			if (d == chs[i]) {
+				count++;
+			}
+		}
+		if (count > 1) {
+			return false;
+		}
+
+		// 涔﹀悕鍙凤紝澶ф嫭鍙凤紝灏忔嫭鍙烽噷闈㈢殑鍐呭涓嶆崲琛�
+		if (content.contains("[") && content.contains("]")) {
+			return false;
+		} else if (content.contains("銆�") && content.contains("銆�")) {
+			return false;
+		} else if (content.contains("{") && content.contains("}")) {
+			return false;
+		} else if (content.contains("(") && content.contains(")")) {
+			return false;
+		}
+
+		int index = content.lastIndexOf(",");
+		// (闄ゅ紑閫楀彿浠ュ鐨勭鍙凤級鎰熷徆鍙�/鍙ュ彿/闂彿鍓嶉潰鏈夐�楀彿锛屼笉鎹㈣
+		if (content.contains("!") && index < content.lastIndexOf("!")) {
+			return false;
+		}
+
+		if (content.contains("锛�") && index < content.lastIndexOf("锛�")) {
+			return false;
+		}
+
+		if (content.contains("銆�") && index < content.lastIndexOf("銆�")) {
+			return false;
+		}
+
+		if (content.contains("?") && index < content.lastIndexOf("?")) {
+			return false;
+		}
+
+		if (content.contains("锛�") && index < content.lastIndexOf("锛�")) {
+			return false;
+		}
+
+		if (content.contains("锛�")) {
+			return false;
+		}
+		return true;
+	}
+	
+	@Override
+	public void updateTaoBaoGoods(TaoBaoGoodsBrief goods) {
+		try {
+			if (goods == null) {
+				return;
+			}
+			List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, goods.getAuctionId());
+			if (queryExist == null || queryExist.size() == 0) {
+				return;
+			}
+			
+			ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
+			paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+			GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO);
+			updateGoods(queryExist, goodsNew);
+		
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Override
+	public void updateJDGoods(JDGoods jdGoods) {
+		if (jdGoods == null) {
+			return;
+		}
+		List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId());
+		if (queryExist == null || queryExist.size() == 0) {
+			return;
+		}
+		
+		ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+		GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertJDGoods(jdGoods, paramsDTO);
+		
+		updateGoods(queryExist, goodsNew);
+	}
+	
+	@Override
+	public void updatePDDGoods(PDDGoodsDetail pddGoods) {
+		if (pddGoods == null) {
+			return;
+		}
+		List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_PDD, pddGoods.getGoodsId());
+		if (queryExist == null || queryExist.size() == 0) {
+			return;
+		}
+		
+		ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55");
+		paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate());
+		GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertPDDGoods(pddGoods, paramsDTO);
+		updateGoods(queryExist, goodsNew);
+	}
+	
+	private void updateGoods(List<GoodsEvaluate> listExist, GoodsDetailVO goodsNew) {
+		long goodsId = goodsNew.getGoodsId();
+		int goodsType = goodsNew.getGoodsType();
+		for (GoodsEvaluate goodsEvaluate: listExist) {
+			GoodsDetailVO goodsDetailVO = goodsEvaluate.getGoods();
+			if (goodsDetailVO != null && goodsDetailVO.getGoodsId() != null 
+				&& goodsDetailVO.getGoodsId() == goodsId && goodsDetailVO.getGoodsType() == goodsType) {
+				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 || simpleGoods.getGoodsId() != goodsId  
+						|| goodsType != simpleGoods.getGoodsType()) {
+					continue;
+				}
+
+				
+				simpleGoods.setState(0);
+				simpleGoods.setPrice(goodsNew.getCouponPrice());
+				CouponInfoVO couponInfo = goodsNew.getCouponInfo();
+				if (couponInfo == null) {
+					simpleGoods.setPrice(goodsNew.getZkPrice());
+				} else {
+					simpleGoods.setPrice(goodsNew.getCouponPrice());
+					simpleGoods.setAmount(couponInfo.getAmount());
+				}
+				
+				imgInfo.setGoods(simpleGoods);
+				imgInfo.setGoodsVO(goodsNew);
+			}
+			
+			goodsEvaluate.setImgList(imgList);
+			goodsEvaluate.setUpdateTime(new Date());
+			goodsEvaluateDao.save(goodsEvaluate);
+		}
+	}
+	
+	
 }

--
Gitblit v1.8.0