From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 19 五月 2020 17:13:23 +0800
Subject: [PATCH] 饿了么绘图,添加口碑

---
 fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java |  201 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 141 insertions(+), 60 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java
index c0476e2..60a1ef3 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java
@@ -1,23 +1,30 @@
 package com.yeshi.fanli.controller.apph5;
 
 import java.io.PrintWriter;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 import javax.annotation.Resource;
 
-import net.sf.json.JSONObject;
-
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-
-import com.yeshi.fanli.entity.bus.help.HelpCenter;
-import com.yeshi.fanli.entity.bus.help.HelpInfo;
-import com.yeshi.fanli.exception.HelpCenterException;
-import com.yeshi.fanli.service.inter.help.HelpCenterService;
-import com.yeshi.fanli.tag.PageEntity;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.annotation.RequestNoSignValidate;
 import org.yeshi.utils.JsonUtil;
+
+import com.yeshi.fanli.entity.AppVersionInfo;
+import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.help.HelpCenter;
+import com.yeshi.fanli.entity.bus.help.HelpClass;
+import com.yeshi.fanli.entity.bus.help.HelpInfo;
+import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType;
+import com.yeshi.fanli.service.inter.config.AppVersionService;
+import com.yeshi.fanli.service.inter.help.HelpCenterService;
+import com.yeshi.fanli.service.inter.help.HelpClassService;
+import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+
+import net.sf.json.JSONObject;
 
 @Controller
 @RequestMapping("api/apph5/v1/helpCenter")
@@ -25,8 +32,16 @@
 
 	@Resource
 	private HelpCenterService helpCenterService;
-	
-	
+
+	@Resource
+	private HelpClassService helpClassService;
+
+	@Resource
+	private AppVersionService appVersionService;
+
+	@Resource
+	private AdActivityVersionControlService adActivityVersionControlService;
+
 	/**
 	 * 鏌ヨ甯姪鍒楄〃
 	 * @param callback
@@ -36,45 +51,68 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "query")
-	public void query(String callback, Integer pageIndex, Integer pageSize,	String key, 
+	public void query(String callback, AcceptData acceptData, Long pageId, Integer pageSize, String key, Long cid,
 			PrintWriter out) {
-		
 		try {
-			
-			if (pageIndex == null) 
-				pageIndex = 1;
-			
-			if (pageSize == null) 
+			if (pageSize == null)
 				pageSize = Constant.PAGE_SIZE;
-			
-			List<HelpCenter> helpCenterList = 
-					helpCenterService.queryIdAndTitle((pageIndex - 1) * pageSize, pageSize, key);
-			
-			if (helpCenterList == null || helpCenterList.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�"));
-				return;
-			} 
-			
-			long count = helpCenterService.countQuery(key);
-				
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count	/ pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-			
-			
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", helpCenterList);
-			
-			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
 
+			if (cid != null && cid == 0)
+				cid = null; // 鏌ヨ鍏ㄩ儴
+
+			if (!StringUtil.isNullOrEmpty(key))
+				key = key.trim();
+
+			if (pageId == null)
+				pageId = 0L;
+
+			List<HelpCenter> list1 = helpCenterService.listValid(pageId, pageSize, key, cid);
+			List<HelpCenter> list = new ArrayList<>();
+			if (list1 != null && list1.size() > 0)
+				list.addAll(list1);
+
+			if (list.size() == 0) {
+
+				pageId = 0L;
+			} else {
+
+				pageId = list.get(list.size() - 1).getId();
+
+				// 鐗堟湰杩囨护
+				int version = Integer.parseInt(acceptData.getVersion());
+				String platform = acceptData.getPlatform().toLowerCase();
+				List<AppVersionInfo> versionList = appVersionService.listByPlatformAndMinVersionCode(platform, version);
+				if (versionList == null || versionList.size() <= 0) {
+					list.clear();
+				} else {
+					List<Long> sourceIdList = new ArrayList<>();
+					for (HelpCenter record : list) {
+						sourceIdList.add(record.getId());
+					}
+					List<Long> versionIdList = new ArrayList<>();
+					for (AppVersionInfo versionInfo : versionList)
+						versionIdList.add(versionInfo.getId());
+					Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList,
+							AdActivityType.helpCenter, versionIdList);
+
+					for (int i = 0; i < list.size(); i++) {
+						if (!sets.contains(list.get(i).getId())) {
+							list.remove(i--);
+						}
+					}
+				}
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("pageId", pageId);
+			data.put("result_list", JsonUtil.getApiCommonGson().toJson(list));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
 		} catch (Exception e) {
-			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鏆傛湭鏁版嵁")));
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
 			e.printStackTrace();
 		}
 	}
-	
-	
-	
+
 	/**
 	 * 鑾峰彇甯姪璇︽儏
 	 * @param callback
@@ -82,39 +120,82 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "getInfo")
-	public void getInfo(String callback, Long id, PrintWriter out){
+	public void getInfo(String callback, Long id, PrintWriter out) {
 		try {
 			if (id == null) {
-				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("璇ュ唴瀹逛笉瀛樺湪")));
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹逛笉瀛樺湪"));
 				return;
 			}
-			
 			HelpCenter crrent = helpCenterService.selectByPrimaryKeyCache(id);
-			
 			if (crrent == null) {
-				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")));
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�"));
 				return;
 			}
-			
+
 			String html = null;
-			
-			
 			HelpInfo helpInfo = helpCenterService.getHelpInfoCache(id);
 			if (helpInfo != null) {
 				html = helpInfo.getHtml();
 			}
-			
+
 			JSONObject data = new JSONObject();
-			data.put("id",crrent.getId());
-			data.put("title",crrent.getTitle());
+			data.put("id", crrent.getId());
+			data.put("title", crrent.getTitle());
 			data.put("html", html);
-			
-			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-			
-		} catch (HelpCenterException e) {
-			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鏈幏鍙栧埌鍐呭")));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏁版嵁澶辫触"));
 			e.printStackTrace();
 		}
 	}
-	
+
+	/**
+	 * 鏌ヨ鍚敤鐨勫垎绫�
+	 * @param callback
+	 * @param out
+	 */
+	@RequestMapping(value = "getClass")
+	public void getClass(String callback, AcceptData acceptData, PrintWriter out) {
+		try {
+			List<HelpClass> resultList = new ArrayList<>();
+
+			List<HelpClass> list = helpClassService.getClassByState(1);
+			if (list != null && list.size() > 0) {
+				resultList.addAll(list);
+			}
+
+			// 鐗堟湰杩囨护
+			int version = Integer.parseInt(acceptData.getVersion());
+			String platform = acceptData.getPlatform().toLowerCase();
+			List<AppVersionInfo> versionList = appVersionService.listByPlatformAndMinVersionCode(platform, version);
+			if (versionList == null || versionList.size() <= 0) {
+				resultList.clear();
+			} else {
+				List<Long> sourceIdList = new ArrayList<>();
+				for (HelpClass record : resultList) {
+					sourceIdList.add(record.getId());
+				}
+				List<Long> versionIdList = new ArrayList<>();
+				for (AppVersionInfo versionInfo : versionList)
+					versionIdList.add(versionInfo.getId());
+				Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList,
+						AdActivityType.helpClass, versionIdList);
+
+				for (int i = 0; i < list.size(); i++) {
+					if (!sets.contains(list.get(i).getId())) {
+						list.remove(i--);
+
+					}
+				}
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("class_list", JsonUtil.getApiCommonGson().toJson(resultList));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
 }

--
Gitblit v1.8.0