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