Commit cbb11986b4922e817af7a96a59af59d147764b7f

Authored by YunaiV
1 parent e330bf0f

调整登陆日志表结构,开始迁移

Showing 26 changed files with 222 additions and 251 deletions
ruoyi-admin/pom.xml deleted
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<project xmlns="http://maven.apache.org/POM/4.0.0"
3   - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4   - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5   - <parent>
6   - <artifactId>ruoyi</artifactId>
7   - <groupId>com.ruoyi</groupId>
8   - <version>3.3.0</version>
9   - </parent>
10   - <modelVersion>4.0.0</modelVersion>
11   - <packaging>jar</packaging>
12   - <artifactId>ruoyi-admin</artifactId>
13   -
14   - <description>
15   - web服务入口
16   - </description>
17   -
18   - <dependencies>
19   -
20   - <!-- spring-boot-devtools -->
21   - <dependency>
22   - <groupId>org.springframework.boot</groupId>
23   - <artifactId>spring-boot-devtools</artifactId>
24   - <optional>true</optional> <!-- 表示依赖不会传递 -->
25   - </dependency>
26   -
27   - <!-- swagger2-->
28   - <dependency>
29   - <groupId>io.springfox</groupId>
30   - <artifactId>springfox-swagger2</artifactId>
31   - </dependency>
32   -
33   - <!--防止进入swagger页面报类型转换错误,排除2.9.2中的引用,手动增加1.5.21版本-->
34   - <dependency>
35   - <groupId>io.swagger</groupId>
36   - <artifactId>swagger-annotations</artifactId>
37   - <version>1.5.21</version>
38   - </dependency>
39   -
40   - <dependency>
41   - <groupId>io.swagger</groupId>
42   - <artifactId>swagger-models</artifactId>
43   - <version>1.5.21</version>
44   - </dependency>
45   -
46   - <!-- swagger2-UI-->
47   - <dependency>
48   - <groupId>io.springfox</groupId>
49   - <artifactId>springfox-swagger-ui</artifactId>
50   - </dependency>
51   -
52   - <!-- Mysql驱动包 -->
53   - <dependency>
54   - <groupId>mysql</groupId>
55   - <artifactId>mysql-connector-java</artifactId>
56   - </dependency>
57   -
58   - <!-- 核心模块-->
59   - <dependency>
60   - <groupId>com.ruoyi</groupId>
61   - <artifactId>ruoyi-framework</artifactId>
62   - </dependency>
63   -
64   - <!-- 定时任务-->
65   - <dependency>
66   - <groupId>com.ruoyi</groupId>
67   - <artifactId>ruoyi-quartz</artifactId>
68   - </dependency>
69   -
70   - <!-- 代码生成-->
71   - <dependency>
72   - <groupId>com.ruoyi</groupId>
73   - <artifactId>ruoyi-generator</artifactId>
74   - </dependency>
75   -
76   - </dependencies>
77   -
78   - <build>
79   - <plugins>
80   - <plugin>
81   - <groupId>org.springframework.boot</groupId>
82   - <artifactId>spring-boot-maven-plugin</artifactId>
83   - <version>2.1.1.RELEASE</version>
84   - <configuration>
85   - <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
86   - </configuration>
87   - <executions>
88   - <execution>
89   - <goals>
90   - <goal>repackage</goal>
91   - </goals>
92   - </execution>
93   - </executions>
94   - </plugin>
95   - <plugin>
96   - <groupId>org.apache.maven.plugins</groupId>
97   - <artifactId>maven-war-plugin</artifactId>
98   - <version>3.1.0</version>
99   - <configuration>
100   - <failOnMissingWebXml>false</failOnMissingWebXml>
101   - <warName>${project.artifactId}</warName>
102   - </configuration>
103   - </plugin>
104   - </plugins>
105   - <finalName>${project.artifactId}</finalName>
106   - </build>
107   -
108   -</project>
109 0 \ No newline at end of file
ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
... ... @@ -19,7 +19,7 @@ import com.ruoyi.system.service.ISysLogininforService;
19 19  
20 20 /**
21 21 * 系统访问记录
22   - *
  22 + *
23 23 * @author ruoyi
24 24 */
25 25 @RestController
... ... @@ -48,20 +48,4 @@ public class SysLogininforController extends BaseController
48 48 return util.exportExcel(list, "登录日志");
49 49 }
50 50  
51   - @PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')")
52   - @Log(title = "登录日志", businessType = BusinessType.DELETE)
53   - @DeleteMapping("/{infoIds}")
54   - public AjaxResult remove(@PathVariable Long[] infoIds)
55   - {
56   - return toAjax(logininforService.deleteLogininforByIds(infoIds));
57   - }
58   -
59   - @PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')")
60   - @Log(title = "登录日志", businessType = BusinessType.CLEAN)
61   - @DeleteMapping("/clean")
62   - public AjaxResult clean()
63   - {
64   - logininforService.cleanLogininfor();
65   - return AjaxResult.success();
66   - }
67 51 }
... ...
ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java deleted
1   -package com.ruoyi.web.controller.monitor;
2   -
3   -import java.util.List;
4   -
5   -import org.springframework.beans.factory.annotation.Autowired;
6   -import org.springframework.security.access.prepost.PreAuthorize;
7   -import org.springframework.web.bind.annotation.DeleteMapping;
8   -import org.springframework.web.bind.annotation.GetMapping;
9   -import org.springframework.web.bind.annotation.PathVariable;
10   -import org.springframework.web.bind.annotation.RequestMapping;
11   -import org.springframework.web.bind.annotation.RestController;
12   -import com.ruoyi.common.annotation.Log;
13   -import com.ruoyi.common.core.controller.BaseController;
14   -import com.ruoyi.common.core.domain.AjaxResult;
15   -import com.ruoyi.common.core.page.TableDataInfo;
16   -import com.ruoyi.common.enums.BusinessType;
17   -import com.ruoyi.common.utils.poi.ExcelUtil;
18   -import com.ruoyi.system.domain.SysOperLog;
19   -import com.ruoyi.system.service.ISysOperLogService;
20   -
21   -/**
22   - * 操作日志记录
23   - *
24   - * @author ruoyi
25   - */
26   -
27   -public class SysOperlogController extends BaseController {
28   -
29   - @Autowired
30   - private ISysOperLogService operLogService;
31   -
32   -
33   -
34   -}
ruoyi-admin/src/main/resources/application.yml
... ... @@ -42,13 +42,6 @@ spring:
42 42 basename: i18n/messages
43 43 profiles:
44 44 active: druid
45   - # 文件上传
46   - servlet:
47   - multipart:
48   - # 单个文件大小
49   - max-file-size: 10MB
50   - # 设置总上传的文件大小
51   - max-request-size: 20MB
52 45 # 服务模块
53 46 devtools:
54 47 restart:
... ... @@ -77,13 +70,6 @@ spring:
77 70 # #连接池最大阻塞等待时间(使用负值表示没有限制)
78 71 max-wait: -1ms
79 72  
80   -# Swagger配置
81   -swagger:
82   - # 是否开启swagger
83   - enabled: true
84   - # 请求前缀
85   - pathMapping: /dev-api
86   -
87 73 # 防止XSS攻击
88 74 xss:
89 75 # 过滤开关
... ...
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java deleted
1   -package com.ruoyi.system.domain;
2   -
3   -import java.util.Date;
4   -import com.fasterxml.jackson.annotation.JsonFormat;
5   -import com.ruoyi.common.annotation.Excel;
6   -import com.ruoyi.common.annotation.Excel.ColumnType;
7   -import com.ruoyi.common.core.domain.BaseEntity;
8   -
9   -/**
10   - * 系统访问记录表 sys_logininfor
11   - *
12   - * @author ruoyi
13   - */
14   -public class SysLogininfor extends BaseEntity
15   -{
16   - private static final long serialVersionUID = 1L;
17   -
18   - /** ID */
19   - @Excel(name = "序号", cellType = ColumnType.NUMERIC)
20   - private Long infoId;
21   -
22   - /** 用户账号 */
23   - @Excel(name = "用户账号")
24   - private String userName;
25   -
26   - /** 登录状态 0成功 1失败 */
27   - @Excel(name = "登录状态", readConverterExp = "0=成功,1=失败")
28   - private String status;
29   -
30   - /** 登录IP地址 */
31   - @Excel(name = "登录地址")
32   - private String ipaddr;
33   -
34   - /** 登录地点 */
35   - @Excel(name = "登录地点")
36   - private String loginLocation;
37   -
38   - /** 浏览器类型 */
39   - @Excel(name = "浏览器")
40   - private String browser;
41   -
42   - /** 操作系统 */
43   - @Excel(name = "操作系统")
44   - private String os;
45   -
46   - /** 提示消息 */
47   - @Excel(name = "提示消息")
48   - private String msg;
49   -
50   - /** 访问时间 */
51   - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
52   - @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
53   - private Date loginTime;
54   -
55   -}
src/main/java/cn/iocoder/dashboard/framework/logger/operatelog/core/aop/OperateLogAspect.java
... ... @@ -10,7 +10,7 @@ import cn.iocoder.dashboard.framework.logger.operatelog.core.enums.OperateTypeEn
10 10 import cn.iocoder.dashboard.framework.logger.operatelog.core.service.OperateLogFrameworkService;
11 11 import cn.iocoder.dashboard.framework.security.core.util.SecurityUtils;
12 12 import cn.iocoder.dashboard.framework.tracer.core.util.TracerUtils;
13   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogCreateReqVO;
  13 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogCreateReqVO;
14 14 import cn.iocoder.dashboard.util.servlet.ServletUtils;
15 15 import com.alibaba.fastjson.JSON;
16 16 import com.google.common.collect.Maps;
... ...
src/main/java/cn/iocoder/dashboard/framework/logger/operatelog/core/service/OperateLogFrameworkService.java
1 1 package cn.iocoder.dashboard.framework.logger.operatelog.core.service;
2 2  
3   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogCreateReqVO;
  3 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogCreateReqVO;
4 4  
5 5 public interface OperateLogFrameworkService {
6 6  
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/SysOperateLogController.java
... ... @@ -6,10 +6,10 @@ import cn.iocoder.dashboard.framework.excel.core.util.ExcelUtils;
6 6 import cn.iocoder.dashboard.framework.logger.operatelog.core.annotations.OperateLog;
7 7 import cn.iocoder.dashboard.framework.logger.operatelog.core.enums.OperateTypeEnum;
8 8 import cn.iocoder.dashboard.framework.logger.operatelog.core.util.OperateLogUtils;
9   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogExcelVO;
10   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogExportReqVO;
11   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogPageReqVO;
12   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogRespVO;
  9 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogExcelVO;
  10 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogExportReqVO;
  11 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogPageReqVO;
  12 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogRespVO;
13 13 import cn.iocoder.dashboard.modules.system.convert.logger.SysOperateLogConvert;
14 14 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.logger.SysOperateLogDO;
15 15 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/loginlog/SysLoginLogBaseVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.loginlog;
  2 +
  3 +import io.swagger.annotations.ApiModelProperty;
  4 +import lombok.Data;
  5 +
  6 +import javax.validation.constraints.NotBlank;
  7 +import javax.validation.constraints.NotEmpty;
  8 +import javax.validation.constraints.NotNull;
  9 +import javax.validation.constraints.Size;
  10 +
  11 +/**
  12 + * 登陆日志 Base VO,提供给添加、修改、详细的子 VO 使用
  13 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
  14 + */
  15 +@Data
  16 +public class SysLoginLogBaseVO {
  17 +
  18 + @ApiModelProperty(value = "链路追踪编号", required = true, example = "89aca178-a370-411c-ae02-3f0d672be4ab")
  19 + @NotEmpty(message = "链路追踪编号不能为空")
  20 + private String traceId;
  21 +
  22 + @ApiModelProperty(value = "用户编号", required = true, example = "1024")
  23 + @NotNull(message = "用户编号不能为空")
  24 + private Long userId;
  25 +
  26 + @ApiModelProperty(value = "用户账号", required = true, example = "yudao")
  27 + @NotBlank(message = "用户账号不能为空")
  28 + @Size(max = 30, message = "用户账号长度不能超过30个字符")
  29 + private String username;
  30 +
  31 +
  32 + @ApiModelProperty(value = "登陆结果", required = true, example = "1", notes = "参见 SysLoginResultEnum 枚举类")
  33 + @NotNull(message = "登陆结果不能为空")
  34 + private Integer result;
  35 +
  36 + @ApiModelProperty(value = "操作明细", example = "修改编号为 1 的用户信息,将性别从男改成女,将姓名从芋道改成源码。")
  37 + private String content;
  38 +
  39 + @ApiModelProperty(value = "用户 IP", required = true, example = "127.0.0.1")
  40 + @NotEmpty(message = "用户 IP 不能为空")
  41 + private String userIp;
  42 +
  43 + @ApiModelProperty(value = "浏览器 UserAgent", required = true, example = "Mozilla/5.0")
  44 + @NotEmpty(message = "浏览器 UserAgent 不能为空")
  45 + private String userAgent;
  46 +
  47 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/loginlog/SysLoginLogCreateReqVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.loginlog;
  2 +
  3 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogCreateReqVO;
  4 +import io.swagger.annotations.ApiModel;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.ToString;
  8 +
  9 +@ApiModel(value = "登陆日志创建 Request VO",
  10 + description = "暂时提供给前端,仅仅后端记录登陆日志时,进行使用")
  11 +@Data
  12 +@EqualsAndHashCode(callSuper = true)
  13 +@ToString(callSuper = true)
  14 +public class SysLoginLogCreateReqVO extends SysOperateLogCreateReqVO {
  15 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/loginlog/SysLoginLogExcelVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.loginlog;
  2 +
  3 +import cn.iocoder.dashboard.framework.excel.core.annotations.DictFormat;
  4 +import cn.iocoder.dashboard.framework.excel.core.convert.DictConvert;
  5 +import cn.iocoder.dashboard.modules.system.enums.dict.DictTypeEnum;
  6 +import com.alibaba.excel.annotation.ExcelProperty;
  7 +import lombok.Data;
  8 +
  9 +import java.util.Date;
  10 +
  11 +/**
  12 + * 登陆日志 Excel 导出响应 VO
  13 + */
  14 +@Data
  15 +public class SysLoginLogExcelVO {
  16 +
  17 + @ExcelProperty("日志主键")
  18 + private Long id;
  19 +
  20 + @ExcelProperty("用户编号")
  21 + private Long userId;
  22 +
  23 + @ExcelProperty("用户账号")
  24 + private String username;
  25 +
  26 + @ExcelProperty(value = "登陆结果", converter = DictConvert.class)
  27 + @DictFormat(DictTypeEnum.SYS_LOGIN_RESULT)
  28 + private Integer result;
  29 +
  30 + @ExcelProperty("登陆 IP")
  31 + private String userIp;
  32 +
  33 + @ExcelProperty("浏览器 UA")
  34 + private String userAgent;
  35 +
  36 + @ExcelProperty("登陆时间")
  37 + private Date createTime;
  38 +
  39 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/loginlog/SysLoginLogRespVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.loginlog;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.ToString;
  8 +
  9 +import java.util.Date;
  10 +
  11 +@ApiModel("操作日志 Response VO")
  12 +@Data
  13 +@EqualsAndHashCode(callSuper = true)
  14 +@ToString(callSuper = true)
  15 +public class SysLoginLogRespVO extends SysLoginLogBaseVO {
  16 +
  17 + @ApiModelProperty(value = "日志编号", required = true, example = "1024")
  18 + private Long id;
  19 +
  20 + @ApiModelProperty(value = "登陆时间", required = true)
  21 + private Date createTime;
  22 +
  23 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/SysOperateLogBaseVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/operatelog/SysOperateLogBaseVO.java
1   -package cn.iocoder.dashboard.modules.system.controller.logger.vo;
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog;
2 2  
3 3 import io.swagger.annotations.ApiModelProperty;
4 4 import lombok.Data;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/SysOperateLogCreateReqVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/operatelog/SysOperateLogCreateReqVO.java
1   -package cn.iocoder.dashboard.modules.system.controller.logger.vo;
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import lombok.Data;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/SysOperateLogExcelVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/operatelog/SysOperateLogExcelVO.java
1   -package cn.iocoder.dashboard.modules.system.controller.logger.vo;
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog;
2 2  
3 3 import cn.iocoder.dashboard.framework.excel.core.annotations.DictFormat;
4 4 import cn.iocoder.dashboard.framework.excel.core.convert.DictConvert;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/SysOperateLogExportReqVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/operatelog/SysOperateLogExportReqVO.java
1   -package cn.iocoder.dashboard.modules.system.controller.logger.vo;
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/SysOperateLogPageReqVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/operatelog/SysOperateLogPageReqVO.java
1   -package cn.iocoder.dashboard.modules.system.controller.logger.vo;
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.PageParam;
4 4 import io.swagger.annotations.ApiModel;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/SysOperateLogRespVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/operatelog/SysOperateLogRespVO.java
1   -package cn.iocoder.dashboard.modules.system.controller.logger.vo;
  1 +package cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog;
2 2  
3 3 import io.swagger.annotations.ApiModel;
4 4 import io.swagger.annotations.ApiModelProperty;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/controller/logger/vo/package-info.java deleted
1   -package cn.iocoder.dashboard.modules.system.controller.logger.vo;
src/main/java/cn/iocoder/dashboard/modules/system/convert/logger/SysOperateLogConvert.java
1 1 package cn.iocoder.dashboard.modules.system.convert.logger;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogCreateReqVO;
5   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogExcelVO;
6   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogRespVO;
  4 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogCreateReqVO;
  5 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogExcelVO;
  6 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogRespVO;
7 7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.logger.SysOperateLogDO;
8 8 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO;
9 9 import cn.iocoder.dashboard.util.collection.MapUtils;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dao/logger/SysOperateLogMapper.java
... ... @@ -4,8 +4,8 @@ import cn.iocoder.dashboard.common.exception.enums.GlobalErrorCodeConstants;
4 4 import cn.iocoder.dashboard.common.pojo.PageResult;
5 5 import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX;
6 6 import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
7   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogExportReqVO;
8   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogPageReqVO;
  7 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogExportReqVO;
  8 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogPageReqVO;
9 9 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.logger.SysOperateLogDO;
10 10 import org.apache.ibatis.annotations.Mapper;
11 11  
... ...
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dataobject/logger/SysLoginLogDO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.logger;
  2 +
  3 +import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO;
  5 +import cn.iocoder.dashboard.modules.system.enums.logger.SysLoginResultEnum;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +
  8 +/**
  9 + * 系统访问记录表
  10 + *
  11 + * @author ruoyi
  12 + */
  13 +@TableName("用户登陆日志")
  14 +public class SysLoginLogDO extends BaseDO {
  15 +
  16 + /**
  17 + * 日志主键
  18 + */
  19 + private Long id;
  20 + /**
  21 + * 链路追踪编号
  22 + */
  23 + private String traceId;
  24 + /**
  25 + * 用户编号
  26 + *
  27 + * 外键 {@link SysUserDO#getId()}
  28 + */
  29 + private Long userId;
  30 + /**
  31 + * 用户账号
  32 + *
  33 + * 冗余,因为账号可以变更
  34 + */
  35 + private String username;
  36 + /**
  37 + * 登陆结果
  38 + *
  39 + * 枚举 {@link SysLoginResultEnum}
  40 + */
  41 + private Integer result;
  42 +
  43 + /**
  44 + * 用户 IP
  45 + */
  46 + private String userIp;
  47 +
  48 + /**
  49 + * 浏览器 UA
  50 + */
  51 + private String userAgent;
  52 +
  53 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/enums/dict/DictTypeEnum.java
... ... @@ -13,6 +13,7 @@ public enum DictTypeEnum {
13 13 SYS_USER_SEX("sys_user_sex"), // 用户性别
14 14 SYS_COMMON_STATUS("sys_common_status"), // 系统状态
15 15 SYS_OPERATE_TYPE("sys_operate_type"), // 操作类型
  16 + SYS_LOGIN_RESULT("sys_login_result"), // 登陆结果
16 17 ;
17 18  
18 19  
... ...
src/main/java/cn/iocoder/dashboard/modules/system/enums/logger/SysLoginResultEnum.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.enums.logger;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * 登陆结果的枚举类
  8 + */
  9 +@Getter
  10 +@AllArgsConstructor
  11 +public enum SysLoginResultEnum {
  12 +
  13 + SUCCESS(0), // 成功
  14 + ;
  15 +
  16 + /**
  17 + * 结果
  18 + */
  19 + private final Integer result;
  20 +
  21 +}
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/logger/SysOperateLogService.java
... ... @@ -2,8 +2,8 @@ package cn.iocoder.dashboard.modules.system.service.logger;
2 2  
3 3 import cn.iocoder.dashboard.common.pojo.PageResult;
4 4 import cn.iocoder.dashboard.framework.logger.operatelog.core.service.OperateLogFrameworkService;
5   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogExportReqVO;
6   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogPageReqVO;
  5 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogExportReqVO;
  6 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogPageReqVO;
7 7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.logger.SysOperateLogDO;
8 8  
9 9 import java.util.List;
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/logger/impl/SysOperateLogServiceImpl.java
... ... @@ -3,9 +3,9 @@ package cn.iocoder.dashboard.modules.system.service.logger.impl;
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.hutool.core.util.StrUtil;
5 5 import cn.iocoder.dashboard.common.pojo.PageResult;
6   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogCreateReqVO;
7   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogExportReqVO;
8   -import cn.iocoder.dashboard.modules.system.controller.logger.vo.SysOperateLogPageReqVO;
  6 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogCreateReqVO;
  7 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogExportReqVO;
  8 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogPageReqVO;
9 9 import cn.iocoder.dashboard.modules.system.convert.logger.SysOperateLogConvert;
10 10 import cn.iocoder.dashboard.modules.system.dal.mysql.dao.logger.SysOperateLogMapper;
11 11 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.logger.SysOperateLogDO;
... ...