From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 09 五月 2020 21:41:27 +0800
Subject: [PATCH] 2.1需求

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java |  131 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 112 insertions(+), 19 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 93c7820..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,7 @@
 
 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;
@@ -29,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;
@@ -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.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;
@@ -74,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;
@@ -138,6 +142,11 @@
 
 	@Resource
 	private DailyCountMomentsService dailyCountMomentsService;
+	
+	@Resource
+	private SpecialExtraService specialExtraService;
+	
+	
 
 	@Resource(name = "taskExecutor")
 	private TaskExecutor executor;
@@ -366,29 +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) {
-					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,
@@ -398,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));
 	}
 
@@ -1041,5 +1069,70 @@
 			}
 		});
 	}
+	
+	/**
+	 * 璇勮澶嶅埗-涓撻
+	 * 
+	 * @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