From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 18 一月 2020 12:06:27 +0800
Subject: [PATCH] 用户注册信息

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java |  851 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 715 insertions(+), 136 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 0416a67..5e88a37 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
@@ -2,6 +2,7 @@
 
 import java.io.PrintWriter;
 import java.lang.reflect.Type;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
@@ -12,7 +13,9 @@
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.yeshi.utils.HttpUtil;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.entity.FileUploadResult;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
@@ -20,18 +23,49 @@
 import com.google.gson.JsonPrimitive;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import com.yeshi.fanli.dto.jd.JDCouponInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.activity.ActivityUser;
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.bus.homemodule.Special;
 import com.yeshi.fanli.entity.bus.homemodule.SpecialLabel;
+import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.common.JumpDetailV2;
+import com.yeshi.fanli.entity.dynamic.CommentInfo;
+import com.yeshi.fanli.entity.dynamic.CommentInfo.CommentInfoEnum;
 import com.yeshi.fanli.entity.dynamic.DynamicInfo;
+import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
+import com.yeshi.fanli.entity.dynamic.GoodsPicture;
+import com.yeshi.fanli.entity.dynamic.ImgInfo;
+import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum;
+import com.yeshi.fanli.entity.dynamic.SimpleGoods;
+import com.yeshi.fanli.entity.jd.JDGoods;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
 import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+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.TaoBaoGoodsBriefService;
 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;
+import com.yeshi.fanli.service.inter.user.QrCodeService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.VersionUtil;
+import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
+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.vo.dynamic.ArticleVO;
+import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
 
 import net.sf.json.JSONObject;
@@ -60,130 +94,31 @@
 
 	@Resource
 	private SpecialService specialService;
-	
-	
 
-	/**
-	 * 鍔ㄦ�佸晢鍝佸垪琛�
-	 * @param acceptData
-	 * @param page
-	 * @param cid
-	 * @param subId
-	 * @param out
-	 */
-	@RequestMapping(value = "getList", method = RequestMethod.POST)
-	public void getList(AcceptData acceptData, Integer page, Long cid, Long subId, PrintWriter out) {
-		if (cid == null) {
-			out.print(JsonUtil.loadFalseResult("涓诲垎绫籭d涓嶈兘涓虹┖"));
-			return;
-		}
+	@Resource
+	private ArticleOfficialService articleOfficialService;
 
-		if (cid != null && cid == 5) {
-			// 娲诲姩涓婚
-			getSpecialList(acceptData, page, subId, out);
-			return;
-		}
-		
-		
-		long count = 0;
-		
-		int platform = 1;
-		if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
-			platform = 2;
-		}
-		
-		int version = Integer.parseInt(acceptData.getVersion());
-		List<DynamicInfo> list = dynamicInfoService.queryV2(platform, version, (page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, cid,
-				subId);
-		if (list == null) {
-			list = new ArrayList<DynamicInfo>();
-		} else {
-			count = dynamicInfoService.count(cid, subId);
-		}
+	@Resource
+	private SwiperPictureService swiperPictureService;
 
-		JSONObject data = new JSONObject();
-		data.put("count", count);
-		data.put("list", getGson().toJson(list));
-		out.print(JsonUtil.loadTrueResult(data));
-	}
-	
-	
-	/**
-	 *  娲诲姩鍒楄〃
-	 * @param acceptData
-	 * @param out
-	 */
-	private void getSpecialList(AcceptData acceptData, Integer page, Long subId, PrintWriter out) {
-		if (subId == null) {
-			out.print(JsonUtil.loadFalseResult("鍒嗙被id涓嶈兘涓虹┖"));
-			return;
-		}
-		
-		// 骞冲彴鍖哄垎
-		int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
-		List<String> listKey = new ArrayList<String>();
-		
-		if (subId == 1) { // 娣樺疂
-			listKey.add("special_channel_tb");
-		} else if (subId == 2) { // 浜笢
-			listKey.add("special_channel_jd");
-		} else if (subId == 3) { // 鎷煎澶�
-			listKey.add("special_channel_pdd");
-		} else { // 鍏ㄩ儴
-			listKey.add("special_channel_tb");
-			listKey.add("special_channel_jd");
-			listKey.add("special_channel_pdd");
-		}
-		
-		List<Special> list = specialService.listByPlaceKeyHasLabel((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, listKey, platformCode,
-				Integer.parseInt(acceptData.getVersion()));
-		
-		long time = System.currentTimeMillis();
-		
-		// 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑
-		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);
-				}
-			}
-		}
-		
-		long count = specialService.countByPlaceKeyList( listKey, platformCode,	Integer.parseInt(acceptData.getVersion()));
+	@Resource
+	private ConfigService configService;
 
-		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
-		Gson gson = gsonBuilder.create();
-		JSONObject data = new JSONObject();
-		data.put("count", count);
-		data.put("list", gson.toJson(list));
-		out.print(JsonUtil.loadTrueResult(data));
-	}
+	@Resource
+	private GoodsEvaluateService goodsEvaluateService;
 
-	
-	
-	
+	@Resource
+	private UserInfoService userInfoService;
+
+	@Resource
+	private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+	@Resource
+	private JDGoodsCacheUtil jdGoodsCacheUtil;
+
+	@Resource
+	private QrCodeService qrCodeService;
+
 	/**
 	 * 鏌ヨ椤堕儴鍒嗙被
 	 * 
@@ -228,19 +163,19 @@
 		List<GoodsClass> listSub = new ArrayList<GoodsClass>();
 		listSub.add(new GoodsClass(0L, "浠婃棩鍗曞搧"));
 		listSub.addAll(DaTaoKeUtil.goodsClasses);
-		
+
 		GoodsClass menu1 = new GoodsClass(1L, "鐑攢");
 		menu1.setListSub(listSub);
-		
+
 		GoodsClass menu2 = new GoodsClass(2L, "鎺ㄨ崘");
 		menu2.setListSub(new ArrayList<GoodsClass>());
-		
+
 		GoodsClass menu3 = new GoodsClass(3L, "濂藉簵");
 		menu3.setListSub(new ArrayList<GoodsClass>());
-		
+
 		GoodsClass menu4 = new GoodsClass(4L, "閭�璇�");
 		menu4.setListSub(new ArrayList<GoodsClass>());
-		
+
 		GoodsClass menu5 = new GoodsClass(5L, "娲诲姩");
 		List<GoodsClass> sub5 = new ArrayList<GoodsClass>();
 		sub5.add(new GoodsClass(0L, "鍏ㄩ儴"));
@@ -248,24 +183,157 @@
 		sub5.add(new GoodsClass(2L, "浜笢"));
 		sub5.add(new GoodsClass(3L, "鎷煎澶�"));
 		menu5.setListSub(sub5);
-		
+
+		GoodsClass menu6 = new GoodsClass(6L, "瀛﹂櫌");
+		menu6.setListSub(new ArrayList<GoodsClass>());
+
 		List<GoodsClass> list = new ArrayList<GoodsClass>();
 		list.add(menu1);
 		list.add(menu5);
 		list.add(menu2);
-		list.add(menu3);
+
+		// 2.0.5鐗堟湰闅愯棌 濂藉簵鏍忕洰
+		if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
+			list.add(menu3);
+		}
+
+		// 2.0.6鐗堟湰澧炲姞 瀛﹂櫌鏍忕洰
+		if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) {
+			// list.add(menu6);
+		}
 		list.add(menu4);
-		
+
 		JSONObject data = new JSONObject();
 		data.put("list", JsonUtil.getApiCommonGson().toJson(list));
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
+	/**
+	 * 鍔ㄦ�佸晢鍝佸垪琛�
+	 * 
+	 * @param acceptData
+	 * @param page
+	 * @param cid
+	 * @param subId
+	 * @param out
+	 */
+	@RequestMapping(value = "getList", method = RequestMethod.POST)
+	public void getList(AcceptData acceptData, Integer page, Long cid, Long subId, PrintWriter out) {
+		if (cid == null) {
+			out.print(JsonUtil.loadFalseResult("涓诲垎绫籭d涓嶈兘涓虹┖"));
+			return;
+		}
 
+		if (cid != null) {
+			if (cid == 5) { // 娲诲姩涓婚
+				getSpecialList(acceptData, page, subId, out);
+				return;
+			} else if (cid == 6) { // 瀛﹂櫌
+				getArticleList(acceptData, page, null, false, out);
+				return;
+			}
+		}
 
-	
+		long count = 0;
+
+		int platform = 1;
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+			platform = 2;
+		}
+
+		int version = Integer.parseInt(acceptData.getVersion());
+		List<DynamicInfo> list = dynamicInfoService.queryV2(platform, version, (page - 1) * Constant.PAGE_SIZE,
+				Constant.PAGE_SIZE, cid, subId);
+		if (list == null) {
+			list = new ArrayList<DynamicInfo>();
+		} else {
+			count = dynamicInfoService.count(cid, subId);
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("count", count);
+		data.put("list", getGson().toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 娲诲姩鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	private void getSpecialList(AcceptData acceptData, Integer page, Long subId, PrintWriter out) {
+		if (subId == null) {
+			out.print(JsonUtil.loadFalseResult("鍒嗙被id涓嶈兘涓虹┖"));
+			return;
+		}
+
+		// 骞冲彴鍖哄垎
+		int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
+		List<String> listKey = new ArrayList<String>();
+
+		if (subId == 1) { // 娣樺疂
+			listKey.add("special_channel_tb");
+		} else if (subId == 2) { // 浜笢
+			listKey.add("special_channel_jd");
+		} else if (subId == 3) { // 鎷煎澶�
+			listKey.add("special_channel_pdd");
+		} else { // 鍏ㄩ儴
+			listKey.add("special_channel_tb");
+			listKey.add("special_channel_jd");
+			listKey.add("special_channel_pdd");
+		}
+
+		List<Special> list = specialService.listByPlaceKeyHasLabel((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE,
+				listKey, platformCode, Integer.parseInt(acceptData.getVersion()));
+
+		long time = System.currentTimeMillis();
+
+		// 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑
+		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);
+				}
+			}
+		}
+
+		long count = specialService.countByPlaceKeyList(listKey, platformCode,
+				Integer.parseInt(acceptData.getVersion()));
+
+		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+		Gson gson = gsonBuilder.create();
+		JSONObject data = new JSONObject();
+		data.put("count", count);
+		data.put("list", gson.toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
 	/**
 	 * 鏃堕棿澶勭悊
+	 * 
 	 * @return
 	 */
 	private Gson getGson() {
@@ -277,18 +345,18 @@
 				String desc = "";
 				if (value != null) {
 					// 鍒ゆ柇鏄惁鏄悓涓�澶�
-					
+
 					Calendar calendar = Calendar.getInstance();
 					calendar.setTime(value);
-					int y1 = calendar.get(Calendar.YEAR);//鑾峰彇骞翠唤
-					int d1 = calendar.get(Calendar.DAY_OF_YEAR);//鑾峰彇骞翠腑绗嚑澶�
+					int y1 = calendar.get(Calendar.YEAR);// 鑾峰彇骞翠唤
+					int d1 = calendar.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶�
 
 					Date nowDate = new Date();
 					Calendar calendar2 = Calendar.getInstance();
 					calendar2.setTime(nowDate);
-					int y2 = calendar2.get(Calendar.YEAR);//鑾峰彇骞翠唤
-					int d2 = calendar2.get(Calendar.DAY_OF_YEAR);//鑾峰彇骞翠腑绗嚑澶�
-					
+					int y2 = calendar2.get(Calendar.YEAR);// 鑾峰彇骞翠唤
+					int d2 = calendar2.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶�
+
 					long old = value.getTime();
 					long now = nowDate.getTime();
 					if (y1 == y2) {
@@ -296,9 +364,9 @@
 							long cha = now - old;
 							if (cha < 1000 * 60 * 2L) {
 								desc = "鍒氬垰";
-							}else if (cha < 1000 * 60 * 60L) {
+							} else if (cha < 1000 * 60 * 60L) {
 								desc = (cha / (1000 * 60)) + "鍒嗛挓鍓�";
-							}else {
+							} else {
 								desc = (cha / (1000 * 60 * 60)) + "灏忔椂鍓�";
 							}
 						} else if (d2 - d1 == 1) {
@@ -328,4 +396,515 @@
 		Gson gson = gb.create();
 		return gson;
 	}
+
+	/**
+	 * 娲诲姩鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	private void getArticleList(AcceptData acceptData, Integer page, String key, boolean search, PrintWriter out) {
+		List<ArticleVO> list = articleOfficialService.queryValid((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE,
+				key);
+		if (list != null) {
+			for (ArticleVO article : list) {
+				String tags = article.getTags();
+				if (StringUtil.isNullOrEmpty(tags)) {
+					continue;
+				}
+
+				String[] arrayTags = tags.split("\\s+");
+				if (arrayTags == null || arrayTags.length == 0) {
+					continue;
+				}
+
+				String[] arrayTagsColour = null;
+				String tagsColour = article.getTagsColour();
+				if (!StringUtil.isNullOrEmpty(tagsColour)) {
+					arrayTagsColour = tagsColour.split("\\s+");
+				}
+
+				String color = "#FE0014";
+				List<ClientTextStyleVO> labels = new ArrayList<ClientTextStyleVO>();
+				for (int i = 0; i < arrayTags.length; i++) {
+					String tag = arrayTags[i];
+					if (arrayTagsColour != null && arrayTagsColour.length == arrayTags.length) {
+						color = arrayTagsColour[i];
+					}
+					ClientTextStyleVO styleVO = new ClientTextStyleVO();
+					styleVO.setColor(color);
+					styleVO.setContent(tag);
+					labels.add(styleVO);
+				}
+				article.setLabels(labels);
+			}
+		}
+
+		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+		Gson gson = gsonBuilder.create();
+
+		JSONObject data = new JSONObject();
+		if (page == 1 && !search) {
+			List<SwiperPicture> banners = swiperPictureService.getByBannerCardAndVersion("article_banners",
+					acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+			if (banners == null)
+				banners = new ArrayList<>();
+			data.put("banners", gson.toJson(banners));
+
+			List<Special> listSpecial = specialService.listByVersion(0, Integer.MAX_VALUE, "article_specials",
+					acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+			if (listSpecial == null)
+				listSpecial = new ArrayList<>();
+
+			for (Special special : listSpecial) {
+				boolean needLogin = special.isJumpLogin();
+				JumpDetailV2 jumpDetail = special.getJumpDetail();
+				if (jumpDetail != null) {
+					jumpDetail.setNeedLogin(needLogin);
+					special.setJumpDetail(jumpDetail);
+				}
+			}
+			data.put("specials", gson.toJson(listSpecial));
+		}
+		data.put("count", articleOfficialService.countValid(key));
+		data.put("list", gson.toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 鏂囩珷鎼滅储
+	 * 
+	 * @param acceptData
+	 * @param page
+	 * @param key
+	 * @param out
+	 */
+	@RequestMapping(value = "readArticle", method = RequestMethod.POST)
+	public void readArticle(AcceptData acceptData, String id, PrintWriter out) {
+		if (StringUtil.isNullOrEmpty(id)) {
+			out.print(JsonUtil.loadFalseResult("id涓嶈兘涓虹┖"));
+			return;
+		}
+		articleOfficialService.updateReadNum(id);
+		out.print(JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛"));
+	}
+
+	/**
+	 * 鏂囩珷鎼滅储
+	 * 
+	 * @param acceptData
+	 * @param page
+	 * @param key
+	 * @param out
+	 */
+	@RequestMapping(value = "searchArticle", method = RequestMethod.POST)
+	public void searchArticle(AcceptData acceptData, Integer page, String key, PrintWriter out) {
+		getArticleList(acceptData, page, key, true, out);
+	}
+
+	/**
+	 * 鏂囩珷鎼滅储
+	 * 
+	 * @param acceptData
+	 * @param page
+	 * @param key
+	 * @param out
+	 */
+	@RequestMapping(value = "getArticleHot", method = RequestMethod.POST)
+	public void getArticleHot(AcceptData acceptData, PrintWriter out) {
+		JSONObject data = new JSONObject();
+		data.put("words", configService.get(ConfigKeyEnum.articleHotWords.getKey()));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 鍙戝湀鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param page
+	 * @param out
+	 */
+	@RequestMapping(value = "evaluate", method = RequestMethod.POST)
+	public void evaluate(AcceptData acceptData, Integer page, PrintWriter out) {
+		long cid = 1;
+		long subId = 1;
+		List<DynamicInfo> listd = dynamicInfoService.queryV2(2, 74, (page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE,
+				cid, subId);
+		if (listd == null) {
+			listd = new ArrayList<DynamicInfo>();
+		}
+
+		List<GoodsEvaluate> list = new ArrayList<>();
+
+		for (DynamicInfo info : listd) {
+			GoodsEvaluate goodsEvaluate = new GoodsEvaluate();
+			goodsEvaluate.setId(info.getId());
+			ActivityUser user = info.getUser();
+			user.setTag("鐑х儰杈句汉");
+			goodsEvaluate.setUser(user);
+			goodsEvaluate.setTitle(info.getTitle().get(0).getContent());
+			goodsEvaluate.setShareNum(info.getShareCount());
+			goodsEvaluate.setPublishTime(info.getCreateTime());
+			goodsEvaluate.setLineNum(2);
+			List<GoodsPicture> imgs = info.getImgs();
+
+			List<ImgInfo> imgList = new ArrayList<>();
+			int i = 0;
+			for (GoodsPicture goodsPicture : imgs) {
+				ImgInfo imgInfo = new ImgInfo();
+				GoodsDetailVO goodsVO = goodsPicture.getGoodsVO();
+				imgInfo.setH(100);
+				imgInfo.setW(100);
+				if (goodsVO != null) {
+					imgInfo.setType(ImgEnum.goods);
+
+					SimpleGoods simpleGoods = new SimpleGoods();
+					simpleGoods.setPrice(goodsVO.getZkPrice());
+					simpleGoods.setAmount(new BigDecimal(115));
+					simpleGoods.setGoodsId(goodsVO.getGoodsId());
+					simpleGoods.setGoodsType(1);
+					simpleGoods.setState(1);
+					imgInfo.setGoods(simpleGoods);
+
+					goodsEvaluate.setGoods(goodsVO);
+				} else {
+					imgInfo.setType(ImgEnum.img);
+				}
+
+				imgInfo.setLarge(false);
+				imgInfo.setUrl(goodsPicture.getUrl());
+			    imgInfo.setUrlHD(goodsPicture.getUrl());
+
+//				if (i == 0) {
+//					imgInfo.setUrl(goodsPicture.getUrl());
+//					imgInfo.setType(ImgEnum.video);
+//					imgInfo.setLarge(true);
+//					imgInfo.setVideoUrl(
+//							"http://pgcvideo.cdn.xiaodutv.com/754825344_367171606_2020010816001720200108174342.mp4?Cache-Control=max-age%3D8640000&responseExpires=Fri%2C+17+Apr+2020+18%3A11%3A55+GMT&xcode=0b0f3962eddaf66837d4af61a22c57bae3a5055540c75232&time=1579077845&_=1578992502888");
+//				} else {
+//					imgInfo.setType(ImgEnum.img);
+//					imgInfo.setLarge(true);
+//					imgInfo.setUrl(goodsPicture.getUrl());
+//				}
+//				i++;
+
+				imgList.add(imgInfo);
+			}
+
+			goodsEvaluate.setImgList(imgList);
+
+			CommentInfo commentInfo = new CommentInfo();
+			commentInfo.setId(info.getId() + "09");
+			commentInfo.setContent("馃槅7.9鍏凁焿�1鍙効绔ョ墮鍒�!!瀹夊Ξ璐濇媺鍗¢�氱増鍎跨鐗欌瓡PBT鏉愯川锛屾瘺鍒风粏鑵绘煍猸曞瑙傚崱閫氫汉鐗╅�犲瀷璁捐");
+			commentInfo.setType(CommentInfoEnum.goodsCoupon);
+
+//			ClientTextStyleVO text1 = new ClientTextStyleVO();
+//			text1.setContent("鐚秴");
+//			text1.setColor("#1D9B31");
+//			
+//			ClientTextStyleVO text2 = new ClientTextStyleVO();
+//			text2.setContent("婊�150鍑�15");
+//			text2.setColor("#E5005C");
+//			List<ClientTextStyleVO> tagList = new ArrayList<>();  
+//			tagList.add(text1);
+//			tagList.add(text2);
+//			commentInfo.setTagList(tagList);
+//			commentInfo.setTagDesc("闄ょ敓椴滃強閮ㄥ垎閰掓按闄ょ敓椴滃強闄ょ敓椴滃強");
+
+			CommentInfo commentInfo2 = new CommentInfo();
+			commentInfo2.setContent("馃槅7.9鍏凁焿�1鍙効绔ョ墮鍒�!!瀹夊Ξ璐濇媺鍗¢�氱増鍎跨鐗欌瓡PBT鏉愯川锛屾瘺鍒风粏鑵绘煍猸曞瑙傚崱閫氫汉鐗╅�犲瀷璁捐");
+			commentInfo2.setType(CommentInfoEnum.goodsCoupon);
+
+			ClientTextStyleVO text1 = new ClientTextStyleVO();
+			text1.setContent("鐚秴");
+			text1.setColor("#1D9B31");
+
+			ClientTextStyleVO text2 = new ClientTextStyleVO();
+			text2.setContent("婊�150鍑�15");
+			text2.setColor("#E5005C");
+			List<ClientTextStyleVO> tagList = new ArrayList<>();
+			tagList.add(text1);
+			tagList.add(text2);
+			commentInfo2.setTagList(tagList);
+			commentInfo2.setTagDesc("闄ょ敓椴滃強閮ㄥ垎閰掓按闄ょ敓椴滃強闄ょ敓椴滃強");
+			commentInfo.setTagUrl("http://www.baidu.com");
+
+			List<CommentInfo> commentList = new ArrayList<>();
+			commentList.add(commentInfo);
+			commentList.add(commentInfo2);
+
+			goodsEvaluate.setComments(commentList);
+			list.add(goodsEvaluate);
+		}
+
+//		List<GoodsEvaluate> list = goodsEvaluateService.queryValidEvaluateCache((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE);
+//		if (list == null) {
+//			list = new ArrayList<>();
+//		}
+
+		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+		gsonBuilder.registerTypeAdapter(CommentInfoEnum.class, new JsonSerializer<CommentInfoEnum>() {
+			@Override
+			public JsonElement serialize(CommentInfoEnum value, Type theType, JsonSerializationContext context) {
+				if (value == null) {
+					return new JsonPrimitive(1);
+				} else {
+					return new JsonPrimitive(value.getDesc());
+				}
+			}
+		}).registerTypeAdapter(ImgEnum.class, new JsonSerializer<ImgEnum>() {
+			@Override
+			public JsonElement serialize(ImgEnum value, Type theType, JsonSerializationContext context) {
+				if (value == null) {
+					return new JsonPrimitive("");
+				} else {
+					return new JsonPrimitive(value.getVlaue());
+				}
+			}
+		}).registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+			@Override
+			public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+				String desc = "";
+				if (value != null) {
+					// 鍒ゆ柇鏄惁鏄悓涓�澶�
+
+					Calendar calendar = Calendar.getInstance();
+					calendar.setTime(value);
+					int y1 = calendar.get(Calendar.YEAR);// 鑾峰彇骞翠唤
+					int d1 = calendar.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶�
+
+					Date nowDate = new Date();
+					Calendar calendar2 = Calendar.getInstance();
+					calendar2.setTime(nowDate);
+					int y2 = calendar2.get(Calendar.YEAR);// 鑾峰彇骞翠唤
+					int d2 = calendar2.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶�
+
+					long old = value.getTime();
+					long now = nowDate.getTime();
+					if (y1 == y2) {
+						if (d1 == d2) {
+							long cha = now - old;
+							if (cha < 1000 * 60 * 2L) {
+								desc = "鍒氬垰";
+							} else if (cha < 1000 * 60 * 60L) {
+								desc = (cha / (1000 * 60)) + "鍒嗛挓鍓�";
+							} else {
+								desc = (cha / (1000 * 60 * 60)) + "灏忔椂鍓�";
+							}
+						} else if (d2 - d1 == 1) {
+							desc = "鏄ㄥぉ";
+						} else {
+							desc = (d2 - d1) + "澶╁墠";
+						}
+					} else {
+						int timeDistance = 0;
+						for (int i = y1; i < y2; i++) {
+							if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
+								timeDistance += 366; // 闂板勾
+							} else {
+								timeDistance += 365; // 涓嶆槸闂板勾
+							}
+						}
+						desc = timeDistance + (d2 - d1) + "澶╁墠";
+					}
+
+					return new JsonPrimitive(desc);
+				}
+
+				return new JsonPrimitive("");
+			}
+		});
+		Gson gson = gsonBuilder.create();
+		long count = dynamicInfoService.count(cid, subId); // goodsEvaluateService.countValid()
+
+		JSONObject data = new JSONObject();
+		data.put("count", count);
+		data.put("list", gson.toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	@RequestMapping(value = "evaluateShare", method = RequestMethod.POST)
+	public void evaluateShare(AcceptData acceptData, Long uid, String id, Integer type, Long goodsId, Integer goodsType, PrintWriter out) {
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+		
+		if (StringUtil.isNullOrEmpty(id) || type == null) {
+			out.print(JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉鑳戒负绌�"));
+			return;
+		}
+		
+		if (type == 1 && (goodsId == null || goodsType == null)) {
+			out.print(JsonUtil.loadFalseResult("鍟嗗搧鍙傛暟涓嶈兘涓虹┖"));
+			return;
+		}
+
+		DynamicInfo dynamicInfo = dynamicInfoService.getById(id);
+		if (dynamicInfo == null) {
+			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;
+		}
+
+		List<GoodsPicture> imgs = dynamicInfo.getImgs();
+		if (imgs == null) {
+			out.print(JsonUtil.loadFalseResult("璇ュ浘鐗囧唴瀹瑰凡涓嶅瓨鍦�"));
+			return;
+		}
+		
+		int total = 0;
+		for (GoodsPicture goodsPicture : imgs) {
+			GoodsDetailVO goodsVO = goodsPicture.getGoodsVO();
+			if (goodsVO != null) {
+				total ++;
+			}
+		}
+
+		List<String> list = new ArrayList<>();
+		for (GoodsPicture goodsPicture : imgs) {
+			GoodsDetailVO goodsVO = goodsPicture.getGoodsVO();
+			if (goodsVO == null && total <= 1) {
+				list.add(goodsPicture.getUrl());
+				continue;
+			}
+			
+			if (type == 1) {
+				if (goodsVO.getGoodsId().longValue() == goodsId.longValue() && goodsVO.getGoodsType() == goodsType.intValue()) {
+					String jumpLink = getJumpLink(goodsVO, user);
+					if (!StringUtil.isNullOrEmpty(jumpLink)) {
+						list.add(jumpLink);
+					}
+				}
+			} else {
+				String jumpLink = getJumpLink(goodsVO, user);
+				if (!StringUtil.isNullOrEmpty(jumpLink)) {
+					list.add(jumpLink);
+				}
+			}
+		}
+
+		Integer shareCount = dynamicInfo.getShareCount();
+		if (shareCount == null) {
+			shareCount = 0;
+		}
+
+		if (type == 3) {
+			shareCount++;
+			dynamicInfoService.updateShareCount(dynamicInfo);
+		}
+
+		if (list.size() == 0) {
+			out.print(JsonUtil.loadFalseResult("璇ヤ俊鎭凡涓嬫灦"));
+			return;
+		}
+		
+		JSONObject data = new JSONObject();
+		data.put("count", shareCount);
+		data.put("list", list);
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user) {
+		String jumpLink = null;
+		if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
+			String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
+					Constant.systemCommonConfig.getShareGoodsPagePath(),
+					AESUtil.encrypt(user.getId() + "", Constant.UIDAESKEY), goodsVO.getGoodsId() + "");
+			String shortLink = HttpUtil.getShortLink(url);
+			if (!StringUtil.isNullOrEmpty(shortLink)) {
+				url = shortLink;
+			}
+		} else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
+			JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId());
+			if (jdGoods == null ) {
+				return null;
+			}
+			
+			String couponUrl = null;
+			JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
+			if (couponInfo != null) {
+				couponUrl = couponInfo.getLink();
+			}
+			String materialId = "https://item.jd.com/" + goodsVO.getGoodsId() + ".html";
+			jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
+					user.getId() + "");
+		} else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
+			jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsVO.getGoodsId(), PinDuoDuoApiUtil.PID_SHARE + "", user.getId() + "");
+		}
+		FileUploadResult uploadResult = qrCodeService.drawGoodsPoster(jumpLink, user.getPortrait(), goodsVO);
+		if (uploadResult != null) {
+			return uploadResult.getUrl();
+		}
+		return null;
+	}
+	
+	
+	/**
+	 *  璇勮澶嶅埗
+	 * @param acceptData
+	 * @param id
+	 * @param cid 璇勮id
+	 * @param out
+	 */
+	@RequestMapping(value = "evaluateComment", method = RequestMethod.POST)
+	public void evaluateComment(AcceptData acceptData, Long uid, String id, String cid, PrintWriter out) {
+		if (StringUtil.isNullOrEmpty(id)) {
+			out.print(JsonUtil.loadFalseResult("id涓嶈兘涓虹┖"));
+			return;
+		}
+		
+		DynamicInfo dynamicInfo = dynamicInfoService.getById(id);
+		if (dynamicInfo == null) {
+			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;
+		}
+		
+		JSONObject data = new JSONObject();
+		data.put("text", "瀹夊Ξ璐濇媺鍗¢�氱増鍎挎媺鍗¢�氱増鎷夊崱閫氱増鎷夊崱閫氱増鎷夊崱閫氱増鎷夊崱閫氱増鎷夊崱閫氱増鎷夊崱閫氱増");
+		out.print(JsonUtil.loadTrueResult(data));
+	}
 }

--
Gitblit v1.8.0