From 60ac3a5fedab0dce01b4ba5d64efe335868e8cc3 Mon Sep 17 00:00:00 2001
From: cwchen <1048842385@qq.com>
Date: Wed, 28 Feb 2024 14:04:50 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=97=A5=E5=BF=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/base/controller/SysLogController.java | 10 ++++++++++
.../system/base/mapper/ISysLogMapper.java | 10 ++++++++++
.../system/base/service/ISysLogService.java | 10 ++++++++++
.../system/base/service/impl/SysLogServiceImpl.java | 10 ++++++++++
.../src/main/resources/mapper/base/SysLogMapper.xml | 5 +++++
5 files changed, 45 insertions(+)
create mode 100644 securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SysLogController.java
create mode 100644 securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISysLogMapper.java
create mode 100644 securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISysLogService.java
create mode 100644 securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SysLogServiceImpl.java
create mode 100644 securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SysLogMapper.xml
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SysLogController.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SysLogController.java
new file mode 100644
index 0000000..b47c062
--- /dev/null
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SysLogController.java
@@ -0,0 +1,10 @@
+package com.securitycontrol.system.base.controller;
+
+/**
+ * @author:cwchen
+ * @date:2024-02-28-14:01
+ * @version:1.0
+ * @description:系统日志
+ */
+public class SysLogController {
+}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISysLogMapper.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISysLogMapper.java
new file mode 100644
index 0000000..cd48e4c
--- /dev/null
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISysLogMapper.java
@@ -0,0 +1,10 @@
+package com.securitycontrol.system.base.mapper;
+
+/**
+ * @author:cwchen
+ * @date:2024-02-28-14:03
+ * @version:1.0
+ * @description:系统日志-数据库访问层
+ */
+public interface ISysLogMapper {
+}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISysLogService.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISysLogService.java
new file mode 100644
index 0000000..1665f39
--- /dev/null
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISysLogService.java
@@ -0,0 +1,10 @@
+package com.securitycontrol.system.base.service;
+
+/**
+ * @author:cwchen
+ * @date:2024-02-28-14:01
+ * @version:1.0
+ * @description:系统日志-业务层
+ */
+public class ISysLogService {
+}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SysLogServiceImpl.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SysLogServiceImpl.java
new file mode 100644
index 0000000..0c05ee0
--- /dev/null
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SysLogServiceImpl.java
@@ -0,0 +1,10 @@
+package com.securitycontrol.system.base.service.impl;
+
+/**
+ * @author:cwchen
+ * @date:2024-02-28-14:02
+ * @version:1.0
+ * @description:系统日志-业务逻辑层
+ */
+public class SysLogServiceImpl {
+}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SysLogMapper.xml b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SysLogMapper.xml
new file mode 100644
index 0000000..e152f64
--- /dev/null
+++ b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SysLogMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
From 8e5fc3fe1f058b38b8d141d2e7da50f3f8c88bb3 Mon Sep 17 00:00:00 2001
From: cwchen <1048842385@qq.com>
Date: Wed, 28 Feb 2024 16:45:59 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=97=A5=E5=BF=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/api/domain/SysLog.java | 65 +++++++++++++++++++
.../base/controller/SysLogController.java | 22 +++++++
.../system/base/mapper/ISysLogMapper.java | 13 ++++
.../system/base/service/ISysLogService.java | 14 +++-
.../base/service/impl/SysLogServiceImpl.java | 31 ++++++++-
.../system/controller/MenuController.java | 12 ++--
.../resources/mapper/base/SysLogMapper.xml | 42 ++++++++++++
7 files changed, 191 insertions(+), 8 deletions(-)
create mode 100644 securitycontrol-api/securitycontrol-api-system/src/main/java/com/securitycontrol/system/api/domain/SysLog.java
diff --git a/securitycontrol-api/securitycontrol-api-system/src/main/java/com/securitycontrol/system/api/domain/SysLog.java b/securitycontrol-api/securitycontrol-api-system/src/main/java/com/securitycontrol/system/api/domain/SysLog.java
new file mode 100644
index 0000000..b13b9e9
--- /dev/null
+++ b/securitycontrol-api/securitycontrol-api-system/src/main/java/com/securitycontrol/system/api/domain/SysLog.java
@@ -0,0 +1,65 @@
+package com.securitycontrol.system.api.domain;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author:cwchen
+ * @date:2024-02-28-14:14
+ * @version:1.0
+ * @description:系统日志
+ */
+@Data
+public class SysLog {
+
+ @ApiModelProperty(value = "日志ID")
+ private String logId;
+
+ @ApiModelProperty(value = "操作ip")
+ private String ip;
+
+ @ApiModelProperty(value = "操作人")
+ private Integer userId;
+
+ @ApiModelProperty(value = "操作人")
+ private String operaUserName;
+
+ @ApiModelProperty(value = "操作模块")
+ private String model;
+
+ @ApiModelProperty(value = "操作时间")
+ private String operTime;
+
+ @ApiModelProperty(value = "执行方法")
+ private String method;
+
+ @ApiModelProperty(value = "操作参数")
+ private String params;
+
+ @ApiModelProperty(value = "操作详情")
+ private String operateDetail;
+
+ @ApiModelProperty(value = "操作类型 增删改查 登陆 登出")
+ private String operType;
+
+ @ApiModelProperty(value = "操作页面路径URI")
+ private String operUri;
+
+ @ApiModelProperty(value = "日志类型 1 业务日志 0 系统日志 2异常日志")
+ private String logType;
+
+ @ApiModelProperty(value = "执行结果(1.成功/2.失败)")
+ private Integer result;
+
+ @ApiModelProperty(value = "执行时间(秒/ms)")
+ private String times;
+
+ @ApiModelProperty(value = "失败原因")
+ private String failureReason;
+
+ @ApiModelProperty(value = "异常事件等级(高、中、低")
+ private String grade;
+
+ @ApiModelProperty(value = "异常类型(ip异常/越权)")
+ private String errType;
+}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SysLogController.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SysLogController.java
index b47c062..8d2dcf8 100644
--- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SysLogController.java
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/controller/SysLogController.java
@@ -1,10 +1,32 @@
package com.securitycontrol.system.base.controller;
+import com.securitycontrol.common.core.web.domain.AjaxResult;
+import com.securitycontrol.system.api.domain.SysLog;
+import com.securitycontrol.system.base.service.ISysLogService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
/**
* @author:cwchen
* @date:2024-02-28-14:01
* @version:1.0
* @description:系统日志
*/
+@RestController
+@RequestMapping("/sys/sysLog/")
public class SysLogController {
+
+ @Resource(name = "ISysLogService")
+ private ISysLogService service;
+
+ @ApiOperation(value = "保存系统日志")
+ @PostMapping("saveLogs")
+ public AjaxResult saveLogs(@RequestBody SysLog sysLog) {
+ return service.saveLogs(sysLog);
+ }
}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISysLogMapper.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISysLogMapper.java
index cd48e4c..8d57027 100644
--- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISysLogMapper.java
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/mapper/ISysLogMapper.java
@@ -1,10 +1,23 @@
package com.securitycontrol.system.base.mapper;
+import com.securitycontrol.system.api.domain.SysLog;
+import org.springframework.stereotype.Repository;
+
/**
* @author:cwchen
* @date:2024-02-28-14:03
* @version:1.0
* @description:系统日志-数据库访问层
*/
+@Repository(value = "ISysLogMapper")
public interface ISysLogMapper {
+
+ /**
+ * 保存系统日志
+ * @param sysLog
+ * @description 保存系统日志
+ * @author cwchen
+ * @date 2024/2/28 14:35
+ */
+ void saveLogs(SysLog sysLog);
}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISysLogService.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISysLogService.java
index 1665f39..5d0cff5 100644
--- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISysLogService.java
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/ISysLogService.java
@@ -1,10 +1,22 @@
package com.securitycontrol.system.base.service;
+import com.securitycontrol.common.core.web.domain.AjaxResult;
+import com.securitycontrol.system.api.domain.SysLog;
+
/**
* @author:cwchen
* @date:2024-02-28-14:01
* @version:1.0
* @description:系统日志-业务层
*/
-public class ISysLogService {
+public interface ISysLogService {
+ /**
+ * 保存系统日志
+ * @param sysLog
+ * @return AjaxResult
+ * @description
+ * @author cwchen
+ * @date 2024/2/28 14:33
+ */
+ AjaxResult saveLogs(SysLog sysLog);
}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SysLogServiceImpl.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SysLogServiceImpl.java
index 0c05ee0..ad16d75 100644
--- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SysLogServiceImpl.java
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/base/service/impl/SysLogServiceImpl.java
@@ -1,10 +1,39 @@
package com.securitycontrol.system.base.service.impl;
+import com.securitycontrol.common.core.web.domain.AjaxResult;
+import com.securitycontrol.system.api.domain.SysLog;
+import com.securitycontrol.system.base.mapper.ISysLogMapper;
+import com.securitycontrol.system.base.service.ISysLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import javax.annotation.Resource;
+
/**
* @author:cwchen
* @date:2024-02-28-14:02
* @version:1.0
* @description:系统日志-业务逻辑层
*/
-public class SysLogServiceImpl {
+@Service(value = "ISysLogService")
+@Slf4j
+public class SysLogServiceImpl implements ISysLogService {
+
+ @Resource(name = "ISysLogMapper")
+ private ISysLogMapper mapper;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult saveLogs(SysLog sysLog) {
+ try {
+ mapper.saveLogs(sysLog);
+ } catch (Exception e) {
+ log.error("保存系统日志");
+ //手动回滚异常
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+ return null;
+ }
}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/controller/MenuController.java b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/controller/MenuController.java
index e02c1f6..5f6e9b7 100644
--- a/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/controller/MenuController.java
+++ b/securitycontrol-model/securitycontrol-system/src/main/java/com/securitycontrol/system/controller/MenuController.java
@@ -1,21 +1,17 @@
package com.securitycontrol.system.controller;
-import com.securitycontrol.common.core.domain.Result;
import com.securitycontrol.common.core.web.controller.BaseController;
import com.securitycontrol.common.core.web.domain.AjaxResult;
+import com.securitycontrol.common.log.annotation.Log;
+import com.securitycontrol.common.log.enums.BusinessType;
import com.securitycontrol.entity.system.dto.MenuDto;
-import com.securitycontrol.entity.system.dto.OrgDto;
-import com.securitycontrol.entity.system.dto.RoleDto;
import com.securitycontrol.entity.system.vo.MenuVo;
-import com.securitycontrol.entity.system.vo.OrgVo;
-import com.securitycontrol.entity.system.vo.RoleVo;
import com.securitycontrol.system.service.MenuService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
-import java.util.List;
/**
* 菜单管理层
@@ -30,18 +26,21 @@ public class MenuController extends BaseController {
@ApiOperation(value = "获取菜单列表")
@GetMapping("getMenuList")
+ @Log(title = "系统管理", menu = "系统管理->菜单管理", businessType = BusinessType.QUERY, details = "查询菜单", type = "系统日志")
public AjaxResult getMenuList(MenuDto dto) {
return service.getMenuList(dto);
}
@ApiOperation(value = "新增菜单")
@PostMapping("addMenu")
+ @Log(title = "系统管理", menu = "系统管理->菜单管理", businessType = BusinessType.INSERT, details = "新增菜单", type = "系统日志")
public AjaxResult addMenu(@Valid @RequestBody MenuVo vo){
return service.addOrUpdateMenu(vo);
}
@ApiOperation(value = "修改菜单")
@PostMapping("editMenu")
+ @Log(title = "系统管理", menu = "系统管理->菜单管理", businessType = BusinessType.UPDATE, details = "修改菜单", type = "系统日志")
public AjaxResult editMenu(@Valid @RequestBody MenuVo vo){
return service.addOrUpdateMenu(vo);
}
@@ -54,6 +53,7 @@ public class MenuController extends BaseController {
@ApiOperation(value = "删除菜单")
@PostMapping("delMenu")
+ @Log(title = "系统管理", menu = "系统管理->菜单管理", businessType = BusinessType.DELETE, details = "删除菜单", type = "系统日志")
public AjaxResult delMenu(MenuDto dto){
return service.delMenu(dto);
}
diff --git a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SysLogMapper.xml b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SysLogMapper.xml
index e152f64..1b88ddf 100644
--- a/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SysLogMapper.xml
+++ b/securitycontrol-model/securitycontrol-system/src/main/resources/mapper/base/SysLogMapper.xml
@@ -2,4 +2,46 @@
+
+
+ INSERT INTO sys_role
+
+ log_id,
+ ip,
+ user_id,
+ model,
+ opera_user_name,
+ oper_time,
+ method,
+ params,
+ operate_detail,
+ oper_type,
+ oper_uri,
+ log_type,
+ result,
+ times,
+ failure_reason,
+ grade,
+ err_type,
+
+
+ #{logId},
+ #{ip},
+ #{userId},
+ #{operaUserName},
+ #{model},
+ #{operTime},
+ #{method},
+ #{params},
+ #{operateDetail},
+ #{operType},
+ #{operUri},
+ #{logType},
+ #{result},
+ #{times},
+ #{failureReason},
+ #{grade},
+ #{errType},
+
+
\ No newline at end of file