From d8fc4263dad4bf8112a9146dd8afbaceb6d4ea10 Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期一, 09 三月 2020 22:28:48 +0800
Subject: [PATCH] 自动发圈

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  244 +++++++++++++++++++++++++++++-------------------
 1 files changed, 145 insertions(+), 99 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 4dc4498..c252c6d 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
@@ -61,6 +61,7 @@
 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;
@@ -108,11 +109,9 @@
 
 	@Resource
 	private ConvertLinkManager convertLinkManager;
-	
+
 	@Resource
 	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
-
-	
 
 	@Override
 	public String saveHead(MultipartFile file, GoodsEvaluate record) throws GoodsEvaluateException {
@@ -470,9 +469,8 @@
 		}
 
 		/*
-		 * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 =
-		 * goodsDetailVO.getCouponInfo(); if (couponInfo1 == null) { addComment
-		 * = false; }
+		 * // 鏃犲埜涓嶈兘鑷姩 鐢熸垚璇勮 CouponInfoVO couponInfo1 = goodsDetailVO.getCouponInfo(); if
+		 * (couponInfo1 == null) { addComment = false; }
 		 */
 
 		String commentText = "";
@@ -498,12 +496,12 @@
 				commentText = template.replace("[閾炬帴]", jumpLink);
 			}
 
-			commentText = commentText.replace("[鍘熶环]", goodsDetailVO.getZkPrice().toString());
+			commentText = commentText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsDetailVO.getZkPrice())+"");
 			if (!goodsDetailVO.isHasCoupon()) {
 				commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
 				commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
 			} else {
-				commentText = commentText.replace("[鍒稿悗浠穄", goodsDetailVO.getCouponPrice().toString());
+				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",
@@ -526,7 +524,7 @@
 				}
 			}
 		}
-		
+
 		return commentText;
 	}
 
@@ -1047,8 +1045,8 @@
 				if (info == null)
 					throw new GoodsEvaluateException(2, "瑙嗛鍥剧墖涓婁紶澶辫触");
 				videoPic = info.getUrl();
-				width=info.getW();
-				height=info.getH();
+				width = info.getW();
+				height = info.getH();
 			}
 
 			MultipartFile activityfile = fileRequest.getFile("activityfile");
@@ -1112,9 +1110,9 @@
 				imgactivity.setH(imgactivity.getH());
 			}
 			listImg.add(imgactivity);
-			totalImg ++;
+			totalImg++;
 		}
-		
+
 		int lineNum = 0;
 		if (totalImg > 0) {
 			if (totalImg == 1) {
@@ -1267,7 +1265,7 @@
 							imgInfo0.setW(1);
 							imgInfo0.setH(1);
 							listImg.add(imgInfo0);
-							totalImg ++;
+							totalImg++;
 							continue;
 						}
 					}
@@ -1278,7 +1276,7 @@
 								String url = imgInfo.getUrl();
 								if (picLink.equals(url)) {
 									listImg.add(imgInfo);
-									totalImg ++;
+									totalImg++;
 									break;
 								}
 							}
@@ -1302,7 +1300,7 @@
 					listDel.add(listOld.get(j));
 			}
 		}
-		
+
 		int lineNum = 0;
 		if (totalImg > 0) {
 			if (totalImg == 1) {
@@ -1519,11 +1517,11 @@
 				List<CommentInfo> commentNew = new ArrayList<>();
 
 				for (CommentInfo commentInfo : comments) {
-					if (StringUtil.isNullOrEmpty(commentInfo.getContent()) && 
-							StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
+					if (StringUtil.isNullOrEmpty(commentInfo.getContent())
+							&& StringUtil.isNullOrEmpty(commentInfo.getCoupon())) {
 						continue;
 					}
-					
+
 					CommentInfo commentInfoNew = new CommentInfo();
 					try {
 						PropertyUtils.copyProperties(commentInfoNew, commentInfo);
@@ -1531,7 +1529,7 @@
 						e.printStackTrace();
 						continue;
 					}
-					
+
 					comment++;
 					CommentInfoEnum typeComment = commentInfoNew.getTypeEnum();
 					if (typeComment != null && typeComment == CommentInfoEnum.goodsCoupon) {
@@ -1554,7 +1552,7 @@
 								if (tagList != null) {
 									tagListNew.addAll(tagList);
 								}
-								
+
 								ClientTextStyleVO styleVO = new ClientTextStyleVO();
 								styleVO.setColor("#E5005C");
 								styleVO.setContent(daysBetween + "鍚庤繃鏈�");
@@ -1814,7 +1812,7 @@
 					imgInfo.setGoods(simpleGoods);
 
 					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()));
@@ -1851,41 +1849,49 @@
 		}
 	}
 
-	
 	@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<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;
+		}
+		// 鐑攢鍗曞搧鐨勫垎绫�
+		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;
 			}
-			
-			DaTaoKeDetailV2 daTaoKe = list.get(0);
+		}
+	}
+
+	private boolean cerateGoods(DaTaoKeDetailV2 daTaoKe) {
+		try {
 			TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(daTaoKe.getGoodsId());
 			if (goodsBrief == null) {
-				return;
+				return false;
 			}
-			
+
+			BigDecimal couponAmount = goodsBrief.getCouponAmount();
+			if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
+				return false;
+			}
+
 			BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
 			BigDecimal shareRate = hongBaoManageService.getShareRate();
 			BigDecimal vipFanLiRate = hongBaoManageService.getVIPFanLiRate();
@@ -1893,24 +1899,28 @@
 			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 emojis = "";
 			String descNew = "";
 			if (split.length > 0) {
-				for (int i = 0; i < split.length; i ++ ) {
+				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] +  DaTaoKeUtil.getRandomCommonEmoji();
+						descNew += split[i] + emojis;
 					} else {
 						descNew += split[i] + "锛�";
 					}
@@ -1918,12 +1928,11 @@
 			} else {
 				descNew = desc;
 			}
-			
-			if(descNew.endsWith("锛�")) {
-				descNew = descNew.substring(0, descNew.length()-1);
+
+			if (descNew.endsWith("锛�")) {
+				descNew = descNew.substring(0, descNew.length() - 1);
 			}
-			
-			
+
 			GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
 			goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
 			goodsEvaluate.setUser(user);
@@ -1931,7 +1940,7 @@
 			goodsEvaluate.setState(1);
 			goodsEvaluate.setDynamicType(1);
 			goodsEvaluate.setType(EvaluateEnum.single);
-			
+
 			goodsEvaluate.setShareNum((int) (Math.random() * 5000) + 1000);
 			goodsEvaluate.setShareNumReal(0);
 			goodsEvaluate.setWeight(0.0);
@@ -1940,9 +1949,16 @@
 			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;
-			List<String> imgs = goodsBrief.getImgList();
 			if (imgs.size() > 0) {
 				if (imgs.size() == 1) {
 					lineNum = 1;
@@ -1955,7 +1971,7 @@
 				}
 			}
 			goodsEvaluate.setLineNum(lineNum);
-			
+
 			int i = 0;
 			List<ImgInfo> imgList = new ArrayList<>();
 			for (String img : imgs) {
@@ -1981,20 +1997,23 @@
 						simpleGoods.setAmount(couponInfo.getAmount());
 					}
 					imgInfo.setGoods(simpleGoods);
+					imgInfo.setGoodsVO(goodsVO);
 
-					//TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsVO.getGoodsId(), null);
+					// 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());
+					commentText = commentText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goodsVO.getZkPrice())+"");
 					if (!goodsVO.isHasCoupon()) {
 						commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
 						commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
 					} else {
-						commentText = commentText.replace("[鍒稿悗浠穄", goodsVO.getCouponPrice().toString());
+						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");
@@ -2005,25 +2024,52 @@
 					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 ++;
+				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 = "";
@@ -2039,47 +2085,47 @@
 					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 ++;
+					emoji++;
 					introduce = introduce.replace(",", DaTaoKeUtil.getRandomCommonEmoji() + "\n"); // 闇�瑕佹崲琛�
 				}
 			}
-			
+
 			// 闅忔満鏇挎崲emoji
-			if(emoji <= 4 && Math.random() > 0.5) {
+			if (emoji <= 4 && Math.random() > 0.5) {
 				introduce = introduce.replace(",", DaTaoKeUtil.getRandomCommonEmoji());
-				emoji ++;
+				emoji++;
 			}
 			newDesc += introduce;
 			content = content.substring(length);
 		}
 		return newDesc;
 	}
-	
-	private boolean verify (String content) {
+
+	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 ++;
+		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;
@@ -2090,32 +2136,32 @@
 		} 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