From ca1ad791b7b7b04e57db6bd4fb93f0c1066a9f99 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 24 九月 2020 18:31:23 +0800 Subject: [PATCH] 淘口令格式兼容 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/AppPageNotificationAdminController.java | 158 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 124 insertions(+), 34 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/AppPageNotificationAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/AppPageNotificationAdminController.java index ca8d88b..e0fd1d0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/AppPageNotificationAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/AppPageNotificationAdminController.java @@ -5,9 +5,11 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Set; import javax.annotation.Resource; +import com.yeshi.fanli.entity.accept.AdminAcceptData; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.yeshi.utils.JsonUtil; @@ -15,13 +17,18 @@ 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.help.AppPageNotification; import com.yeshi.fanli.entity.bus.help.AppPageNotification.AppPageNotificationTypeEnum; +import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl; +import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType; +import com.yeshi.fanli.service.inter.config.AppVersionService; import com.yeshi.fanli.service.inter.help.AppPageNotificationService; -import com.yeshi.fanli.tag.PageEntity; -import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService; +import com.yeshi.common.entity.PageEntity; import com.yeshi.fanli.util.StringUtil; +import net.sf.json.JSONArray; import net.sf.json.JSONObject; @Controller @@ -31,6 +38,12 @@ @Resource private AppPageNotificationService appPageNotificationService; + @Resource + private AppVersionService appVersionService; + + @Resource + private AdActivityVersionControlService adActivityVersionControlService; + /** * 鏂板 @@ -39,7 +52,7 @@ * @param out */ // @RequestMapping(value = "saveAdd") - public void saveAdd(String callback, AppPageNotification appPageNotification, PrintWriter out) { + public void saveAdd(AdminAcceptData acceptData, String callback, AppPageNotification appPageNotification, PrintWriter out) { try { String content = appPageNotification.getContent(); if (StringUtil.isNullOrEmpty(content) ) { @@ -49,7 +62,7 @@ AppPageNotificationTypeEnum type = appPageNotification.getType(); if (type != null) { - AppPageNotification old = appPageNotificationService.getAppPageNotificationByType(type.name()); + AppPageNotification old = appPageNotificationService.getAppPageNotificationByType(type.name(),acceptData.getSystem()); if (old != null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("宸插瓨鍦ㄦ绫诲瀷")); return; @@ -79,6 +92,10 @@ return; } + if (!canClose && StringUtil.isNullOrEmpty(contentUrl)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璺宠浆閾炬帴涓嶈兘涓虹┖")); + return; + } SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); @@ -94,6 +111,7 @@ appPageNotification.setCreateTime(new Date()); appPageNotification.setUpdateTime(new Date()); + appPageNotification.setSystem(acceptData.getSystem()); appPageNotificationService.insertSelective(appPageNotification); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("娣诲姞鎴愬姛")); @@ -111,15 +129,14 @@ * @param out */ @RequestMapping(value = "saveModify") - public void saveModify(String callback, AppPageNotification appPageNotification, PrintWriter out) { + public void saveModify(AdminAcceptData acceptData,String callback, AppPageNotification appPageNotification, PrintWriter out) { try { - AppPageNotificationTypeEnum type = appPageNotification.getType(); - if (type == null) { + if (appPageNotification.getId() == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); return; } - AppPageNotification old = appPageNotificationService.getAppPageNotificationByType(type.name()); + AppPageNotification old = appPageNotificationService.selectByPrimaryKey(appPageNotification.getId()); if (old == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔瀵硅薄宸蹭笉瀛樺湪")); return; @@ -148,6 +165,11 @@ return; } + if (!canClose && StringUtil.isNullOrEmpty(appPageNotification.getContentUrl())) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璺宠浆閾炬帴涓嶈兘涓虹┖")); + return; + } + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String beginTimeVO = appPageNotification.getBeginTimeVO(); @@ -160,7 +182,7 @@ appPageNotification.setEndTime(format.parse(endTimeVO.replaceAll("T", " "))); } - appPageNotification.setMd5(StringUtil.Md5(type.name() + "#" + content + "#" + appPageNotification.getContentUrl())); + appPageNotification.setMd5(StringUtil.Md5(appPageNotification.getType() + "#" + content + "#" + appPageNotification.getContentUrl())); appPageNotification.setUpdateTime(new Date()); appPageNotification.setId(old.getId()); @@ -188,20 +210,18 @@ * @param out */ @RequestMapping(value = "query") - public void query(String callback, Integer pageIndex, Integer pageSize, String key, - Integer show, Integer canClose, PrintWriter out) { + public void query(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, + Integer show, Integer canClose,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<AppPageNotification> list = appPageNotificationService.listQuery((pageIndex - 1) * pageSize, - pageSize, key, show, canClose); + pageSize, key, show, canClose,acceptData.getSystem()); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); @@ -212,7 +232,6 @@ for (AppPageNotification notification: list) { AppPageNotificationTypeEnum type = notification.getType(); notification.setPageName(type.getDesc()); - Date startTime = notification.getBeginTime(); if (startTime == null) { @@ -229,8 +248,46 @@ } } + long count = appPageNotificationService.countQuery(key, show, canClose,acceptData.getSystem()); - long count = appPageNotificationService.countQuery(key, show, canClose); + 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,acceptData.getSystem()); + if (appVersionList != null) { + versionList.addAll(appVersionList); + } + } + } + + // 杩囨护 + if (versionList != null) { + if (versionList.size() > 0) { + List<Long> sourceIdList = new ArrayList<>(); + for (AppPageNotification 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.notification, 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); @@ -259,15 +316,15 @@ * @param id * @param out */ - @RequestMapping(value = "updateCanCloseState") - public void updateCanCloseState(String callback, String type, PrintWriter out) { + @RequestMapping(value = "switchShutOff") + public void switchShutOff(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) { try { - if (type == null) { + if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); return; } - AppPageNotification resultObj = appPageNotificationService.getAppPageNotificationByType(type); + AppPageNotification resultObj = appPageNotificationService.selectByPrimaryKey(id); if (resultObj == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); return; @@ -285,6 +342,11 @@ return; } + if (!canClose && StringUtil.isNullOrEmpty(resultObj.getContentUrl())) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璺宠浆閾炬帴涓嶈兘涓虹┖")); + return; + } + AppPageNotification newOBj = new AppPageNotification(); newOBj.setId(resultObj.getId()); newOBj.setCanClose(canClose); @@ -293,7 +355,6 @@ JSONObject data = new JSONObject(); data.put("state", newOBj.getCanClose()); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); e.printStackTrace(); @@ -306,16 +367,15 @@ * @param id * @param out */ - @RequestMapping(value = "updateShowState") - public void updateShowState(String callback, String type, PrintWriter out) { + @RequestMapping(value = "switchState") + public void switchState(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) { try { - - if (type == null) { + if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); return; } - AppPageNotification resultObj = appPageNotificationService.getAppPageNotificationByType(type); + AppPageNotification resultObj = appPageNotificationService.selectByPrimaryKey(id); if (resultObj == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); return; @@ -332,11 +392,7 @@ newOBj.setId(resultObj.getId()); newOBj.setShow(show); appPageNotificationService.updateByPrimaryKeySelective(newOBj); - - JSONObject data = new JSONObject(); - data.put("state", newOBj.getShow()); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); e.printStackTrace(); @@ -350,8 +406,7 @@ * @param out */ //@RequestMapping(value = "delete") - public void delete(String callback, String idArray, PrintWriter out) { - + public void delete(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) { try { if (StringUtil.isNullOrEmpty(idArray)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); @@ -376,4 +431,39 @@ } } + /** + * 璁剧疆鐗堟湰 + * @param callback + * @param id + * @param versions + * @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 { + appPageNotificationService.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.notification, 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