From 81ed418ee16df24b768a3f78cd22d02f020d6314 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 08 一月 2020 13:58:47 +0800
Subject: [PATCH] 小黄条+ 首页弹框 版本区分
---
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java | 146 ++++++++++++++++++++++++++++++++----------------
1 files changed, 98 insertions(+), 48 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 619f84f..e536806 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,7 +1,9 @@
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;
@@ -9,14 +11,18 @@
import org.springframework.web.bind.annotation.RequestMapping;
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.exception.HelpCenterException;
+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.tag.PageEntity;
+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;
@@ -30,6 +36,14 @@
@Resource
private HelpClassService helpClassService;
+ @Resource
+ private AppVersionService appVersionService;
+
+ @Resource
+ private AdActivityVersionControlService adActivityVersionControlService;
+
+
+
/**
* 鏌ヨ甯姪鍒楄〃
* @param callback
@@ -39,47 +53,66 @@
* @param out
*/
@RequestMapping(value = "query")
- public void query(String callback, Integer pageIndex, Integer pageSize, String key, Long cid,
+ 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)
pageSize = Constant.PAGE_SIZE;
- if (cid != null && cid == 0) {
+ if (cid != null && cid == 0)
cid = null; // 鏌ヨ鍏ㄩ儴
+
+ if (!StringUtil.isNullOrEmpty(key))
+ key = key.trim();
+
+ if (pageId == null)
+ pageId = 0L;
+
+ List<HelpCenter> resultList = new ArrayList<>();
+
+ List<HelpCenter> list = helpCenterService.listValid(pageId, pageSize, key, cid);
+ if (list == null || list.size() == 0) {
+ pageId = 0L;
+ } else {
+ // 娣诲姞鍒楄〃
+ resultList.addAll(list);
+
+ pageId = resultList.get(resultList.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) {
+ resultList.clear();
+ } else {
+ List<Long> sourceIdList = new ArrayList<>();
+ for (HelpCenter 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.helpCenter, versionIdList);
+
+ for (int i = 0; i < resultList.size(); i++) {
+ if (!sets.contains(resultList.get(i).getId())) {
+ resultList.remove(i--);
+ }
+ }
+ }
}
- List<HelpCenter> helpCenterList =
- helpCenterService.queryIdAndTitle((pageIndex - 1) * pageSize, pageSize, key, cid);
-
- if (helpCenterList == null || helpCenterList.size() == 0) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娌℃湁鏇村浜�"));
- return;
- }
-
- long count = helpCenterService.countQuery(key, cid);
-
- 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)));
-
+ data.put("pageId", pageId);
+ data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList));
+ 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();
}
}
-
/**
@@ -92,20 +125,16 @@
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();
@@ -115,11 +144,9 @@
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();
}
}
@@ -131,19 +158,42 @@
* @param out
*/
@RequestMapping(value = "getClass")
- public void getClass(String callback, PrintWriter out) {
-
+ 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) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
- return;
+ 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 < resultList.size(); i++) {
+ if (!sets.contains(resultList.get(i).getId())) {
+ resultList.remove(i--);
+ }
+ }
}
JSONObject data = new JSONObject();
- data.put("class_list", list);
+ 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