From 4e5bf36da4b7a3fb51072cf463b7f96ca3eec4d1 Mon Sep 17 00:00:00 2001 From: bupengxiang <15022776095@163.com> Date: Tue, 1 Aug 2023 15:13:13 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=20?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/aspect/AutoLogAspect.java | 25 ++++++++++++ .../system/controller/SysUserController.java | 39 +++++++------------ 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/AutoLogAspect.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/AutoLogAspect.java index 53ada815..b9caea84 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/AutoLogAspect.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/AutoLogAspect.java @@ -1,6 +1,7 @@ package com.jero.common.aspect; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.PropertyFilter; import com.jero.common.api.dto.LogDTO; import com.jero.common.api.vo.Results; @@ -81,6 +82,30 @@ public class AutoLogAspect { } //注解上的描述,操作日志内容 dto.setLogType(syslog.logType()); + if ("user".equals(content)){ + if (syslog.operateType() == 2){ + Object result = ((Results) obj).getResult(); + String s = JSONObject.toJSONString(result); + JSONObject jsonObject = JSON.parseObject(s); + String id =(String)jsonObject.get("id"); + content = "新增用户,id:"+id; + }else if (syslog.operateType() == 3){ + Object result = ((Results) obj).getResult(); + String s = JSONObject.toJSONString(result); + JSONObject jsonObject = JSON.parseObject(s); + String id =(String)jsonObject.get("id"); + content = "修改,id:"+id; + }else if (syslog.operateType() == 4){ + String message = ((Results) obj).getMessage(); + String result = (String)((Results) obj).getResult(); + if ("删除用户成功".equals(message)){ + content = "删除用户,id:"+result; + }else { + content = "批量删除用户,ids:"+result; + } + + } + } dto.setLogContent(content); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index d5a0d062..ec086d8c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Results; +import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.PermissionData; import com.jero.common.constant.CommonConstant; import com.jero.common.exception.JeroBootException; @@ -165,10 +166,9 @@ public class SysUserController { @RequiresPermissions("user:add") @PostMapping("/add") + @AutoLog(operateType = 2,value = "user") public Results add(@RequestBody JSONObject jsonObject) { try { - //开始时间 - long startTime = System.currentTimeMillis(); String selectedRoles = jsonObject.getString(SELECTED_ROLES); String selectedDeparts = jsonObject.getString("selecteddeparts"); String rsaPublicKey = jsonObject.getString(RSA_PUBLIC_KEY); @@ -181,11 +181,7 @@ public class SysUserController { String id = UUID.randomUUID().toString().replace("-", ""); user.setId(id); sysUserService.saveUser(user, selectedRoles, selectedDeparts); - long endTime = System.currentTimeMillis(); - long costTime = endTime - startTime; - baseCommonService.addLog("新增用户,id: " +id ,CommonConstant.LOG_TYPE_2, 2,null, - costTime); - return Results.OK(OPTION_SUCCESS); + return Results.OK(OPTION_SUCCESS,user); } catch (Exception e) { SysUserController.log.error(e.getMessage(), e); return Results.error("操作失败"); @@ -225,6 +221,7 @@ public class SysUserController { @RequiresPermissions("user:edit") @PostMapping("/edit") + @AutoLog(operateType = 3,value = "user") public Results edit(@RequestBody JSONObject jsonObject) { String rsaPublicKey = jsonObject.getString(RSA_PUBLIC_KEY); String roles = jsonObject.getString(SELECTED_ROLES); @@ -235,17 +232,11 @@ public class SysUserController { if(sysUser==null) { return Results.error(INEXISTENCE); }else { - //开始时间 - long startTime = System.currentTimeMillis(); SysUser user = getSysUser(jsonObject, rsaPrivateKey, sysUser); // 修改用户走一个service 保证事务 sysUserService.editUser(user, roles, departs); - //结束时间 - long endTime = System.currentTimeMillis(); - long costTime = endTime - startTime; - baseCommonService.addLog("编辑用户,id: " +jsonObject.getString("id") ,CommonConstant.LOG_TYPE_2, 3,null, - costTime); - return Results.OK(OPTION_SUCCESS); + + return Results.OK(OPTION_SUCCESS,sysUser); } } catch (Exception e) { SysUserController.log.error(e.getMessage(), e); @@ -280,33 +271,29 @@ public class SysUserController { @PostMapping("/delete") @RequiresPermissions("sys:user:sel") - public Results delete(@RequestBody Map map) { + @AutoLog(operateType = 4,value = "user") + public Results delete(@RequestBody Map map) { long startTime = System.currentTimeMillis(); String id = map.get("id"); if(StringUtils.isBlank(id)){ return Results.error("参数不识别!"); } this.sysUserService.deleteUser(id); - long endTime = System.currentTimeMillis(); - long costTime = endTime - startTime; - baseCommonService.addLog("删除用户,id: " +id ,CommonConstant.LOG_TYPE_2, 4,null,costTime); - return Results.OK("删除用户成功"); + + return Results.OK("删除用户成功",id); } @PostMapping("/deleteBatch") @RequiresPermissions("sys:user:sel") - public Results deleteBatch(@RequestBody Map map) { - long startTime = System.currentTimeMillis(); + @AutoLog(operateType = 4,value = "user") + public Results deleteBatch(@RequestBody Map map) { String ids = map.get("ids"); if(StringUtils.isBlank(ids)){ return Results.error("参数不识别!"); } this.sysUserService.deleteBatchUsers(ids); - long endTime = System.currentTimeMillis(); - long costTime = endTime - startTime; - baseCommonService.addLog("批量删除用户, ids: " +ids ,CommonConstant.LOG_TYPE_2, 4,null,costTime); - return Results.OK("批量删除用户成功"); + return Results.OK("批量删除用户成功",ids); } From d02c31ba49b3e8794bfa45eadbb372b9ec8cecf1 Mon Sep 17 00:00:00 2001 From: bupengxiang <15022776095@163.com> Date: Wed, 2 Aug 2023 10:39:54 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=20?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E9=80=9A=E5=91=8A=E6=97=A5=E5=BF=97=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/aspect/AutoLogAspect.java | 1 + .../controller/SysAnnouncementController.java | 16 ++++++---------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/AutoLogAspect.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/AutoLogAspect.java index b9caea84..9a866a26 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/AutoLogAspect.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/aspect/AutoLogAspect.java @@ -82,6 +82,7 @@ public class AutoLogAspect { } //注解上的描述,操作日志内容 dto.setLogType(syslog.logType()); + //用户日志 ,根据不同的操作类型 生成不同的日志内容 if ("user".equals(content)){ if (syslog.operateType() == 2){ Object result = ((Results) obj).getResult(); 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 5ef3f438..6a65eb54 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 @@ -6,11 +6,11 @@ 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.Results; +import com.jero.common.aspect.annotation.AutoLog; 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.base.controller.JeroController; import com.jero.common.system.util.JwtUtil; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.RedisUtil; @@ -26,23 +26,14 @@ 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; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; 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; @@ -84,6 +75,7 @@ public class SysAnnouncementController { * @return */ @GetMapping("/page") + @AutoLog(operateType = 1,value = "查询系统通告") public Results> queryPageList(SysAnnouncement sysAnnouncement, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @@ -114,6 +106,7 @@ public class SysAnnouncementController { * @return */ @PostMapping("/add") + @AutoLog(operateType = 2,value = "新增系统通告") public Results add(@RequestBody SysAnnouncement sysAnnouncement) { try { // update-begin-author:liusq date:20210804 for:标题处理xss攻击的问题 @@ -136,6 +129,7 @@ public class SysAnnouncementController { * @return */ @PostMapping("/edit") + @AutoLog(operateType = 3,value = "修改系统通告") public Results eidt(@RequestBody SysAnnouncement sysAnnouncement) { SysAnnouncement sysAnnouncementEntity = sysAnnouncementService.getById(sysAnnouncement.getId()); if(sysAnnouncementEntity==null) { @@ -160,6 +154,7 @@ public class SysAnnouncementController { * @return */ @PostMapping("/delete") + @AutoLog(operateType = 4,value = "删除系统通告") public Results delete(@RequestBody Map map) { String id = map.get("id"); if(StringUtils.isBlank(id)){ @@ -185,6 +180,7 @@ public class SysAnnouncementController { * @return */ @PostMapping("/deleteBatch") + @AutoLog(operateType = 4,value = "批量删除系统通告") public Results deleteBatch(@RequestBody Map map) { String ids = map.get("ids"); if(ids==null || "".equals(ids.trim())) { From d082febc19c260ce8692d9a5424d12c1da7de52d Mon Sep 17 00:00:00 2001 From: bupengxiang <15022776095@163.com> Date: Wed, 2 Aug 2023 10:40:30 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=20?= =?UTF-8?q?=E6=88=91=E7=9A=84=E6=B6=88=E6=81=AF=E6=B0=B4=E5=B9=B3=E8=B6=8A?= =?UTF-8?q?=E6=9D=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysAnnouncementSendController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementSendController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementSendController.java index 9bffaff5..18e479a4 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementSendController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementSendController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Results; +import com.jero.common.aspect.annotation.PermissionData; import com.jero.common.constant.CommonConstant; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.oConvertUtils; @@ -186,6 +187,7 @@ public class SysAnnouncementSendController { * @功能:获取我的消息 * @return */ + @PermissionData(pageComponent = "isps/userAnnouncement") @GetMapping(value = "/getMyAnnouncementSend") public Results> getMyAnnouncementSend(AnnouncementSendModel announcementSendModel, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,