From 027162f8ee2386f7658f5cb374923daae363c5fc Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 18 五月 2020 11:19:06 +0800
Subject: [PATCH] 替换淘宝官方活动
---
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5HelpCenterController.java | 203 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 141 insertions(+), 62 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 3b87bb2..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
@@ -35,88 +50,152 @@
* @param key
* @param out
*/
- @RequestNoSignValidate()
@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
* @param id
* @param out
*/
- @RequestNoSignValidate()
@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