From b416c2ffd263ca9d191fc1109bd72d10f8c5176d Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期三, 04 三月 2020 14:19:11 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java |  317 +++++++++++++++++++++++++++++-----------------------
 1 files changed, 179 insertions(+), 138 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 a4a67f0..50f0893 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
@@ -14,7 +14,6 @@
 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;
 
@@ -34,7 +33,6 @@
 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.GoodsEvaluate.EvaluateEnum;
@@ -42,11 +40,16 @@
 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.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.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.SpecialService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
@@ -56,7 +59,6 @@
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
 import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
-import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.VersionUtil;
@@ -65,10 +67,12 @@
 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.util.taobao.TaoBaoUtil;
 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.JSONArray;
 import net.sf.json.JSONObject;
 
 /**
@@ -121,7 +125,7 @@
 
 	@Resource
 	private QrCodeService qrCodeService;
-	
+
 	@Resource
 	private ConvertLinkManager convertLinkManager;
 
@@ -238,7 +242,7 @@
 			// 2.0.7杩斿洖鍙戝湀+娲诲姩+瀛﹂櫌+绱犳潗
 			list.add(map.get(TYPE_FAQUAN));
 			list.add(map.get(TYPE_HUODONG));
-			// list.add(map.get(TYPE_XUEYUAN));
+//			list.add(map.get(TYPE_XUEYUAN));
 			list.add(map.get(TYPE_SUCAI));
 
 		} else if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) {
@@ -588,97 +592,117 @@
 	 */
 	@RequestMapping(value = "getDynamicList", method = RequestMethod.POST)
 	public void getDynamicListNew(AcceptData acceptData, Integer page, Long cid, String subId, PrintWriter out) {
-		int type = 1;
-		if (cid == TYPE_FAQUAN){
-			type = 1;
-		} else if (cid == TYPE_SUCAI) {
-			type = 2;
-		}
 
-		List<GoodsEvaluate> list = goodsEvaluateService.queryMaterialsCache((page - 1) * Constant.PAGE_SIZE,
-				Constant.PAGE_SIZE, type);
-		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());
-				}
+		try {
+			int type = 1;
+			if (cid == TYPE_FAQUAN){
+				type = 1;
+			} else if (cid == TYPE_SUCAI) {
+				type = 2;
 			}
-		}).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());
-				}
+
+			List<GoodsEvaluate> list = goodsEvaluateService.queryMaterialsCache((page - 1) * Constant.PAGE_SIZE,
+					Constant.PAGE_SIZE, type);
+			if (list == null) {
+				list = new ArrayList<>();
 			}
-		}).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) + "澶╁墠";
-						}
+			
+			GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+			gsonBuilder.registerTypeAdapter(ImgEnum.class, new JsonSerializer<ImgEnum>() {
+				@Override
+				public JsonElement serialize(ImgEnum value, Type theType, JsonSerializationContext context) {
+					if (value == null) {
+						return new JsonPrimitive("");
 					} else {
-						int timeDistance = 0;
-						for (int i = y1; i < y2; i++) {
-							if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
-								timeDistance += 366; // 闂板勾
+						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 {
-								timeDistance += 365; // 涓嶆槸闂板勾
+								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) + "澶╁墠";
 						}
-						desc = timeDistance + (d2 - d1) + "澶╁墠";
+
+						return new JsonPrimitive(desc);
 					}
 
-					return new JsonPrimitive(desc);
+					return new JsonPrimitive("");
 				}
-
-				return new JsonPrimitive("");
+			});
+			Gson gson = gsonBuilder.create();
+			long count = goodsEvaluateService.countValidMaterials(type);
+			
+			JSONArray jsonArray = new JSONArray();
+			
+			String listStr = gson.toJson(list);
+			JSONArray array = JSONArray.fromObject(listStr);
+			for (int i = 0; i< array.size() ; i++) {
+				Object object = array.get(i);
+				JSONObject json = JSONObject.fromObject(object);
+				Object shareNum = json.get("shareNum");
+				if (shareNum != null) {
+					int num = Integer.parseInt(shareNum.toString());
+					if (num >= 10000) {
+						double sales = num;
+						String salesCountMidea = String.format("%.1f", sales / 10000);
+						json.put("shareNum", salesCountMidea + "涓�");
+					} 
+				}
+				jsonArray.add(json);
 			}
-		});
-		Gson gson = gsonBuilder.create();
-		long count = goodsEvaluateService.countValidMaterials(type);
-
-		JSONObject data = new JSONObject();
-		data.put("count", count);
-		data.put("list", gson.toJson(list));
-		out.print(JsonUtil.loadTrueResult(data));
+			
+			
+			JSONObject data = new JSONObject();
+			data.put("count", count);
+			data.put("list", jsonArray);
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			e.printStackTrace();
+			out.print(JsonUtil.loadFalseResult(1, "鏌ヨ淇℃伅澶辫触"));
+			LogHelper.errorDetailInfo(e);
+		}
+		
 	}
 
 	/**
@@ -751,46 +775,8 @@
 		}
 
 		List<String> list = new ArrayList<>();
-		// 鍗曞搧
-		if (goodsEvaluate.getType() == EvaluateEnum.single) {
-			for (ImgInfo imgInfo : imgs) {
-				GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
-				if (goodsVO == null) {
-					list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD());
-					continue;
-				}
-
-				String jumpLink = getJumpLink(goodsVO, user, inviteCode);
-				if (!StringUtil.isNullOrEmpty(jumpLink)) {
-					list.add(jumpLink);
-				}
-			}
-
-		} else if (goodsEvaluate.getType() == EvaluateEnum.multiple) {
-			if (type == 1) {
-				for (ImgInfo imgInfo : imgs) {
-					if (imgInfo.getGoodsVO() != null)
-						if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue()
-								&& imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) {
-							String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, inviteCode);
-							if (!StringUtil.isNullOrEmpty(jumpLink)) {
-								list.add(jumpLink);
-							}
-							break;
-						}
-				}
-			} else if (type == 2 || type == 3) {
-				for (ImgInfo imgInfo : imgs) {
-					if (imgInfo.getGoodsVO() != null) {
-						String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, inviteCode);
-						if (!StringUtil.isNullOrEmpty(jumpLink)) {
-							list.add(jumpLink);
-						}
-					}
-				}
-			}
-
-		} else if (goodsEvaluate.getType() == EvaluateEnum.activity) {
+		Integer dynamicType = goodsEvaluate.getDynamicType();
+		if (dynamicType == null || dynamicType.intValue() == 2) {
 			for (ImgInfo imgInfo : imgs) {
 				if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video)
 					continue;
@@ -800,6 +786,58 @@
 					if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) {
 						list.add(imgInfo.getActivityPic());
 					}
+			}
+		} else {
+			// 鍗曞搧
+			if (goodsEvaluate.getType() == EvaluateEnum.single) {
+				for (ImgInfo imgInfo : imgs) {
+					GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
+					if (goodsVO == null) {
+						list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD());
+						continue;
+					}
+
+					String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode);
+					if (!StringUtil.isNullOrEmpty(jumpLink)) {
+						list.add(jumpLink);
+					}
+				}
+
+			} else if (goodsEvaluate.getType() == EvaluateEnum.multiple) {
+				if (type == 1) {
+					for (ImgInfo imgInfo : imgs) {
+						if (imgInfo.getGoodsVO() != null)
+							if (imgInfo.getGoodsVO().getGoodsId().longValue() == goodsId.longValue()
+									&& imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) {
+								String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode);
+								if (!StringUtil.isNullOrEmpty(jumpLink)) {
+									list.add(jumpLink);
+								}
+								break;
+							}
+					}
+				} else if (type == 2 || type == 3) {
+					for (ImgInfo imgInfo : imgs) {
+						if (imgInfo.getGoodsVO() != null) {
+							String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode);
+							if (!StringUtil.isNullOrEmpty(jumpLink)) {
+								list.add(jumpLink);
+							}
+						}
+					}
+				}
+
+			} else if (goodsEvaluate.getType() == EvaluateEnum.activity) {
+				for (ImgInfo imgInfo : imgs) {
+					if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video)
+						continue;
+					if (imgInfo.getType() == ImgEnum.img)
+						list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD());
+					else if (imgInfo.getType() == ImgEnum.activity)
+						if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) {
+							list.add(imgInfo.getActivityPic());
+						}
+				}
 			}
 		}
 
@@ -824,17 +862,20 @@
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
-	private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String inviteCode) {
+	@Resource
+	private ShareGoodsService shareGoodsService;
+
+	private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode) {
 		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;
+			TaoBaoLink taoBaoLink = null;
+			try {
+				taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(user.getId(), goodsVO.getGoodsId(), relationId);
+			} catch (ShareGoodsException e) {
+				e.printStackTrace();
 			}
-			jumpLink = url;
+			jumpLink = ShareControllerV2.getERCodeContentNew(configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()),
+					taoBaoLink.getGoods(), TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
 		} else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
 			JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId());
 			if (jdGoods == null) {
@@ -862,6 +903,7 @@
 		return null;
 	}
 
+	
 	/**
 	 * 璇勮澶嶅埗
 	 * 
@@ -915,12 +957,12 @@
 				}
 			}
 		}
-		
+
 		try {
-			text=convertLinkManager.convertLinkFromText(text, uid, true);
+			text = convertLinkManager.convertLinkFromText(text, uid, true);
 		} catch (Exception e) {
 			e.printStackTrace();
-			out.print(JsonUtil.loadFalseResult("杞摼澶辫触"));
+			out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触"));
 			return;
 		}
 
@@ -928,6 +970,5 @@
 		data.put("text", text);
 		out.print(JsonUtil.loadTrueResult(data));
 	}
-	
-}
 
+}

--
Gitblit v1.8.0