系统异常日志模块的迁移

This commit is contained in:
YunaiV
2020-07-16 09:04:18 +08:00
parent 42e30bf380
commit 02dda60e60
35 changed files with 814 additions and 428 deletions

View File

@@ -69,15 +69,20 @@ public enum SystemErrorCodeEnum implements ServiceExceptionUtil.Enumerable<Syste
DEPARTMENT_PARENT_ERROR(1002007005, "不能设置自己为父资源"),
DEPARTMENT_EXISTS_ADMIN(1002007006, "部门中存在员工,无法删除"),
// ========== 权模块 1002008000 ==========
AUTHORIZATION_PERMISSION_DENY(1002008001, "没有该操作权限"),
AUTHORIZATION_DEMO_PERMISSION_DENY(1002008002, "演示账号暂不允许写操作。欢迎加入我们的交流群http://t.cn/EKEr5WE"),
AUTHORIZATION_ROLE_ASSIGN_RESOURCE_NOT_EXISTS(1002008004, "分配角色资源时,有资源不存在"),
// ========== 权模块 1002008000 ==========
PERMISSION_DENY(1002008001, "没有该操作权限"),
PERMISSION_DEMO_PERMISSION_DENY(1002008002, "演示账号暂不允许写操作。欢迎加入我们的交流群http://t.cn/EKEr5WE"),
PERMISSION_ROLE_ASSIGN_RESOURCE_NOT_EXISTS(1002008004, "分配角色资源时,有资源不存在"),
// ========== 错误码模块 1002009000 ==========
ERROR_CODE_NOT_EXISTS(1002009000, "错误码不存在"),
ERROR_CODE_DUPLICATE(1002009001, "已经存在编码为【{}}】的错误码"),
ERROR_CAN_NOT_UPDATE_SYSTEM_TYPE_ERROR(1002004003, "不能修改类型为系统内置的错误码"),
// ========== 系统异常日志模块 1002010000 ==========
SYSTEM_EXCEPTION_LOG_NOT_FOUND(1002010000, "系统异常日志不存在"),
SYSTEM_EXCEPTION_LOG_PROCESSED(1002010001, "系统异常日志已处理"),
;

View File

@@ -0,0 +1,45 @@
package cn.iocoder.mall.systemservice.enums.systemlog;
import cn.iocoder.common.framework.core.IntArrayValuable;
import java.util.Arrays;
/**
* 系统异常日志的处理状态枚举
*/
public enum SystemExceptionLogProcessStatusEnum implements IntArrayValuable {
INIT(0, "未处理"),
DONE(1, "已处理"),
IGNORE(2, "已忽略");
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(SystemExceptionLogProcessStatusEnum::getStatus).toArray();
/**
* 状态
*/
private final Integer status;
/**
* 资源类型名
*/
private final String name;
SystemExceptionLogProcessStatusEnum(Integer status, String name) {
this.status = status;
this.name = name;
}
public Integer getStatus() {
return status;
}
public String getName() {
return name;
}
@Override
public int[] array() {
return ARRAYS;
}
}

View File

@@ -1,10 +1,47 @@
package cn.iocoder.mall.systemservice.rpc.systemlog;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemExceptionLogCreateDTO;
import cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemExceptionLogPageDTO;
import cn.iocoder.mall.systemservice.rpc.systemlog.dto.SystemExceptionLogProcessDTO;
import cn.iocoder.mall.systemservice.rpc.systemlog.vo.SystemExceptionLogVO;
/**
* 系统异常日志 Rpc 接口
*/
public interface SystemExceptionLogRpc {
/**
* 创建系统异常日志
*
* @param createDTO 创建系统异常日志 DTO
* @return 成功
*/
CommonResult<Boolean> createSystemExceptionLog(SystemExceptionLogCreateDTO createDTO);
/**
* 获得系统异常日志
*
* @param systemExceptionLogId 系统异常日志编号
* @return 系统异常日志
*/
CommonResult<SystemExceptionLogVO> getSystemExceptionLog(Integer systemExceptionLogId);
/**
* 获得系统异常日志分页
*
* @param pageDTO 系统异常日志分页查询
* @return 系统异常日志分页结果
*/
CommonResult<PageResult<SystemExceptionLogVO>> pageSystemExceptionLog(SystemExceptionLogPageDTO pageDTO);
/**
* 处理系统异常日志,完成或者忽略
*
* @param processDTO 处理 DTO
* @return 成功
*/
CommonResult<Boolean> processSystemExceptionLog(SystemExceptionLogProcessDTO processDTO);
}

View File

@@ -0,0 +1,35 @@
package cn.iocoder.mall.systemservice.rpc.systemlog.dto;
import cn.iocoder.common.framework.vo.PageParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 系统异常日志分页 DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class SystemExceptionLogPageDTO extends PageParam {
/**
* 用户编号
*/
private Integer userId;
/**
* 用户类型
*/
private Integer userType;
/**
* 应用名
*
* 目前读取 spring.application.name
*/
private String applicationName;
/**
* 处理状态
*/
private Integer processStatus;
}

View File

@@ -0,0 +1,29 @@
package cn.iocoder.mall.systemservice.rpc.systemlog.dto;
import cn.iocoder.common.framework.vo.PageParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 系统异常日志处理 DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class SystemExceptionLogProcessDTO extends PageParam {
/**
* 系统异常日志编号
*/
private Integer logId;
/**
* 处理状态
*/
private Integer processStatus;
/**
* 处理管理员编号
*/
private Integer processAdminId;
}

View File

@@ -0,0 +1,125 @@
package cn.iocoder.mall.systemservice.rpc.systemlog.vo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 系统异常日志 VO
*/
@Data
@Accessors(chain = true)
public class SystemExceptionLogVO implements Serializable {
/**
* 编号
*/
private Integer id;
/**
* 用户编号
*/
private Integer userId;
/**
* 用户类型
*/
private Integer userType;
/**
* 链路追踪编号
*
* 一般来说通过链路追踪编号可以将访问日志错误日志链路追踪日志logger 打印日志等,结合在一起,从而进行排错。
*/
private String traceId;
/**
* 应用名
*
* 目前读取 spring.application.name
*/
private String applicationName;
/**
* 访问地址
*/
private String uri;
/**
* 参数
*/
private String queryString;
/**
* http 方法
*/
private String method;
/**
* userAgent
*/
private String userAgent;
/**
* ip
*/
private String ip;
/**
* 异常发生时间
*/
private Date exceptionTime;
/**
* 异常名
*
* {@link Throwable#getClass()} 的类全名
*/
private String exceptionName;
/**
* 异常导致的消息
*
* {@link cn.iocoder.common.framework.util.ExceptionUtil#getMessage(Throwable)}
*/
private String exceptionMessage;
/**
* 异常导致的根消息
*
* {@link cn.iocoder.common.framework.util.ExceptionUtil#getRootCauseMessage(Throwable)}
*/
private String exceptionRootCauseMessage;
/**
* 异常的栈轨迹
*
* {@link cn.iocoder.common.framework.util.ExceptionUtil#getServiceException(Exception)}
*/
private String exceptionStackTrace;
/**
* 异常发生的类全名
*
* {@link StackTraceElement#getClassName()}
*/
private String exceptionClassName;
/**
* 异常发生的类文件
*
* {@link StackTraceElement#getFileName()}
*/
private String exceptionFileName;
/**
* 异常发生的方法名
*
* {@link StackTraceElement#getMethodName()}
*/
private String exceptionMethodName;
/**
* 异常发生的方法所在行
*
* {@link StackTraceElement#getLineNumber()}
*/
private Integer exceptionLineNumber;
/**
* 处理状态
*/
private Integer processStatus;
/**
* 处理时间
*/
private Date processTime;
/**
* 处理管理员编号
*/
private Integer processAdminId;
}