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/admin/homemodule/FloatADAdminController.java | 124 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 115 insertions(+), 9 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/FloatADAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/FloatADAdminController.java index bf5f7fd..488c0a0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/FloatADAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/FloatADAdminController.java @@ -3,6 +3,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; +import java.util.Set; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -15,14 +16,19 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; +import com.yeshi.fanli.entity.AppVersionInfo; +import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl; +import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType; import com.yeshi.fanli.entity.bus.homemodule.FloatAD; import com.yeshi.fanli.exception.homemodule.FloatADException; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; +import com.yeshi.fanli.service.inter.config.AppVersionService; +import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService; import com.yeshi.fanli.service.inter.homemodule.FloatADService; import com.yeshi.fanli.tag.PageEntity; -import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import net.sf.json.JSONArray; import net.sf.json.JSONObject; @Controller @@ -34,6 +40,14 @@ @Resource private JumpDetailV2Service jumpDetailV2Service; + + @Resource + private AppVersionService appVersionService; + + @Resource + private AdActivityVersionControlService adActivityVersionControlService; + + /** * 淇濆瓨淇℃伅 @@ -52,7 +66,6 @@ }else{ floatADervice.saveObject(null, floatAD, jumpType); } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); } catch (FloatADException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); @@ -83,6 +96,27 @@ e.printStackTrace(); } } + + + /** + * 淇敼鐘舵�� + * @param callback + * @param id + * @param out + */ + @RequestMapping(value = "switchState") + public void switchState(String callback, Long id, PrintWriter out) { + try { + floatADervice.switchState(id); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + } catch (FloatADException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + e.printStackTrace(); + } + } + /** @@ -130,15 +164,13 @@ */ @RequestMapping(value = "query") public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, - PrintWriter out) { + String version, String platform, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; } - if (pageSize == null || pageSize < 1) { - pageSize = Constant.PAGE_SIZE; - } + pageSize =Integer.MAX_VALUE; try { List<FloatAD> list = floatADervice.listQuery((pageIndex - 1) * pageSize, pageSize, key, state); @@ -146,8 +178,46 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; } - long count = floatADervice.countQuery(key, state); + + List<AppVersionInfo> versionList = null; + if (!StringUtil.isNullOrEmpty(version) || !StringUtil.isNullOrEmpty(platform)) { + versionList = new ArrayList<>(); + if (!StringUtil.isNullOrEmpty(version)) { + AppVersionInfo appVersion = appVersionService.selectByPrimaryKey(Long.parseLong(version)); + if (appVersion != null) + versionList.add(appVersion); + } else { + List<AppVersionInfo> appVersionList = appVersionService.getAppVersionInfoListByPlatform(platform); + if (appVersionList != null) { + versionList.addAll(appVersionList); + } + } + } + + // 杩囨护 + if (versionList != null) { + if (versionList.size() > 0) { + List<Long> sourceIdList = new ArrayList<>(); + for (FloatAD floatAD : list) { + sourceIdList.add(floatAD.getId()); + } + List<Long> versionIdList = new ArrayList<>(); + for (AppVersionInfo versionInfo : versionList) + versionIdList.add(versionInfo.getId()); + Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList, + AdActivityType.floatAD, versionIdList); + for (int i = 0; i < list.size(); i++) { + if (!sets.contains(list.get(i).getId())) { + list.remove(i--); + } + } + count = list.size(); + } else { + list.clear(); + count = 0; + } + } int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); @@ -159,12 +229,48 @@ JSONObject data = new JSONObject(); data.put("pe", pe); data.put("result_list", gson.toJson(list)); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); e.printStackTrace(); } } + + + /** + * 璁剧疆鐗堟湰 + * + * @param callback + * @param id + * @param moveType + * @param sex + * @param out + */ + @RequestMapping(value = "setVersions") + public void setVersions(String callback, Long id, String versions, PrintWriter out) { + JSONArray versionArray = JSONArray.fromObject(versions); + List<Long> versionIds = new ArrayList<>(); + for (int i = 0; i < versionArray.size(); i++) { + Long version = versionArray.optLong(i); + versionIds.add(version); + } + try { + floatADervice.setVersions(id, versionIds); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMessage())); + } + } + + @RequestMapping(value = "getVersions") + public void getVersions(String callback, Long id, PrintWriter out) { + List<AdActivityVersionControl> list = adActivityVersionControlService + .listByTypeAndSourceId(AdActivityType.floatAD, id); + + List<Long> versionList = new ArrayList<>(); + if (list != null) + for (AdActivityVersionControl control : list) + versionList.add(control.getVersion().getId()); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(versionList)); + } } -- Gitblit v1.8.0