From c54fb6a88876be994906d57d2d18e844686964d0 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 01 七月 2020 14:16:13 +0800
Subject: [PATCH] rcoketmq集中管理

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java |  132 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 110 insertions(+), 22 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
index c8fde66..94dac6a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -31,6 +31,7 @@
 import com.yeshi.fanli.dto.vip.VIPSearchResult;
 import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.help.AppPageNotification;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.system.ConfigKeyEnum;
@@ -45,6 +46,7 @@
 import com.yeshi.fanli.service.inter.config.BusinessSystemService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.SuperHotSearchService;
+import com.yeshi.fanli.service.inter.help.AppPageNotificationService;
 import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
 import com.yeshi.fanli.service.inter.lable.TaoKeGoodsService;
 import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
@@ -82,6 +84,7 @@
 import com.yeshi.fanli.vo.common.JumpDetailContentVO;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
 import com.yeshi.fanli.vo.msg.TokenVO;
+import com.yeshi.fanli.vo.recommend.RecommendJumpInfoVO;
 import com.yeshi.fanli.vo.search.GoodsDocParseResultVO;
 
 import net.sf.json.JSONArray;
@@ -150,6 +153,9 @@
 
 	@Resource
 	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
+
+	@Resource
+	private AppPageNotificationService appPageNotificationService;
 
 	/**
 	 * 绮樿创鏉夸俊鎭帹鑽�
@@ -287,6 +293,12 @@
 																orderHongBaoMoneyComputeService.getShowComputeRate(
 																		acceptData.getPlatform(),
 																		acceptData.getVersion()))));
+										// 璺宠浆璇︽儏
+										if (VersionUtil.greaterThan_2_1_3(acceptData.getPlatform(),
+												acceptData.getVersion())) {
+											buildGoodsClick(data, goods, acceptData, gson);
+										}
+
 										out.print(JsonUtil.loadTrueResult(data));
 										return;
 									}
@@ -301,6 +313,12 @@
 															orderHongBaoMoneyComputeService.getShowComputeRate(
 																	acceptData.getPlatform(),
 																	acceptData.getVersion()))));
+									// if
+									// (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(),
+									// acceptData.getVersion())) {
+									// buildGoodsClick(data, goods, acceptData,
+									// gson);
+									// }
 									out.print(JsonUtil.loadTrueResult(data));
 									return;
 								}
@@ -360,6 +378,53 @@
 						out.print(JsonUtil.loadFalseResult(1001, msg));
 					}
 				});
+	}
+
+	private void buildGoodsClick(JSONObject data, CommonGoods goods, AcceptData acceptData, Gson gson) {
+
+		JSONObject params = new JSONObject();
+		params.put("id", goods.getGoodsId() + "");
+		params.put("from", "鐚滀綘鍠滄");
+
+		String type = "";
+		switch (goods.getGoodsType()) {
+		case Constant.SOURCE_TYPE_TAOBAO:
+			type = "goodsdetail";
+			break;
+		case Constant.SOURCE_TYPE_JD:
+			type = "goodsdetail_jd";
+			break;
+		case Constant.SOURCE_TYPE_PDD:
+			type = "goodsdetail_pdd";
+			break;
+		case Constant.SOURCE_TYPE_VIP:
+			type = "goodsdetail_vip";
+			break;
+		case Constant.SOURCE_TYPE_SUNING:
+			type = "goodsdetail_suning";
+			break;
+
+		}
+
+		RecommendJumpInfoVO left = new RecommendJumpInfoVO("鍘荤湅鐪�", jumpDetailV2Service.getByTypeCache(type,
+				Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())), params);
+		data.put("left", gson.toJson(left));
+
+		// 鍘荤綉椤�
+		String rightValue = configService.getByVersion(ConfigKeyEnum.clipboardRecommendGoodsMakeMore.getKey(),
+				acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
+
+		if (StringUtil.isNullOrEmpty(rightValue)) {
+			data.remove("left");
+		} else {
+			params = new JSONObject();
+			params.put("url", rightValue);
+
+			RecommendJumpInfoVO right = new RecommendJumpInfoVO("鏈夋洿楂樿繑鍒╋紵", jumpDetailV2Service.getByTypeCache("web",
+					Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())),
+					params);
+			data.put("right", gson.toJson(right));
+		}
 	}
 
 	/**
@@ -433,7 +498,7 @@
 	 */
 	@RequestMapping(value = "searchGoods")
 	public void searchGoods(AcceptData acceptData, Integer goodsType, String key, Integer page, String filter,
-			Integer order, Long uid, HttpSession session, PrintWriter out) {
+			Integer order, Long uid, String notifyType, HttpSession session, PrintWriter out) {
 
 		if (goodsType == null || goodsType < 1 || goodsType > 5) {
 			out.print(JsonUtil.loadFalseResult(1, "璇蜂紶閫掓纭钩鍙板弬鏁�"));
@@ -492,33 +557,48 @@
 			out.print(JsonUtil.loadTrueResult(data));
 			return;
 		}
+		AppPageNotification ap = null;
+		if (page == 1) {
+			ap = appPageNotificationService.getValidNotificationByTypeCache(notifyType, acceptData.getPlatform(),
+					Integer.parseInt(acceptData.getVersion()));
+			// 娌℃湁閫氱煡
+			if (ap == null || !ap.getShow()) {
+				ap = null;
+			}
+
+			// else {// 鏈夐�氱煡
+			// Gson gson = new
+			// GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
+			// out.print(JsonUtil.loadTrueResult(gson.toJson(ap)));
+			// }
+		}
 
 		/*--------- 浜笢鍟嗗搧  -------*/
 		if (goodsType.intValue() == Constant.SOURCE_TYPE_JD) {
-			searchJDGoods(acceptData, searchkey, page, filter, order, out);
+			searchJDGoods(acceptData, searchkey, page, filter, order, ap, out);
 			return;
 		}
 
 		/*-------- 鎷煎澶氬晢鍝�  -------*/
 		if (goodsType.intValue() == Constant.SOURCE_TYPE_PDD) {
-			searchPDDGoods(acceptData, searchkey, page, filter, order, out);
+			searchPDDGoods(acceptData, searchkey, page, filter, order, ap, out);
 			return;
 		}
 
 		/*-------- 鍞搧浼氬晢鍝� ------*/
 		if (goodsType.intValue() == Constant.SOURCE_TYPE_VIP) {
-			searchVIPGoods(acceptData, searchkey, page, filter, order, out);
+			searchVIPGoods(acceptData, searchkey, page, filter, order, ap, out);
 			return;
 		}
 
 		/*-------- 鑻忓畞鍟嗗搧 ------*/
 		if (goodsType.intValue() == Constant.SOURCE_TYPE_SUNING) {
-			searchSuningGoods(acceptData, searchkey, page, filter, order, out);
+			searchSuningGoods(acceptData, searchkey, page, filter, order, ap, out);
 			return;
 		}
 
 		/*-------- 娣樺疂鍟嗗搧  -------*/
-		searchTaoBaoGoods(acceptData, searchkey, page, filter, order, out);
+		searchTaoBaoGoods(acceptData, searchkey, page, filter, order, ap, out);
 
 	}
 
@@ -534,7 +614,7 @@
 	 * @return
 	 */
 	private void searchTaoBaoGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order,
-			PrintWriter out) {
+			AppPageNotification ap, PrintWriter out) {
 		SearchFilter sf = new SearchFilter();
 		sf.setKey(SearchFilterUtil.filterSearchContent(key));
 		sf.setPage(page);
@@ -664,7 +744,15 @@
 			}
 		}
 
-		out.print(JsonUtil.loadTrueResult(data));
+		out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap)));
+	}
+
+	private JSONObject buildSearchResult(JSONObject data, AppPageNotification ap) {
+		if (ap != null && data != null) {
+			Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
+			data.put("notification", gson.toJson(ap));
+		}
+		return data;
 	}
 
 	/**
@@ -679,7 +767,7 @@
 	 * @return
 	 */
 	private void searchJDGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order,
-			PrintWriter out) {
+			AppPageNotification ap, PrintWriter out) {
 
 		JDSearchResult result = null;
 		boolean hasCoupon = false;
@@ -840,7 +928,7 @@
 
 		data.put("result", array);
 		data.put("count", count);
-		out.print(JsonUtil.loadTrueResult(data));
+		out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap)));
 	}
 
 	/**
@@ -855,7 +943,7 @@
 	 * @return
 	 */
 	private void searchPDDGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order,
-			PrintWriter out) {
+			AppPageNotification ap, PrintWriter out) {
 		PDDSearchFilter pddfilter = new PDDSearchFilter();
 		pddfilter.setKw(SearchFilterUtil.filterSearchContent(key));
 		pddfilter.setPage(page);
@@ -917,7 +1005,7 @@
 
 		data.put("result", array);
 		data.put("count", count);
-		out.print(JsonUtil.loadTrueResult(data));
+		out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap)));
 	}
 
 	/**
@@ -934,7 +1022,7 @@
 	 * @throws
 	 */
 	private void searchVIPGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order,
-			PrintWriter out) {
+			AppPageNotification ap, PrintWriter out) {
 		VIPSearchFilter searchFilter = new VIPSearchFilter();
 		searchFilter.setKeyword(key);
 		searchFilter.setPage(page);
@@ -995,7 +1083,7 @@
 
 		data.put("result", array);
 		data.put("count", count);
-		out.print(JsonUtil.loadTrueResult(data));
+		out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap)));
 	}
 
 	/**
@@ -1012,7 +1100,7 @@
 	 * @throws
 	 */
 	private void searchSuningGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order,
-			PrintWriter out) {
+			AppPageNotification ap, PrintWriter out) {
 		SuningQueryModel searchFilter = new SuningQueryModel();
 		searchFilter.setKeyword(key);
 		searchFilter.setPageIndex(page);
@@ -1075,15 +1163,15 @@
 		List<SuningGoodsInfo> list = SuningApiUtil.searchGoodsOld(searchFilter);
 		if (list != null && list.size() > 0) {
 			List<String> listId = new ArrayList<>();
-			for (SuningGoodsInfo goodsInfo:  list) {
-				 SuningCommodityInfo info = goodsInfo.getCommodityInfo();
-				 if (info != null) {
-					 listId.add(info.getCommodityCode() + "-" + info.getSupplierCode());
-				 }
+			for (SuningGoodsInfo goodsInfo : list) {
+				SuningCommodityInfo info = goodsInfo.getCommodityInfo();
+				if (info != null) {
+					listId.add(info.getCommodityCode() + "-" + info.getSupplierCode());
+				}
 			}
 			resultList = SuningApiUtil.getGoodsDetailList(listId);
 		}
-		
+
 		if (resultList != null) {
 			Gson gson = JsonUtil.getApiCommonGson();
 			if (resultList != null && resultList.size() > 0) {
@@ -1099,7 +1187,7 @@
 
 		data.put("result", array);
 		data.put("count", 1000);
-		out.print(JsonUtil.loadTrueResult(data));
+		out.print(JsonUtil.loadTrueResult(buildSearchResult(data, ap)));
 	}
 
 }

--
Gitblit v1.8.0