From d21be5568445e5e1bc887d9980c28bf248761410 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期三, 28 二月 2024 08:48:22 +0800
Subject: [PATCH] 系统日志
---
framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java | 4
framework/src/main/java/com/yuanchu/mom/pojo/PageSystemLogDto.java | 22 ++++
framework/src/main/resources/mapper/AuthMapper.xml | 0
user-server/src/main/java/com/yuanchu/mom/service/impl/SystemLogServiceImpl.java | 42 ++++++++
user-server/src/main/java/com/yuanchu/mom/service/impl/PowerServiceImpl.java | 2
user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java | 2
user-server/src/main/java/com/yuanchu/mom/controller/SystemLogController.java | 39 +++++++
user-server/src/main/java/com/yuanchu/mom/service/SystemLogService.java | 20 ++++
framework/src/main/java/com/yuanchu/mom/pojo/SystemLog.java | 47 +++++++++
framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java | 22 ++++
user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java | 2
framework/src/main/resources/mapper/SystemLogMapper.xml | 18 +++
cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java | 4
cnas-server/src/main/resources/mapper/StructureTestMapper.xml | 16 +-
framework/src/main/java/com/yuanchu/mom/config/LogConfig.java | 59 +++++++++++
15 files changed, 287 insertions(+), 12 deletions(-)
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java
index 2d00898..f613fb7 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java
@@ -13,9 +13,9 @@
public class PageTestObjectDto extends StructureTestObject {
@ValueTableShow(2)
@ApiModelProperty(value = "鍒涘缓浜�")
- private Integer createUserName;
+ private String createUserName;
@ValueTableShow(4)
@ApiModelProperty(value = "鏇存柊浜�")
- private Integer updateUserName;
+ private String updateUserName;
}
diff --git a/cnas-server/src/main/resources/mapper/StructureTestMapper.xml b/cnas-server/src/main/resources/mapper/StructureTestMapper.xml
index 46da112..35ccaa1 100644
--- a/cnas-server/src/main/resources/mapper/StructureTestMapper.xml
+++ b/cnas-server/src/main/resources/mapper/StructureTestMapper.xml
@@ -5,15 +5,17 @@
<mapper namespace="com.yuanchu.mom.mapper.StructureTestObjectMapper">
<select id="selectTestObjectList" resultType="com.yuanchu.mom.dto.PageTestObjectDto">
+ select * from (
select sto.id,
- sto.specimen_name,
- u1.name createUserName,
- sto.create_time,
- u2.name updateUserName,
- sto.update_time
+ sto.specimen_name,
+ u1.name create_user_name,
+ sto.create_time,
+ u2.name update_user_name,
+ sto.update_time
from structure_test_object sto
- left join user u1 on sto.create_user = u1.id
- left join user u2 on sto.update_user = u2.id
+ left join user u1 on sto.create_user = u1.id
+ left join user u2 on sto.update_user = u2.id
+ ) a
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
diff --git a/framework/src/main/java/com/yuanchu/mom/config/LogConfig.java b/framework/src/main/java/com/yuanchu/mom/config/LogConfig.java
new file mode 100644
index 0000000..036238d
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/config/LogConfig.java
@@ -0,0 +1,59 @@
+package com.yuanchu.mom.config;
+
+import com.yuanchu.mom.exception.ErrorException;
+import com.yuanchu.mom.mapper.SystemLogMapper;
+import com.yuanchu.mom.pojo.SystemLog;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.lang.reflect.Method;
+
+/**
+ * @Author 鎴村崜
+ * @Date 2024/2/27
+ */
+@Component
+public class LogConfig implements HandlerInterceptor {
+
+ @Resource
+ private SystemLogMapper systemLogMapper;
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+
+ if (handler instanceof HandlerMethod) {
+ if (request.getRequestURL().toString().contains("/error") ||
+ request.getRequestURL().toString().contains("/outPath") ||
+ request.getRequestURL().toString().contains("/user/enter")) {
+ return HandlerInterceptor.super.preHandle(request, response, handler);
+ }
+ HandlerMethod h = (HandlerMethod)handler;
+ Method method = h.getMethod();
+ ApiOperation annotation = method.getAnnotation(ApiOperation.class);
+ if (annotation == null) {
+ return HandlerInterceptor.super.preHandle(request, response, handler);
+ }
+ SystemLog systemLog = new SystemLog();
+ systemLog.setMethod(method.getName());
+ systemLog.setMethodName(annotation.value());
+ systemLogMapper.insert(systemLog);
+ }
+ return HandlerInterceptor.super.preHandle(request, response, handler);
+ }
+
+ @Override
+ public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+ HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
+ }
+
+ @Override
+ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+ HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
+ }
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
index 8b3fd91..710d8ab 100644
--- a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
+++ b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
@@ -18,6 +18,9 @@
@Resource
private PowerConfig powerConfig;
+ @Resource
+ private LogConfig logConfig;
+
@Value("${file.path}")
private String filePath;
@@ -41,6 +44,7 @@
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(fiferConfig).addPathPatterns("/**");
registry.addInterceptor(powerConfig).addPathPatterns("/**");
+ registry.addInterceptor(logConfig).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
diff --git a/framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java b/framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java
new file mode 100644
index 0000000..c57f37b
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.PageSystemLogDto;
+import com.yuanchu.mom.pojo.SystemLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 绯荤粺鏃ュ織(SystemLog)琛ㄦ暟鎹簱璁块棶灞�
+ *
+ * @author makejava
+ * @since 2024-02-27 15:33:14
+ */
+@Mapper
+public interface SystemLogMapper extends BaseMapper<SystemLog> {
+
+ IPage<PageSystemLogDto> selectSystemLogList(Page page, QueryWrapper<PageSystemLogDto> ew);
+}
+
diff --git a/framework/src/main/java/com/yuanchu/mom/pojo/PageSystemLogDto.java b/framework/src/main/java/com/yuanchu/mom/pojo/PageSystemLogDto.java
new file mode 100644
index 0000000..2573c71
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/pojo/PageSystemLogDto.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 鎴村崜
+ * @Date 2024/2/27
+ */
+@Data
+public class PageSystemLogDto extends SystemLog {
+
+ @ValueTableShow(3)
+ @ApiModelProperty(value = "鍒涘缓浜�")
+ @TableField(fill = FieldFill.INSERT)
+ private String createUserName;
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/pojo/SystemLog.java b/framework/src/main/java/com/yuanchu/mom/pojo/SystemLog.java
new file mode 100644
index 0000000..c4b2701
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/pojo/SystemLog.java
@@ -0,0 +1,47 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 绯荤粺鏃ュ織(SystemLog)琛ㄥ璞�
+ *
+ * @author makejava
+ * @since 2024-02-27 15:33:14
+ */
+@Data
+public class SystemLog extends OrderBy implements Serializable {
+ @ApiModelProperty(value = "涓婚敭")
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ValueTableShow(1)
+ @ApiModelProperty(value = "鏂规硶")
+ private String method;
+
+ @ValueTableShow(2)
+ @ApiModelProperty(value = "鏂规硶鎻忚堪")
+ private String methodName;
+
+ @ApiModelProperty(value = "鍒涘缓浜篿d")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ValueTableShow(4)
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+}
+
diff --git a/framework/src/main/resources/AuthMapper.xml b/framework/src/main/resources/mapper/AuthMapper.xml
similarity index 100%
rename from framework/src/main/resources/AuthMapper.xml
rename to framework/src/main/resources/mapper/AuthMapper.xml
diff --git a/framework/src/main/resources/mapper/SystemLogMapper.xml b/framework/src/main/resources/mapper/SystemLogMapper.xml
new file mode 100644
index 0000000..32c3bdd
--- /dev/null
+++ b/framework/src/main/resources/mapper/SystemLogMapper.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yuanchu.mom.mapper.SystemLogMapper">
+ <select id="selectSystemLogList" resultType="com.yuanchu.mom.pojo.PageSystemLogDto">
+ select * from (
+ select sl.id,
+ sl.method,
+ sl.method_name,
+ u.name create_user_name,
+ sl.create_time
+ from system_log sl
+ left join user u on sl.create_user = u.id
+ ) a
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/SystemLogController.java b/user-server/src/main/java/com/yuanchu/mom/controller/SystemLogController.java
new file mode 100644
index 0000000..db2368c
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/SystemLogController.java
@@ -0,0 +1,39 @@
+package com.yuanchu.mom.controller;
+
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.PageSystemLogDto;
+import com.yuanchu.mom.service.SystemLogService;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * 绯荤粺鏃ュ織(SystemLog)琛ㄦ帶鍒跺眰
+ *
+ * @author makejava
+ * @since 2024-02-27 17:04:09
+ */
+@RestController
+@RequestMapping("/systemLog")
+@Api(tags = "绯荤粺鏃ュ織")
+@AllArgsConstructor
+public class SystemLogController {
+
+ private SystemLogService systemLogService;
+
+ @ApiOperation(value = "鑾峰彇绯荤粺鏃ュ織鍒楄〃")
+ @PostMapping("/selectSystemLogList")
+ public Result selectSystemLogList(@RequestBody Map<String, Object> data) throws Exception {
+ Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+ PageSystemLogDto pageSystemLogDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), PageSystemLogDto.class);
+ return Result.success(systemLogService.selectSystemLogList(page, pageSystemLogDto));
+ }
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/SystemLogService.java b/user-server/src/main/java/com/yuanchu/mom/service/SystemLogService.java
new file mode 100644
index 0000000..871a180
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/service/SystemLogService.java
@@ -0,0 +1,20 @@
+package com.yuanchu.mom.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.mom.pojo.PageSystemLogDto;
+import com.yuanchu.mom.pojo.SystemLog;
+
+import java.util.Map;
+
+/**
+ * 绯荤粺鏃ュ織(SystemLog)琛ㄦ湇鍔℃帴鍙�
+ *
+ * @author makejava
+ * @since 2024-02-27 17:04:09
+ */
+public interface SystemLogService extends IService<SystemLog> {
+
+ Map<String, Object> selectSystemLogList(Page page, PageSystemLogDto pageSystemLogDto);
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/PowerServiceImpl.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/PowerServiceImpl.java
similarity index 96%
rename from user-server/src/main/java/com/yuanchu/mom/service/imp/PowerServiceImpl.java
rename to user-server/src/main/java/com/yuanchu/mom/service/impl/PowerServiceImpl.java
index f33391f..f52b681 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/PowerServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/PowerServiceImpl.java
@@ -1,4 +1,4 @@
-package com.yuanchu.mom.service.imp;
+package com.yuanchu.mom.service.impl;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java
similarity index 98%
rename from user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
rename to user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java
index ba28b1b..a117a3d 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java
@@ -1,4 +1,4 @@
-package com.yuanchu.mom.service.imp;
+package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/impl/SystemLogServiceImpl.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/SystemLogServiceImpl.java
new file mode 100644
index 0000000..ffe5d9d
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/SystemLogServiceImpl.java
@@ -0,0 +1,42 @@
+package com.yuanchu.mom.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.GetLook;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.mapper.SystemLogMapper;
+import com.yuanchu.mom.pojo.PageSystemLogDto;
+import com.yuanchu.mom.pojo.SystemLog;
+import com.yuanchu.mom.service.SystemLogService;
+import com.yuanchu.mom.utils.QueryWrappers;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 绯荤粺鏃ュ織(SystemLog)琛ㄦ湇鍔″疄鐜扮被
+ *
+ * @author makejava
+ * @since 2024-02-27 17:04:09
+ */
+@Service
+@AllArgsConstructor
+public class SystemLogServiceImpl extends ServiceImpl<SystemLogMapper, SystemLog> implements SystemLogService {
+
+ private GetLook getLook;
+
+ private SystemLogMapper systemLogMapper;
+
+ @Override
+ public Map<String, Object> selectSystemLogList(Page page, PageSystemLogDto pageSystemLogDto) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("head", PrintChina.printChina(PageSystemLogDto.class));
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectSystemLogList");
+ if(map1.get("look")==1) pageSystemLogDto.setCreateUser(map1.get("userId"));
+ map.put("body", systemLogMapper.selectSystemLogList(page, QueryWrappers.queryWrappers(pageSystemLogDto)));
+ return map;
+ }
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
similarity index 98%
rename from user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java
rename to user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
index 7d8d7ae..4796942 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
@@ -1,4 +1,4 @@
-package com.yuanchu.mom.service.imp;
+package com.yuanchu.mom.service.impl;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
--
Gitblit v1.9.3