From eeff9ac909b7e81171d027470acef684d3fa0306 Mon Sep 17 00:00:00 2001 From: tianwenbo Date: Fri, 3 Mar 2023 17:01:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91=20SysAnnouncement?= =?UTF-8?q?Controller.java=20=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysAnnouncementController.java | 119 +++++++++--------- 1 file changed, 63 insertions(+), 56 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementController.java index d860cbd6..b189a9c2 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementController.java @@ -1,34 +1,30 @@ package com.jero.modules.system.controller; -import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.jero.common.system.api.ISysBaseAPI; -import com.jero.common.util.RedisUtil; -import com.jero.common.util.TokenUtils; -import com.jero.modules.system.util.XSSUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.shiro.SecurityUtils; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonSendStatus; import com.jero.common.constant.WebsocketConst; +import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.util.JwtUtil; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.RedisUtil; +import com.jero.common.util.TokenUtils; import com.jero.common.util.oConvertUtils; import com.jero.modules.message.websocket.WebSocket; import com.jero.modules.system.entity.SysAnnouncement; import com.jero.modules.system.entity.SysAnnouncementSend; import com.jero.modules.system.service.ISysAnnouncementSendService; import com.jero.modules.system.service.ISysAnnouncementService; - +import com.jero.modules.system.util.XSSUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.formula.functions.T; +import org.apache.shiro.SecurityUtils; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -42,13 +38,14 @@ import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import lombok.extern.slf4j.Slf4j; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static com.jero.common.constant.CommonConstant.ANNOUNCEMENT_SEND_STATUS_1; @@ -75,6 +72,8 @@ public class SysAnnouncementController { @Lazy private RedisUtil redisUtil; + private String ERROR_TEXT = "未找到对应实体"; + /** * 分页列表查询 * @param sysAnnouncement @@ -83,15 +82,16 @@ public class SysAnnouncementController { * @param req * @return */ - @RequestMapping(value = "/page", method = RequestMethod.GET) +// @RequestMapping(value = "/page", method = RequestMethod.GET) + @GetMapping("/page") public Result> queryPageList(SysAnnouncement sysAnnouncement, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { - Result> result = new Result>(); + Result> result = new Result<>(); sysAnnouncement.setDelFlag(CommonConstant.DEL_FLAG_0.toString()); - QueryWrapper queryWrapper = new QueryWrapper(sysAnnouncement); - Page page = new Page(pageNo,pageSize); + QueryWrapper queryWrapper = new QueryWrapper<>(sysAnnouncement); + Page page = new Page<>(pageNo,pageSize); //排序逻辑 处理 String column = req.getParameter("column"); String order = req.getParameter("order"); @@ -113,7 +113,8 @@ public class SysAnnouncementController { * @param sysAnnouncement * @return */ - @RequestMapping(value = "/add", method = RequestMethod.POST) +// @RequestMapping(value = "/add", method = RequestMethod.POST) + @PostMapping("/add") public Result add(@RequestBody SysAnnouncement sysAnnouncement) { try { // update-begin-author:liusq date:20210804 for:标题处理xss攻击的问题 @@ -135,11 +136,12 @@ public class SysAnnouncementController { * @param sysAnnouncement * @return */ - @RequestMapping(value = "/edit", method = RequestMethod.PUT) +// @RequestMapping(value = "/edit", method = RequestMethod.PUT) + @PutMapping("/edit") public Result eidt(@RequestBody SysAnnouncement sysAnnouncement) { SysAnnouncement sysAnnouncementEntity = sysAnnouncementService.getById(sysAnnouncement.getId()); if(sysAnnouncementEntity==null) { - return Result.error("未找到对应实体"); + return Result.error(ERROR_TEXT); }else { // update-begin-author:liusq date:20210804 for:标题处理xss攻击的问题 String title = XSSUtils.striptXSS(sysAnnouncement.getTitile()); @@ -159,11 +161,12 @@ public class SysAnnouncementController { * @param id * @return */ - @RequestMapping(value = "/delete", method = RequestMethod.DELETE) +// @RequestMapping(value = "/delete", method = RequestMethod.DELETE) + @DeleteMapping("/delete") public Result delete(@RequestParam(name="id",required=true) String id) { SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id); if(sysAnnouncement==null) { - return Result.error("未找到对应实体"); + return Result.error(ERROR_TEXT); }else { sysAnnouncement.setDelFlag(CommonConstant.DEL_FLAG_1.toString()); boolean ok = sysAnnouncementService.updateById(sysAnnouncement); @@ -180,7 +183,8 @@ public class SysAnnouncementController { * @param ids * @return */ - @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) +// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) + @DeleteMapping("/deleteBatch") public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { if(ids==null || "".equals(ids.trim())) { return Result.error("参数不识别!"); @@ -200,12 +204,12 @@ public class SysAnnouncementController { * @param id * @return */ - @RequestMapping(value = "/queryById", method = RequestMethod.GET) +// @RequestMapping(value = "/queryById", method = RequestMethod.GET) + @GetMapping("/queryById") public Result queryById(@RequestParam(name="id",required=true) String id) { - Result result = new Result(); SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id); if(sysAnnouncement==null) { - return Result.error("未找到对应实体"); + return Result.error(ERROR_TEXT); }else { return Result.OK(sysAnnouncement); } @@ -216,11 +220,12 @@ public class SysAnnouncementController { * @param id * @return */ - @RequestMapping(value = "/doReleaseData", method = RequestMethod.GET) +// @RequestMapping(value = "/doReleaseData", method = RequestMethod.GET) + @GetMapping("/doReleaseData") public Result doReleaseData(@RequestParam(name="id",required=true) String id, HttpServletRequest request) { SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id); if(sysAnnouncement==null) { - return Result.error("未找到对应实体"); + return Result.error(ERROR_TEXT); }else { sysAnnouncement.setSendStatus(CommonSendStatus.PUBLISHED_STATUS_1);//发布中 sysAnnouncement.setSendTime(new Date()); @@ -238,8 +243,6 @@ public class SysAnnouncementController { // 2.插入用户通告阅读标记表记录 String userId = sysAnnouncement.getUserIds(); String[] userIds = userId.substring(0, (userId.length()-1)).split(","); - String anntId = sysAnnouncement.getId(); - Date refDate = new Date(); JSONObject obj = new JSONObject(); obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); obj.put(WebsocketConst.MSG_ID, sysAnnouncement.getId()); @@ -258,11 +261,12 @@ public class SysAnnouncementController { * @param id * @return */ - @RequestMapping(value = "/doReovkeData", method = RequestMethod.GET) +// @RequestMapping(value = "/doReovkeData", method = RequestMethod.GET) + @GetMapping("/doReovkeData") public Result doReovkeData(@RequestParam(name="id",required=true) String id, HttpServletRequest request) { SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id); if(sysAnnouncement==null) { - return Result.error("未找到对应实体"); + return Result.error(ERROR_TEXT); }else { sysAnnouncement.setSendStatus(CommonSendStatus.REVOKE_STATUS_2);//撤销发布 sysAnnouncement.setCancelTime(new Date()); @@ -279,13 +283,14 @@ public class SysAnnouncementController { * @功能:补充用户数据,并返回系统消息 * @return */ - @RequestMapping(value = "/listByUser", method = RequestMethod.GET) +// @RequestMapping(value = "/listByUser", method = RequestMethod.GET) + @GetMapping("/listByUser") public Result> listByUser() { - Result> result = new Result>(); + Result> result = new Result<>(); LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); String userId = sysUser.getId(); // 1.将系统消息补充到用户通告阅读标记表中 - LambdaQueryWrapper querySaWrapper = new LambdaQueryWrapper(); + LambdaQueryWrapper querySaWrapper = new LambdaQueryWrapper<>(); querySaWrapper.eq(SysAnnouncement::getMsgType,CommonConstant.MSG_TYPE_ALL); // 全部人员 querySaWrapper.eq(SysAnnouncement::getDelFlag,CommonConstant.DEL_FLAG_0.toString()); // 未删除 querySaWrapper.eq(SysAnnouncement::getSendStatus, CommonConstant.HAS_SEND); //已发布 @@ -294,7 +299,7 @@ public class SysAnnouncementController { querySaWrapper.notInSql(SysAnnouncement::getId,"select annt_id from sys_announcement_send where user_id='"+userId+"'"); //update-begin--Author:liusq Date:20210108 for: [JT-424] 【开源issue】bug处理-------------------- List announcements = sysAnnouncementService.list(querySaWrapper); - if(announcements.size()>0) { + if(announcements.isEmpty()) { for(int i=0;i anntMsgList = new Page(0,5); + Page anntMsgList = new Page<>(0,5); anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList,userId,"1");//通知公告消息 - Page sysMsgList = new Page(0,5); + Page sysMsgList = new Page<>(0,5); sysMsgList = sysAnnouncementService.querySysCementPageByUserId(sysMsgList,userId,"2");//系统消息 - Map sysMsgMap = new HashMap(); + Map sysMsgMap = new HashMap<>(); sysMsgMap.put("sysMsgList", sysMsgList.getRecords()); sysMsgMap.put("sysMsgTotal", sysMsgList.getTotal()); sysMsgMap.put("anntMsgList", anntMsgList.getRecords()); @@ -336,7 +341,7 @@ public class SysAnnouncementController { @RequestMapping(value = "/exportXls") public ModelAndView exportXls(SysAnnouncement sysAnnouncement,HttpServletRequest request) { // Step.1 组装查询条件 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(sysAnnouncement); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(sysAnnouncement); //Step.2 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); queryWrapper.eq(SysAnnouncement::getDelFlag,CommonConstant.DEL_FLAG_0); @@ -357,8 +362,9 @@ public class SysAnnouncementController { * @param response * @return */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { +// @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + @PostMapping("/importExcel") + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { @@ -394,14 +400,15 @@ public class SysAnnouncementController { * @param anntId * @return */ - @RequestMapping(value = "/syncNotic", method = RequestMethod.GET) +// @RequestMapping(value = "/syncNotic", method = RequestMethod.GET) + @GetMapping("/syncNotic") public Result syncNotic(@RequestParam(name="anntId",required=false) String anntId, HttpServletRequest request) { - Result result = new Result(); + Result result = new Result<>(); JSONObject obj = new JSONObject(); if(StringUtils.isNotBlank(anntId)){ SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(anntId); if(sysAnnouncement==null) { - return Result.error("未找到对应实体"); + return Result.error(ERROR_TEXT); }else { if(sysAnnouncement.getMsgType().equals(CommonConstant.MSG_TYPE_ALL)) { obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC);