From 8c6123908fd6bc5a02938dd1e69750b277aa5c6a Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期一, 09 三月 2020 16:27:38 +0800
Subject: [PATCH] 添加领取人明细 + 口令筛选商品

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  520 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 426 insertions(+), 94 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 3bcc297..4dc4498 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,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;
@@ -44,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;
@@ -54,6 +56,7 @@
 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;
@@ -66,7 +69,9 @@
 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.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,6 +108,11 @@
 
 	@Resource
 	private ConvertLinkManager convertLinkManager;
+	
+	@Resource
+	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+	
 
 	@Override
 	public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
@@ -110,6 +120,7 @@
 		if (state == null) {
 			state = 0;
 		}
+		record.setState(state);
 
 		String tilte = record.getTitle();
 		if (StringUtil.isNullOrEmpty(tilte)) {
@@ -161,6 +172,7 @@
 			if (resultObj == null)
 				throw new GoodsEvaluateException(1, "淇敼鍐呭宸蹭笉瀛樺湪");
 
+			resultObj.setState(record.getState());
 			resultObj.setUser(record.getUser());
 			resultObj.setShareNum(record.getShareNum());
 			resultObj.setWeight(record.getWeight());
@@ -187,8 +199,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("-", "") + "."
@@ -209,7 +246,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, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
@@ -248,36 +285,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());
 			}
 		}
 
@@ -410,6 +439,8 @@
 		if (totalImg > 0) {
 			if (totalImg == 1) {
 				lineNum = 1;
+			} else if (totalImg == 3) {
+				lineNum = 3;
 			} else if (totalImg <= 4) {
 				lineNum = 2;
 			} else {
@@ -444,8 +475,8 @@
 		 * = 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());
@@ -495,6 +526,8 @@
 				}
 			}
 		}
+		
+		return commentText;
 	}
 
 	private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
@@ -598,35 +631,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());
 			}
 		}
 
@@ -739,6 +766,8 @@
 		if (totalImg > 0) {
 			if (totalImg == 1) {
 				lineNum = 1;
+			} else if (totalImg == 3) {
+				lineNum = 3;
 			} else if (totalImg <= 4) {
 				lineNum = 2;
 			} else {
@@ -1014,17 +1043,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");
@@ -1064,6 +1088,7 @@
 			listImg.add(imgVideo);
 		}
 
+		int totalImg = 0;
 		if (!StringUtil.isNullOrEmpty(activityPic) || !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) {
 			if (imgactivity != null) {
 				imgactivity.setUrl(activityPic);
@@ -1087,8 +1112,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);
 	}
@@ -1137,39 +1177,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");
@@ -1215,6 +1245,7 @@
 			listImg.add(imgActivity);
 		}
 
+		int totalImg = 0;
 		// 缂栬緫鍥剧墖
 		if (!StringUtil.isNullOrEmpty(picUrls)) {
 			String[] pics = picUrls.split(",");
@@ -1228,14 +1259,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;
 						}
 					}
@@ -1246,6 +1278,7 @@
 								String url = imgInfo.getUrl();
 								if (picLink.equals(url)) {
 									listImg.add(imgInfo);
+									totalImg ++;
 									break;
 								}
 							}
@@ -1269,7 +1302,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);
 
@@ -1452,11 +1499,11 @@
 			list = new ArrayList<>();
 		}
 		Date now = new Date();
-		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-		
+		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);
@@ -1464,7 +1511,7 @@
 				e.printStackTrace();
 				continue;
 			}
-			
+
 			int comment = 0;
 			List<CommentInfo> comments = evaluateNew.getComments();
 			if (comments != null && comments.size() > 0) {
@@ -1472,38 +1519,54 @@
 				List<CommentInfo> commentNew = new ArrayList<>();
 
 				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;
+					}
+					
 					comment++;
-					CommentInfoEnum typeComment = commentInfo.getTypeEnum();
+					CommentInfoEnum typeComment = commentInfoNew.getTypeEnum();
 					if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) {
 						GoodsDetailVO goods = evaluateNew.getGoods();
-						if (goods.isHasCoupon()) {
-							commentNew.add(commentInfo);
+						if (goods != null && goods.isHasCoupon()) {
+							commentNew.add(commentInfoNew);
 							continue;
 						}
 					}
 
-					String coupon = commentInfo.getCoupon();
-					String endTime = commentInfo.getEndTime();
+					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()) {
-							int daysBetween = DateUtil.daysBetween(now, endDay);
-							if (daysBetween > 0) {
+							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 + "澶╁悗杩囨湡");
-
-								List<ClientTextStyleVO> tagList = commentInfo.getTagList();
-								tagList.add(styleVO);
-								commentInfo.setTagList(tagList);
-
-								commentNew.add(commentInfo);
+								styleVO.setContent(daysBetween + "鍚庤繃鏈�");
+								tagListNew.add(styleVO);
+								commentInfoNew.setTagList(tagListNew);
+								commentNew.add(commentInfoNew);
 								continue;
 							}
 						}
 					}
 
-					commentNew.add(commentInfo);
+					commentNew.add(commentInfoNew);
 				}
 				evaluateNew.setComments(commentNew);
 
@@ -1529,7 +1592,7 @@
 					}
 				}
 			}
-			
+
 			listNew.add(evaluateNew);
 		}
 
@@ -1541,7 +1604,7 @@
 				updateGoodInfo(listOBJ);
 			}
 		});
-		
+
 		return listNew;
 	}
 
@@ -1750,7 +1813,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()));
 
@@ -1786,4 +1851,271 @@
 		}
 	}
 
+	
+	@Override
+	public void addGoodsEvaluateByDaTaoKe() {
+		try {
+			boolean addSuccess = false;
+			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;
+			}
+			
+			DaTaoKeDetailV2 daTaoKe = list.get(0);
+			TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId());
+			if (goodsBrief == null) {
+				return;
+			}
+			
+			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
+			BigDecimal shareRate = hongBaoManageService.getShareRate();
+			BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
+			ConfigParamsDTO params = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, vipFanLiRate);
+			GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params);
+			// 鍙戝竷鐢ㄦ埛
+			ActivityUser user = activityUserService.getRandomByDaTaoKeCid(daTaoKe.getCid());
+			
+//			String desc = getDesc(daTaoKe.getDesc());
+			String desc = daTaoKe.getDesc().replace(",", "锛�");
+			System.out.println(desc);
+			String[] split = desc.split("锛�");
+			System.out.println(split.length);
+			
+			int max = 1;
+			if (Math.random() > 0.5) {
+				max = 2;
+			}
+			int e = 0;
+			String descNew = "";
+			if (split.length > 0) {
+				for (int i = 0; i < split.length; i ++ ) {
+					if (Math.random() > 0.5 && e < max) {
+						e++;
+						descNew += split[i] +  DaTaoKeUtil.getRandomCommonEmoji();
+					} 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());
+			
+			int lineNum = 0;
+			List<String> imgs = goodsBrief.getImgList();
+			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);
+
+					//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("[鍘熶环]", goodsVO.getZkPrice().toString());
+					if (!goodsVO.isHasCoupon()) {
+						commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+						commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+					} 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("-", ""));
+					commentInfo.setContent(commentText);
+					commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
+					commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
+
+					List<CommentInfo> commentsNew = new ArrayList<>();
+					commentsNew.add(commentInfo);
+					goodsEvaluate.setComments(commentsNew);
+
+					goodsEvaluate.setGoods(goodsVO);
+				}
+				
+				imgList.add(imgInfo);
+				i ++;
+			}
+			goodsEvaluate.setImgList(imgList);
+			goodsEvaluateDao.save(goodsEvaluate);
+		} catch (Exception e) {
+			e.printStackTrace();
+			LogHelper.errorDetailInfo(e);
+		}
+	}
+	
+	
+	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;
+	}
 }

--
Gitblit v1.8.0