From 651a15c78f668bef3859d9ed1bb7ad0b669d3600 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 03 七月 2020 17:52:07 +0800
Subject: [PATCH] 多APP优化

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java |  160 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 99 insertions(+), 61 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 f135d5e..0d29634 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
@@ -7,6 +7,7 @@
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
@@ -16,6 +17,9 @@
 import javax.annotation.Resource;
 import javax.imageio.ImageIO;
 
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
+import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
 import org.apache.commons.beanutils.PropertyUtils;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
@@ -51,6 +55,7 @@
 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.share.ShareGoodsException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.activity.ActivityUserService;
@@ -67,6 +72,7 @@
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
 import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
@@ -111,6 +117,9 @@
 
 	@Resource
 	private ShareGoodsService shareGoodsService;
+
+	@Resource
+	private TaoBaoLinkManager taoBaoLinkManager;
 
 	@Resource
 	private ConvertLinkManager convertLinkManager;
@@ -291,7 +300,7 @@
 	/**
 	 * 鍒犻櫎鍥剧墖
 	 * 
-	 * @param record
+	 * @param picture
 	 * @throws Exception
 	 */
 	private void removePicture(String picture) throws Exception {
@@ -302,7 +311,7 @@
 
 	@Override
 	public String saveSingleGoods(String pid, String goodsId, Integer goodsType, String videoUrl, Integer picNum,
-			String picUrls, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
+								  String picUrls, SystemEnum system, MultipartHttpServletRequest fileRequest) throws GoodsEvaluateException, Exception {
 		if (StringUtil.isNullOrEmpty(pid)) {
 			throw new GoodsEvaluateException(1, "璇蜂繚瀛樼涓�閮ㄥ垎淇℃伅");
 		}
@@ -538,8 +547,8 @@
 		String commentText = "";
 		if (addComment) {
 			if (goodsType == Constant.SOURCE_TYPE_TAOBAO) {
-				TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0");
-				String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+				TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(1L, Long.parseLong(goodsId), "0",null);
+				String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
 				commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 			} else if (goodsType == Constant.SOURCE_TYPE_JD) {
 				String couponUrl = null;
@@ -550,7 +559,7 @@
 				String materialId = "https://item.jd.com/" + goodsId + ".html";
 				String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl,
 						JDApiUtil.POSITION_SHARE + "", "1");
-				String template = configService.get(ConfigKeyEnum.quickShareJDCommentText.getKey());
+				String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(),system);
 				if (jumpLink == null) {
 					throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�");
 				}
@@ -560,7 +569,7 @@
 				if (jumpLink == null) {
 					throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�");
 				}
-				String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
+				String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(),system);
 				commentText = template.replace("[閾炬帴]", jumpLink);
 			}
 
@@ -601,11 +610,11 @@
 		return commentText;
 	}
 
-	private String createTokenAndLink(GoodsDetailVO goodsDetailVO) throws Exception {
+	private String createTokenAndLink(GoodsDetailVO goodsDetailVO,SystemEnum system) throws Exception {
 		String commentText = "";
 		if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
-			TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0");
-			String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+			TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(1L,Long.parseLong(goodsDetailVO.getGoodsId()), "0",null);
+			String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
 			commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 		} else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
 			String couponUrl = null;
@@ -618,12 +627,12 @@
 			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());
+			String template = configService.getValue(ConfigKeyEnum.quickShareJDCommentText.getKey(),system);
 			commentText = template.replace("[閾炬帴]", jumpLink);
 		} else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
 			String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsDetailVO.getGoodsId()),
 					PinDuoDuoApiUtil.PID_SHARE + "", "1");
-			String template = configService.get(ConfigKeyEnum.quickSharePDDCommentText.getKey());
+			String template = configService.getValue(ConfigKeyEnum.quickSharePDDCommentText.getKey(),system);
 			commentText = template.replace("[閾炬帴]", jumpLink);
 		}
 
@@ -860,7 +869,7 @@
 	}
 
 	@Override
-	public void saveGoodsComment(String id, int kind, List<CommentInfo> comments)
+	public void saveGoodsComment(String id, int kind, List<CommentInfo> comments,SystemEnum system)
 			throws GoodsEvaluateException, Exception {
 		if (comments == null || comments.size() == 0) {
 			throw new GoodsEvaluateException(1, "鍐呭涓嶈兘涓虹┖");
@@ -893,7 +902,7 @@
 			String content = commentInfo.getContent();
 			if (StringUtil.isNullOrEmpty(content)) {
 				if (i == 0 && kind == 1) {
-					content = createTokenAndLink(goods);
+					content = createTokenAndLink(goods,system);
 				} else {
 					continue;
 				}
@@ -1433,6 +1442,13 @@
 	
 	
 	@Override
+	public List<GoodsEvaluate> queryValidZeroPoint(int start, int count) {
+		return goodsEvaluateDao.queryValidZeroPoint(start, count);
+	}
+	
+	
+	
+	@Override
 	public void saveComment(String pid, CommentInfo commentInfo) throws GoodsEvaluateException {
 		GoodsEvaluate goodsEvaluate = goodsEvaluateDao.getById(pid);
 		if (goodsEvaluate == null) {
@@ -1928,7 +1944,7 @@
 
 	@Override
 	public void addGoodsEvaluate(String goodsId, List<ImgInfo> imgList, ActivityUser user, String title, String comment,
-			Date startTime) throws GoodsEvaluateException {
+			Date startTime,SystemEnum system) throws GoodsEvaluateException {
 		if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) {
 			throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
 		}
@@ -2009,8 +2025,9 @@
 			commentInfo.setContent(comment);
 			commentInfo.setType("");
 		} else {
+			goodsBrief.setCouponLink(null);
 			String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
-			String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+			String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
 			String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
 			if (!goodsVO.isHasCoupon()) {
 				commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
@@ -2063,34 +2080,19 @@
 		goodsEvaluateDao.save(goodsEvaluate);
 	}
 
+
 	
 	@Override
-	public void addGoodsEvaluate2(String goodsId, List<String> imgs, ActivityUser user, String title, String comment) throws GoodsEvaluateException {
-		if (goodsId == null || user == null || StringUtil.isNullOrEmpty(title)) {
+	public int addGoodsEvaluate(TaoBaoGoodsBrief goodsBrief, List<String> imgs, ActivityUser user, String title,SystemEnum system) throws GoodsEvaluateException {
+		if (goodsBrief == null || user == null || StringUtil.isNullOrEmpty(title)) {
 			throw new GoodsEvaluateException(1, "鐩稿叧鍙傛暟涓嶈兘涓虹┖");
 		}
-
 		Date limitDate = DateUtil.reduceDay(new Date(), 7);
 		
-		List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId, limitDate);
+		Long goodsId = goodsBrief.getAuctionId();
+		List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId + "", limitDate);
 		if (evaluateList != null && evaluateList.size() > 0)
 			throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪");
-
-		TaoBaoGoodsBrief goodsBrief = null;
-		try {
-			goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
-		} catch (TaobaoGoodsDownException e) {
-			throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�");
-		}
-
-		if (goodsBrief == null) {
-			throw new GoodsEvaluateException(1, "鏈壘鍒板晢鍝佷俊鎭�");
-		}
-
-		BigDecimal couponAmount = goodsBrief.getCouponAmount();
-		if (couponAmount == null || couponAmount.compareTo(new BigDecimal(0)) < 1) {
-			throw new GoodsEvaluateException(1, "璇ュ晢鍝佹棤鍒�");
-		}
 
 		if (imgs == null) {
 			imgs = new ArrayList<>();
@@ -2137,27 +2139,33 @@
 			i++;
 		}
 
+		
+		// 鐢熸垚鍙d护
+		String token = null;
+		try {
+			TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1",null);
+			token = taoBaoLink.getTaoToken();
+		} catch (TaoBaoConvertLinkException e) {
+			e.printStackTrace();
+			throw new GoodsEvaluateException(1, "杞摼澶辫触");
+		}
+		 
+		 
+		String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
+		String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
+		if (!goodsVO.isHasCoupon()) {
+			commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+			commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+			commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n",
+					"\r\n");
+		}
 		// 璇勮鍐呭
 		CommentInfo commentInfo = new CommentInfo();
 		commentInfo.setNeedSpin(true);
 		commentInfo.setId(UUID.randomUUID().toString().replace("-", ""));
 		commentInfo.setTypeEnum(CommentInfoEnum.goodsCoupon);
-		if (!StringUtil.isNullOrEmpty(comment)) {
-			commentInfo.setContent(comment);
-			commentInfo.setType("");
-		} else {
-			String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
-			String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
-			String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
-			if (!goodsVO.isHasCoupon()) {
-				commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
-				commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
-				commentText = commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n",
-						"\r\n");
-			}
-			commentInfo.setContent(commentText);
-			commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
-		}
+		commentInfo.setContent(commentText);
+		commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
 
 		List<CommentInfo> commentsNew = new ArrayList<>();
 		commentsNew.add(commentInfo);
@@ -2175,19 +2183,48 @@
 				lineNum = 3;
 			}
 		}
-
+		
+		int result = 0;
+		int zeroPoint = 0;
+		// 鈽呮繁澶滃ぇ绂忓埄锛氬厛鎶㈠埜锛�0鐐瑰噯鏃朵笅鍗曗槄
+		// 鍚繖绉嶆枃鏈殑瀹氫簬姣忔櫄10鐐瑰湪鍔ㄦ��-鍙戝湀 闆嗕腑鍙戯紝姣忔櫄10鐐瑰湪缇ゅ彂鍗曚腑鍙彂涓�鏉°��
+		Date startTime = new Date();
+		if (!StringUtil.isNullOrEmpty(title)) {
+			String value = configService.getValue(ConfigKeyEnum.evaluateZeroKey.getKey(),system);
+			if (!StringUtil.isNullOrEmpty(value)) {
+				List<String> asList = Arrays.asList(value.split(","));
+				if (asList != null && asList.size() > 0) {
+					boolean zero = false;
+					for (String zerokey: asList) {
+						if(title.contains(zerokey)) {
+							zero = true;
+							break;
+						}
+					}
+					
+					if (zero) {
+						result = 1;
+						zeroPoint = 1;
+						startTime = TimeUtil.parseYYYYMMDD_HHMM(TimeUtil.getGernalTime(startTime) + " 22:00");
+					}
+				}
+			}
+		}
+		
+		
 		GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
 		goodsEvaluate.setId(UUID.randomUUID().toString().replace("-", ""));
 		goodsEvaluate.setUser(user);
 		goodsEvaluate.setTitle(getDescNew(title));
 		goodsEvaluate.setState(1);
+		goodsEvaluate.setZeroPoint(zeroPoint);
 		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.setStartTime(startTime);
+		goodsEvaluate.setEndTime(DateUtil.plusDayDate(3, startTime));
 		goodsEvaluate.setPublishTime(new Date());
 		goodsEvaluate.setCreateTime(new Date());
 		goodsEvaluate.setUpdateTime(new Date());
@@ -2196,10 +2233,11 @@
 		goodsEvaluate.setImgList(imgList);
 		goodsEvaluate.setComments(commentsNew);
 		goodsEvaluateDao.save(goodsEvaluate);
+		return result;
 	}
 	
 	@Override
-	public void addGoodsEvaluateByDaTaoKe() {
+	public void addGoodsEvaluateByDaTaoKe(SystemEnum system) {
 		List<Long> listId = null;
 		List<GoodsEvaluate> listExist = goodsEvaluateDao.querySingleExist();
 		if (listExist != null && listExist.size() > 0) {
@@ -2222,7 +2260,7 @@
 		}
 
 		for (int i = 0; i < list.size(); i++) {
-			boolean cerateGoods = addByDaTaoKeGoods(list.get(i));
+			boolean cerateGoods = addByDaTaoKeGoods(list.get(i),system);
 			if (cerateGoods) {
 				break;
 			}
@@ -2231,7 +2269,7 @@
 
 	
 	@Override
-	public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe) {
+	public boolean addByDaTaoKeGoods(DaTaoKeDetailV2 daTaoKe,SystemEnum system) {
 		try {
 			Date limitDate = DateUtil.reduceDay(new Date(), 7);
 			
@@ -2350,7 +2388,7 @@
 
 					String token = shareGoodsService.createTaoBaoToken(Constant.LINK_TOKEN_VERIFY_UID, goodsBrief);
 
-					String template = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey());
+					String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(),system);
 					String commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(token));
 					if (!goodsVO.isHasCoupon()) {
 						commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
@@ -2367,12 +2405,12 @@
 					commentInfo.setType(CommentInfoEnum.goodsCoupon.getDesc());
 
 					String text2 = "";
-					String evaluateEmojis = configService.get(ConfigKeyEnum.evaluateEmojis.getKey());
+					String evaluateEmojis = configService.getValue(ConfigKeyEnum.evaluateEmojis.getKey(),system);
 					if (!StringUtil.isNullOrEmpty(evaluateEmojis)) {
 						text2 = evaluateEmojis + "\n";
 					}
 
-					String evaluateText = configService.get(ConfigKeyEnum.evaluateText.getKey());
+					String evaluateText = configService.getValue(ConfigKeyEnum.evaluateText.getKey(),system);
 					if (!StringUtil.isNullOrEmpty(evaluateText)) {
 						text2 += evaluateText;
 					}
@@ -2617,7 +2655,7 @@
 	}
 
 	@CacheEvict(value = "dynamicCache", allEntries = true)
-	private void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) {
+	public void offlineGoods(List<GoodsEvaluate> list, int goodsType, String goodsId) {
 
 		for (GoodsEvaluate goodsEvaluate : list) {
 			// 鍟嗗搧涓嬫灦

--
Gitblit v1.8.0