From 2ec42a5aacea35d2918f0e17f07685cf5b4d25c8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 12 五月 2020 20:20:41 +0800
Subject: [PATCH] 包名引用路径更改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java |  214 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 173 insertions(+), 41 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
index 7a5328e..97e7398 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
@@ -12,6 +12,8 @@
 
 import javax.annotation.Resource;
 
+import org.apache.commons.beanutils.PropertyUtils;
+import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -28,6 +30,7 @@
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.bus.homemodule.Special;
+import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra;
 import com.yeshi.fanli.entity.bus.homemodule.SpecialLabel;
 import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
 import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
@@ -41,18 +44,19 @@
 import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum;
 import com.yeshi.fanli.entity.jd.JDGoods;
 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.exception.goods.ConvertLinkExceptionException;
 import com.yeshi.fanli.exception.share.ShareGoodsException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
 import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.count.DailyCountMomentsService;
 import com.yeshi.fanli.service.inter.dynamic.ArticleOfficialService;
 import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
 import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
 import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
 import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
+import com.yeshi.fanli.service.inter.homemodule.SpecialExtraService;
 import com.yeshi.fanli.service.inter.homemodule.SpecialService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
@@ -62,6 +66,7 @@
 import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
 import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
@@ -72,6 +77,7 @@
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.vo.dynamic.ArticleVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
+import com.yeshi.fanli.vo.homemodule.SpecialVO;
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
 
 import net.sf.json.JSONArray;
@@ -133,6 +139,17 @@
 
 	@Resource
 	private ShareGoodsService shareGoodsService;
+
+	@Resource
+	private DailyCountMomentsService dailyCountMomentsService;
+	
+	@Resource
+	private SpecialExtraService specialExtraService;
+	
+	
+
+	@Resource(name = "taskExecutor")
+	private TaskExecutor executor;
 
 	private final static long TYPE_REXIAO = 1;// 鐑攢
 	private final static long TYPE_TUIJIAN = 2;// 鎺ㄨ崘
@@ -358,34 +375,48 @@
 		long time = System.currentTimeMillis();
 
 		// 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑
+		List<SpecialVO> listVo = new ArrayList<SpecialVO>();
 		for (int i = 0; i < list.size(); i++) {
 			Special special = list.get(i);
 			if (special.getState() == 1L) {
-				list.remove(i--);
-			} else {
-				if (special.getStartTime() != null && special.getEndTime() != null)
-					special.setTimeTask(true);
-				else
-					special.setTimeTask(false);
-
-				if (special.isTimeTask()) {
-					if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
-						list.remove(i--);
-					} else// 璁剧疆鍊掕鏃�
-					{
-						special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
-					}
-				}
-
-				List<SpecialLabel> listLabels = special.getListLabels();
-				if (listLabels != null && !listLabels.isEmpty()) {
-					List<ClientTextStyleVO> labels = new ArrayList<>();
-					for (SpecialLabel specialLabel : listLabels) {
-						labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor()));
-					}
-					special.setLabels(labels);
+				continue;
+			}
+			
+			// 鏄惁娲诲姩宸茶繃鏈�
+			if (special.getStartTime() != null && special.getEndTime() != null) {
+				if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
+					continue;
+				} else {
+					special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
 				}
 			}
+			
+			SpecialVO specialVO = new SpecialVO();
+			try {
+				PropertyUtils.copyProperties(specialVO, special);
+			} catch (Exception e) {
+				e.printStackTrace();
+				continue;
+			}
+			
+			// 璁剧疆鏍囩
+			List<SpecialLabel> listLabels = specialVO.getListLabels();
+			if (listLabels != null && !listLabels.isEmpty()) {
+				List<ClientTextStyleVO> labels = new ArrayList<>();
+				for (SpecialLabel specialLabel : listLabels) {
+					labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor()));
+				}
+				specialVO.setLabels(labels);
+			}
+			
+			// 璇勮淇℃伅
+			if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
+				SpecialExtra extra = specialExtraService.selectByPrimaryKey(specialVO.getId());
+				if (extra != null && !StringUtil.isNullOrEmpty(extra.getComment())) {
+					specialVO.setComment(extra.getComment());
+				}
+			}
+			listVo.add(specialVO);
 		}
 
 		long count = specialService.countByPlaceKeyList(listKey, platformCode,
@@ -395,7 +426,7 @@
 		Gson gson = gsonBuilder.create();
 		JSONObject data = new JSONObject();
 		data.put("count", count);
-		data.put("list", gson.toJson(list));
+		data.put("list", gson.toJson(listVo));
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
@@ -628,8 +659,7 @@
 						return new JsonPrimitive("");
 					} else {
 						// 淇濈暀2浣嶅皬鏁�
-						value = value.setScale(2);
-						return new JsonPrimitive(value.toString());
+						return new JsonPrimitive(MoneyBigDecimalUtil.getWithNoZera(value) + "");
 					}
 				}
 			}).registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
@@ -821,7 +851,7 @@
 							continue;
 						}
 
-						String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode);
+						String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl());
 						if (!StringUtil.isNullOrEmpty(jumpLink)) {
 							list.add(jumpLink);
 						}
@@ -833,7 +863,8 @@
 							if (imgInfo.getGoodsVO() != null)
 								if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue()
 										&& imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) {
-									String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode);
+									String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode,
+											imgInfo.getUrl());
 									if (!StringUtil.isNullOrEmpty(jumpLink)) {
 										list.add(jumpLink);
 									}
@@ -843,7 +874,8 @@
 					} else if (type == 2 || type == 3) {
 						for (ImgInfo imgInfo : imgs) {
 							if (imgInfo.getGoodsVO() != null) {
-								String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode);
+								String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode,
+										imgInfo.getUrl());
 								if (!StringUtil.isNullOrEmpty(jumpLink)) {
 									list.add(jumpLink);
 								}
@@ -861,6 +893,8 @@
 						else if (imgInfo.getType() == ImgEnum.activity)
 							if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) {
 								list.add(imgInfo.getActivityPic());
+							} else if (!StringUtil.isNullOrEmpty(imgInfo.getUrl())) {
+								list.add(imgInfo.getUrl());
 							}
 					}
 				}
@@ -874,6 +908,13 @@
 			if (type == 3) {
 				shareCount++;
 				goodsEvaluateService.addShareNum(id);
+
+				executor.execute(new Runnable() {
+					@Override
+					public void run() { // 娣诲姞姣忔棩缁熻
+						dailyCountMomentsService.addShareClick();
+					}
+				});
 			}
 
 			if (list.size() == 0) {
@@ -891,7 +932,8 @@
 		}
 	}
 
-	private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode) {
+	private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode,
+			String mainPic) {
 		String jumpLink = null;
 		if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
 			TaoBaoLink taoBaoLink = null;
@@ -901,7 +943,7 @@
 				e.printStackTrace();
 			}
 			jumpLink = ShareControllerV2.getERCodeContentNew(
-					configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()), taoBaoLink.getGoods(),
+					configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), taoBaoLink.getGoods(),
 					TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 		} else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
 			JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId());
@@ -923,7 +965,7 @@
 		}
 
 		FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode,
-				goodsVO);
+				mainPic, goodsVO);
 		if (uploadResult != null) {
 			return uploadResult.getUrl();
 		}
@@ -975,32 +1017,122 @@
 		}
 
 		String text = "";
+		CommentInfo comment = null;
 		List<CommentInfo> comments = goodsEvaluate.getComments();
 		if (comments != null) {
 			for (CommentInfo commentInfo : comments) {
 				if (cid.equals(commentInfo.getId())) {
 					text = commentInfo.getContent();
+					comment = commentInfo;
+					break;
 				}
 			}
 		}
 
-		String newText = text;
-		try {
-			newText = convertLinkManager.convertLinkFromText(text, uid, true);
-		} catch (ConvertLinkExceptionException e) {
-			if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+		String newText = text; // 闈為�氱敤鍒搁渶瑕侀獙璇�
+		if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) {
+			try {
+				newText = convertLinkManager.convertLinkFromText(text, uid, true);
+			} catch (ConvertLinkExceptionException e) {
+				if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+					out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+					return;
+				}
+			} catch (Exception e) {
+				LogHelper.errorDetailInfo(e);
 				out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
 				return;
 			}
-		} catch (Exception e) {
-			e.printStackTrace();
-			out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+		}
+
+		// 鏇挎崲浠锋牸
+		if (goodsEvaluate.getType() == EvaluateEnum.single) {
+			GoodsDetailVO goods = goodsEvaluate.getGoods();
+			newText = newText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goods.getZkPrice()) + "");
+			if (!goods.isHasCoupon()) {
+				newText = newText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘");
+				newText = newText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", "");
+			} else {
+				newText = newText.replace("[鍒稿悗浠穄", MoneyBigDecimalUtil.getWithNoZera(goods.getCouponPrice()) + "");
+			}
+			newText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n");
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("text", newText);
+		out.print(JsonUtil.loadTrueResult(data));
+
+		executor.execute(new Runnable() {
+			@Override
+			public void run() { // 娣诲姞姣忔棩缁熻
+				dailyCountMomentsService.addCopyComment();
+			}
+		});
+	}
+	
+	/**
+	 * 璇勮澶嶅埗-涓撻
+	 * 
+	 * @param acceptData
+	 * @param id
+	 * @param out
+	 */
+	@RequestMapping(value = "copySpecialComment", method = RequestMethod.POST)
+	public void copySpecialComment(AcceptData acceptData, Long uid, Long id, PrintWriter out) {
+		if (uid == null || id == null) {
+			out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
 			return;
+		}
+
+		SpecialExtra extra = specialExtraService.selectByPrimaryKey(id);
+		if (extra == null ||  StringUtil.isNullOrEmpty(extra.getComment())) {
+			out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�"));
+			return;
+		}
+
+		UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+		if (user == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+			out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+			return;
+		}
+
+		UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
+		String relationId = null;
+		if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null
+				&& taoBaoInfo.getRelationValid() == true)
+			relationId = taoBaoInfo.getRelationId();
+
+		if (StringUtil.isNullOrEmpty(relationId)) {
+			out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿"));
+			return;
+		}
+
+		String text = extra.getComment();
+		String newText = text; 
+		if (extra.getNeedSpin() != null && extra.getNeedSpin()) {
+			try {
+				newText = convertLinkManager.convertLinkFromText(text, uid, true);
+			} catch (ConvertLinkExceptionException e) {
+				if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
+					out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+					return;
+				}
+			} catch (Exception e) {
+				LogHelper.errorDetailInfo(e);
+				out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
+				return;
+			}
 		}
 
 		JSONObject data = new JSONObject();
 		data.put("text", newText);
 		out.print(JsonUtil.loadTrueResult(data));
 	}
+	
 
 }

--
Gitblit v1.8.0