Przeglądaj źródła

操作日志增加审计类型,改造切点中加入审计类型。改为tomcat容器并设定最大连接数

xusl 2 lat temu
rodzic
commit
31cfb65b46

+ 11 - 11
backend/pom.xml

@@ -56,13 +56,13 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
             <version>${spring-boot.version}</version>
-            <exclusions>
-                <!--排除tomcat依赖-->
-                <exclusion>
-                    <artifactId>spring-boot-starter-tomcat</artifactId>
-                    <groupId>org.springframework.boot</groupId>
-                </exclusion>
-            </exclusions>
+<!--            <exclusions>-->
+<!--                &lt;!&ndash;排除tomcat依赖&ndash;&gt;-->
+<!--                <exclusion>-->
+<!--                    <artifactId>spring-boot-starter-tomcat</artifactId>-->
+<!--                    <groupId>org.springframework.boot</groupId>-->
+<!--                </exclusion>-->
+<!--            </exclusions>-->
         </dependency>
         <!--mysql 驱动-->
         <dependency>
@@ -131,10 +131,10 @@
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-undertow</artifactId>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.boot</groupId>-->
+<!--            <artifactId>spring-boot-starter-undertow</artifactId>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>

+ 6 - 0
backend/src/main/java/com/jiayue/ssi/annotation/OperateLog.java

@@ -1,5 +1,6 @@
 package com.jiayue.ssi.annotation;
 
+import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.backenum.OperatorType;
 
@@ -27,6 +28,11 @@ public @interface OperateLog
     public BusinessType businessType() default BusinessType.OTHER;
 
     /**
+     * 审计类型
+     */
+    public AuditType auditType() default AuditType.SYS;
+
+    /**
      * 操作人类别
      */
     public OperatorType operatorType() default OperatorType.MANAGE;

+ 2 - 0
backend/src/main/java/com/jiayue/ssi/aspectj/OperateLogAspect.java

@@ -138,6 +138,8 @@ public class OperateLogAspect {
         operLog.setBusinessType(log.businessType().ordinal());
         // 设置标题
         operLog.setTitle(log.title());
+        // 审计类型
+        operLog.setAuditType(log.auditType().ordinal());
         // 设置操作人类别
         operLog.setOperatorType(log.operatorType().ordinal());
         // 是否需要保存request,参数和值

+ 19 - 0
backend/src/main/java/com/jiayue/ssi/backenum/AuditType.java

@@ -0,0 +1,19 @@
+package com.jiayue.ssi.backenum;
+
+/**
+ * 审计类型
+ *
+ * @author xsl
+ */
+public enum AuditType
+{
+    /**
+     * 系统
+     */
+    SYS,
+
+    /**
+     * 业务
+     */
+    BIZ
+}

+ 3 - 2
backend/src/main/java/com/jiayue/ssi/controller/SysLogininforController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jiayue.ssi.annotation.InterfaceLimit;
 import com.jiayue.ssi.annotation.OperateLog;
+import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.entity.SysLogininfor;
 import com.jiayue.ssi.service.SysLogininforService;
@@ -79,7 +80,7 @@ public class SysLogininforController {
      */
     @PostMapping(value = "/delLoginInfo")
     @InterfaceLimit
-    @OperateLog(title = "登录日志", businessType = BusinessType.DELETE)
+    @OperateLog(title = "登录日志", businessType = BusinessType.DELETE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('auditManager:logininfor:remove')")
     public ResponseVO delLoginInfo(String infoId) {
         if (StringUtils.isEmpty(infoId)) {
@@ -104,7 +105,7 @@ public class SysLogininforController {
      */
     @PostMapping("/cleanLogininfor")
     @InterfaceLimit
-    @OperateLog(title = "登录日志", businessType = BusinessType.CLEAN)
+    @OperateLog(title = "登录日志", businessType = BusinessType.CLEAN,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('auditManager:logininfor:remove')")
     public ResponseVO cleanLogininfor() {
         try {

+ 4 - 3
backend/src/main/java/com/jiayue/ssi/controller/SysMenuController.java

@@ -6,6 +6,7 @@ import java.util.Map;
 
 import cn.hutool.core.util.NumberUtil;
 import com.jiayue.ssi.annotation.OperateLog;
+import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.constant.UserConstants;
 import com.jiayue.ssi.entity.SysMenu;
@@ -61,7 +62,7 @@ public class SysMenuController {
      */
     @PostMapping
     @InterfaceLimit
-    @OperateLog(title = "菜单管理", businessType = BusinessType.INSERT)
+    @OperateLog(title = "菜单管理", businessType = BusinessType.INSERT,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:menu:add')")
     public ResponseVO add(@RequestBody SysMenu menu) {
         if (RyStringUtils.isEmpty(menu.getMenuName())) {
@@ -127,7 +128,7 @@ public class SysMenuController {
      */
     @PutMapping
     @InterfaceLimit
-    @OperateLog(title = "菜单管理", businessType = BusinessType.UPDATE)
+    @OperateLog(title = "菜单管理", businessType = BusinessType.UPDATE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:menu:edit')")
     public ResponseVO update(@RequestBody SysMenu menu) {
         if (menu.getMenuId() == null) {
@@ -212,7 +213,7 @@ public class SysMenuController {
      */
     @DeleteMapping
     @InterfaceLimit
-    @OperateLog(title = "菜单管理", businessType = BusinessType.DELETE)
+    @OperateLog(title = "菜单管理", businessType = BusinessType.DELETE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:menu:remove')")
     public ResponseVO delete(String menuId) {
         if (org.apache.commons.lang3.StringUtils.isEmpty(menuId)) {

+ 7 - 3
backend/src/main/java/com/jiayue/ssi/controller/SysOperlogController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jiayue.ssi.annotation.InterfaceLimit;
 import com.jiayue.ssi.annotation.OperateLog;
+import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.entity.SysOperLog;
 import com.jiayue.ssi.service.SysOperLogService;
@@ -35,7 +36,7 @@ public class SysOperlogController {
     @GetMapping(value = "/getAll")
     @InterfaceLimit
     @PreAuthorize("@ss.hasPermi('auditManager:operlog:list')")
-    public ResponseVO getAll(Integer currentPage, Integer pageSize, String title, String operName,
+    public ResponseVO getAll(Integer currentPage, Integer pageSize, String title, String operName,String auditType,
                              String businessType, String status,String startOperTime, String endOperTime) {
         try {
             if (StringUtils.isNotEmpty(title)) {
@@ -55,6 +56,9 @@ public class SysOperlogController {
             if (StringUtils.isNotEmpty(operName)) {
                 wrapper.like("oper_name", operName);
             }
+            if (StringUtils.isNotEmpty(auditType)) {
+                wrapper.eq("audit_type", auditType);
+            }
             if (StringUtils.isNotEmpty(businessType)) {
                 wrapper.eq("business_type", businessType);
             }
@@ -80,7 +84,7 @@ public class SysOperlogController {
      */
     @PostMapping(value = "/delOperlog")
     @InterfaceLimit
-    @OperateLog(title = "操作日志", businessType = BusinessType.DELETE)
+    @OperateLog(title = "操作日志", businessType = BusinessType.DELETE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('auditManager:operlog:remove')")
     public ResponseVO delOperlog(String operId) {
         if (StringUtils.isEmpty(operId)) {
@@ -105,7 +109,7 @@ public class SysOperlogController {
      */
     @PostMapping("/cleanOperLog")
     @InterfaceLimit
-    @OperateLog(title = "操作日志", businessType = BusinessType.CLEAN)
+    @OperateLog(title = "操作日志", businessType = BusinessType.CLEAN,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('auditManager:operlog:remove')")
     public ResponseVO cleanOperLog() {
         try {

+ 4 - 3
backend/src/main/java/com/jiayue/ssi/controller/SysParameterController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jiayue.ssi.annotation.InterfaceLimit;
 import com.jiayue.ssi.annotation.OperateLog;
+import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.constant.CacheConstants;
 import com.jiayue.ssi.entity.SysParameter;
@@ -37,7 +38,7 @@ public class SysParameterController {
      */
     @InterfaceLimit
     @PostMapping()
-    @OperateLog(title = "参数管理", businessType = BusinessType.INSERT)
+    @OperateLog(title = "参数管理", businessType = BusinessType.INSERT,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:config:add')")
     public ResponseVO add(@RequestBody SysParameter sysParameter) {
         if (StringUtils.isEmpty(sysParameter.getSysKey())) {
@@ -86,7 +87,7 @@ public class SysParameterController {
      */
     @InterfaceLimit
     @PutMapping
-    @OperateLog(title = "参数管理", businessType = BusinessType.UPDATE)
+    @OperateLog(title = "参数管理", businessType = BusinessType.UPDATE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:config:edit')")
     public ResponseVO update(@RequestBody SysParameter sysParameter) {
         SysParameter existSysParameter = sysParameterService.getById(sysParameter.getId());
@@ -139,7 +140,7 @@ public class SysParameterController {
      */
     @DeleteMapping
     @InterfaceLimit
-    @OperateLog(title = "参数管理", businessType = BusinessType.DELETE)
+    @OperateLog(title = "参数管理", businessType = BusinessType.DELETE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:config:remove')")
     public ResponseVO delete(String id) {
         if (StringUtils.isEmpty(id)) {

+ 4 - 3
backend/src/main/java/com/jiayue/ssi/controller/SysRoleController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jiayue.ssi.annotation.InterfaceLimit;
 
 import com.jiayue.ssi.annotation.OperateLog;
+import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.constant.UserConstants;
 import com.jiayue.ssi.entity.SysParameter;
@@ -97,7 +98,7 @@ public class SysRoleController {
      */
     @InterfaceLimit
     @PostMapping()
-    @OperateLog(title = "角色管理", businessType = BusinessType.INSERT)
+    @OperateLog(title = "角色管理", businessType = BusinessType.INSERT,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:role:add')")
     public ResponseVO add(@RequestBody SysRole role) {
         try {
@@ -146,7 +147,7 @@ public class SysRoleController {
      */
     @InterfaceLimit
     @PutMapping
-    @OperateLog(title = "角色管理", businessType = BusinessType.UPDATE)
+    @OperateLog(title = "角色管理", businessType = BusinessType.UPDATE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:role:edit')")
     public ResponseVO update(@RequestBody SysRole role) {
         try {
@@ -207,7 +208,7 @@ public class SysRoleController {
      */
     @PostMapping(value = "/delRole")
     @InterfaceLimit
-    @OperateLog(title = "角色管理", businessType = BusinessType.DELETE)
+    @OperateLog(title = "角色管理", businessType = BusinessType.DELETE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:role:remove')")
     public ResponseVO delRole(String roleId) {
         if (StringUtils.isEmpty(roleId)) {

+ 7 - 6
backend/src/main/java/com/jiayue/ssi/controller/SysUserController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jiayue.ssi.annotation.InterfaceLimit;
 import com.jiayue.ssi.annotation.OperateLog;
+import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.config.SendMailUtil;
 import com.jiayue.ssi.entity.SysUser;
@@ -107,7 +108,7 @@ public class SysUserController {
      */
     @PostMapping
     @InterfaceLimit
-    @OperateLog(title = "用户管理", businessType = BusinessType.INSERT)
+    @OperateLog(title = "用户管理", businessType = BusinessType.INSERT,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:user:add')")
     public ResponseVO add(@RequestBody SysUser user) {
         if (StringUtils.isEmpty(user.getUsername())) {
@@ -168,7 +169,7 @@ public class SysUserController {
      * @return 执行结果
      */
     @PutMapping
-    @OperateLog(title = "用户管理", businessType = BusinessType.UPDATE)
+    @OperateLog(title = "用户管理", businessType = BusinessType.UPDATE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     public ResponseVO update(@RequestBody SysUser user) {
         SysUser existUser = sysUserService.getById(user.getId());
@@ -234,7 +235,7 @@ public class SysUserController {
      */
     @PostMapping(value = "/resetPassword")
     @InterfaceLimit
-    @OperateLog(title = "用户管理", businessType = BusinessType.OTHER)
+    @OperateLog(title = "用户管理", businessType = BusinessType.OTHER,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:user:send')")
     public ResponseVO resetPassword(String id) {
         if (StringUtils.isEmpty(id)) {
@@ -265,7 +266,7 @@ public class SysUserController {
      */
     @PostMapping(value = "/delUser")
     @InterfaceLimit
-    @OperateLog(title = "用户管理", businessType = BusinessType.DELETE)
+    @OperateLog(title = "用户管理", businessType = BusinessType.DELETE,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:user:remove')")
     public ResponseVO delete(String id) {
         if (StringUtils.isEmpty(id)) {
@@ -296,7 +297,7 @@ public class SysUserController {
      */
     @PostMapping(value = "/updatePassword")
     @InterfaceLimit
-    @OperateLog(title = "用户管理", businessType = BusinessType.UPDATE)
+    @OperateLog(title = "用户管理", businessType = BusinessType.UPDATE,auditType = AuditType.SYS)
     public ResponseVO updatePassword(String id, String oldPassword, String newPassword, String confirmPassword) {
         if (StringUtils.isEmpty(id)) {
             return ResponseVO.fail("修改密码缺失id!");
@@ -351,7 +352,7 @@ public class SysUserController {
      */
     @PostMapping(value = "/relockUser")
     @InterfaceLimit
-    @OperateLog(title = "用户管理", businessType = BusinessType.OTHER)
+    @OperateLog(title = "用户管理", businessType = BusinessType.OTHER,auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:user:relock')")
     public ResponseVO relockUser(String id) {
         if (StringUtils.isEmpty(id)) {

+ 11 - 0
backend/src/main/java/com/jiayue/ssi/entity/SysOperLog.java

@@ -22,6 +22,9 @@ public class SysOperLog extends BaseEntity {
     /** 业务类型(0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据) */
     private Integer businessType;
 
+    /** 审计类型(0=系统,1=业务) */
+    private Integer auditType;
+
     /** 业务类型数组 */
     @TableField(exist = false)
     private Integer[] businessTypes;
@@ -248,4 +251,12 @@ public class SysOperLog extends BaseEntity {
     {
         this.costTime = costTime;
     }
+
+    public Integer getAuditType() {
+        return auditType;
+    }
+
+    public void setAuditType(Integer auditType) {
+        this.auditType = auditType;
+    }
 }

+ 2 - 1
backend/src/main/resources/application.yml

@@ -1,6 +1,7 @@
 server:
   port: 8888
-
+  tomcat:
+    max-connections: 1000
 #设置提供的服务名
 spring:
   application:

+ 2 - 2
ui/src/views/auditManager/logininfo/index.vue

@@ -19,10 +19,10 @@
           style="width: 240px;"
         />
       </el-form-item>
-      <el-form-item label="状态" prop="status">
+      <el-form-item label="登录状态" prop="status">
         <el-select
           v-model="queryParams.status"
-          placeholder="登录状态"
+          placeholder="请选择登录状态"
           clearable
           style="width: 240px"
         >

+ 45 - 11
ui/src/views/auditManager/operlog/index.vue

@@ -7,7 +7,7 @@
           v-model="queryParams.title"
           placeholder="请输入系统模块"
           clearable
-          style="width: 220px;"
+          style="width: 240px;"
         />
       </el-form-item>
       <el-form-item label="操作人员" prop="operName">
@@ -16,15 +16,30 @@
           v-model="queryParams.operName"
           placeholder="请输入操作人员"
           clearable
-          style="width: 220px;"
+          style="width: 240px;"
         />
       </el-form-item>
-      <el-form-item label="类型" prop="businessType">
+      <el-form-item label="审计类型" prop="auditType">
+        <el-select
+          v-model="queryParams.auditType"
+          placeholder="请选择审计类型"
+          clearable
+          style="width: 240px"
+        >
+          <el-option
+            v-for="dict in auditTypeOptions"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="操作类型" prop="businessType">
         <el-select
           v-model="queryParams.businessType"
-          placeholder="操作类型"
+          placeholder="请选择操作类型"
           clearable
-          style="width: 220px"
+          style="width: 240px"
         >
           <el-option
             v-for="dict in operTypeOptions"
@@ -34,12 +49,12 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="状态" prop="status">
+      <el-form-item label="操作状态" prop="status">
         <el-select
           v-model="queryParams.status"
-          placeholder="操作状态"
+          placeholder="请选择操作状态"
           clearable
-          style="width: 220px"
+          style="width: 240px"
         >
           <el-option
             v-for="dict in statusOptions"
@@ -52,7 +67,7 @@
       <el-form-item label="操作时间">
         <el-date-picker
           v-model="dateRange"
-          style="width: 230px"
+          style="width: 240px"
           value-format="yyyy-MM-dd"
           type="daterange"
           range-separator="-"
@@ -110,6 +125,7 @@
         <vxe-column type="radio" width="60"/>
         <vxe-table-column field="operId" title="日志编号"/>
         <vxe-table-column field="title" title="系统模块"/>
+        <vxe-table-column field="auditType" title="审计类型" :formatter="auditTypeFormat"/>
         <vxe-table-column field="businessType" title="操作类型" :formatter="operTypeFormat"/>
         <vxe-table-column field="operName" title="操作人员"/>
         <vxe-table-column field="operIp" title="操作地址"/>
@@ -203,7 +219,7 @@ export default {
       showTable: true,
       currentPage: 1,
       pageSize: 10,
-      ///** 业务类型(0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据) */
+      ///** 操作类型(0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据) */
       operTypeOptions: [
         {value: '1', label: '新增'},
         {value: '2', label: '修改'},
@@ -212,6 +228,11 @@ export default {
         {value: '9', label: '清空数据'},
         {value: '0', label: '其他'}
       ],
+      ///** 审计类型(0=系统,1=业务) */
+      auditTypeOptions: [
+        {value: '0', label: '系统'},
+        {value: '1', label: '新增'}
+      ],
       statusOptions: [
         {value: '0', label: '成功'},
         {value: '1', label: '失败'}
@@ -241,6 +262,7 @@ export default {
         title: undefined,
         operName: undefined,
         businessType: undefined,
+        auditType: undefined,
         status: undefined
       }
     };
@@ -286,7 +308,18 @@ export default {
       }
       return belongTo
     },
-
+// 列表状态格式化
+    auditTypeFormat({cellValue}) {
+      let belongTo = '未知的类型'
+      for (let i = 0; i < this.auditTypeOptions.length; i++) {
+        if (cellValue == "0") {
+          belongTo = "系统"
+        } else if (cellValue == "1") {
+          belongTo = "业务"
+        }
+      }
+      return belongTo
+    },
     /** 查询操作日志列表 */
     getList: debounce(function () {
       this.loading = true;
@@ -305,6 +338,7 @@ export default {
         title: this.queryParams.title,
         operName: this.queryParams.operName,
         businessType: this.queryParams.businessType,
+        auditType: this.queryParams.auditType,
         status: this.queryParams.status,
         startOperTime: _startOperTime,
         endOperTime: _endOperTime

+ 1 - 1
ui/src/views/sysManager/roleManager/index.vue

@@ -24,7 +24,7 @@
       <el-form-item label="状态" prop="status">
         <el-select
           v-model="queryParams.status"
-          placeholder="角色状态"
+          placeholder="请选择角色状态"
           clearable
           style="width: 240px"
         >