Merge remote-tracking branch 'origin/2.0.x' into dev

# Conflicts:
#	README.md
#	continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseReq.java
#	continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java
#	continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/GlobalExceptionHandler.java
#	continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExceptionUtils.java
#	continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/QueryHelper.java
#	continew-admin-monitor/src/main/java/top/charles7c/cnadmin/monitor/interceptor/LogInterceptor.java
#	continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/req/DeptReq.java
#	continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/req/MenuReq.java
#	continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/req/RoleReq.java
#	continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/DeptServiceImpl.java
#	continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java
#	continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/UserServiceImpl.java
#	continew-admin-ui/src/components/footer/index.vue
#	continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/common/CommonController.java
#	continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/UserCenterController.java
#	continew-admin-webapi/src/main/resources/config/application-dev.yml
#	continew-admin-webapi/src/main/resources/config/application-prod.yml
#	pom.xml
This commit is contained in:
2023-11-04 23:57:06 +08:00
79 changed files with 256 additions and 177 deletions

View File

@@ -19,10 +19,10 @@ package top.charles7c.cnadmin.monitor.filter;
import java.io.IOException;
import java.util.Objects;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.core.Ordered;
import org.springframework.lang.NonNull;

View File

@@ -21,8 +21,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -43,7 +43,7 @@ import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.hutool.extra.servlet.JakartaServletUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.http.HttpStatus;
import cn.hutool.json.JSONArray;
@@ -217,7 +217,7 @@ public class LogInterceptor implements HandlerInterceptor {
: request.getRequestURL().append(StringConsts.QUESTION_MARK).append(request.getQueryString()).toString());
String method = request.getMethod();
logDO.setRequestMethod(method);
logDO.setRequestHeaders(this.desensitize(ServletUtil.getHeaderMap(request)));
logDO.setRequestHeaders(this.desensitize(JakartaServletUtil.getHeaderMap(request)));
String requestBody = this.getRequestBody(request);
logDO.setCreateUser(ObjectUtil.defaultIfNull(logDO.getCreateUser(), LoginHelper.getUserId()));
String requestURI = request.getRequestURI();
@@ -241,13 +241,13 @@ public class LogInterceptor implements HandlerInterceptor {
}
requestBody = JSONUtil.toJsonStr(requestBodyJsonObjList);
} else {
requestBody = this.desensitize(ServletUtil.getParamMap(request));
requestBody = this.desensitize(JakartaServletUtil.getParamMap(request));
}
logDO.setRequestBody(requestBody);
}
logDO.setClientIp(ServletUtil.getClientIP(request));
logDO.setClientIp(JakartaServletUtil.getClientIP(request));
logDO.setLocation(IpUtils.getCityInfo(logDO.getClientIp()));
logDO.setBrowser(ServletUtils.getBrowser(request));
logDO.setBrowser(JakartaServletUtil.getBrowser(request));
}
/**
@@ -262,7 +262,7 @@ public class LogInterceptor implements HandlerInterceptor {
int status = response.getStatus();
logDO.setStatusCode(status);
logDO.setStatus(status >= HttpStatus.HTTP_BAD_REQUEST ? LogStatusEnum.FAILURE : logDO.getStatus());
logDO.setResponseHeaders(this.desensitize(ServletUtil.getHeadersMap(response)));
logDO.setResponseHeaders(this.desensitize(JakartaServletUtil.getHeadersMap(response)));
// 响应体(不记录非 JSON 响应数据)
String responseBody = this.getResponseBody(response);
if (StrUtil.isNotBlank(responseBody) && JSONUtil.isTypeJSON(responseBody)) {
@@ -350,7 +350,7 @@ public class LogInterceptor implements HandlerInterceptor {
return false;
}
// 2、检查是否需要记录内网 IP 操作
boolean isInnerIp = IpUtils.isInnerIp(ServletUtil.getClientIP(request));
boolean isInnerIp = IpUtils.isInnerIp(JakartaServletUtil.getClientIP(request));
if (isInnerIp && Boolean.FALSE.equals(operationLogProperties.getIncludeInnerIp())) {
return false;
}

View File

@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.monitor.model.entity;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
@@ -36,6 +37,7 @@ import top.charles7c.cnadmin.monitor.enums.LogStatusEnum;
@TableName("sys_log")
public class LogDO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**

View File

@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.monitor.model.query;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -41,6 +42,7 @@ import top.charles7c.cnadmin.common.enums.QueryTypeEnum;
@Schema(description = "登录日志查询条件")
public class LoginLogQuery implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**

View File

@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.monitor.model.query;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -41,6 +42,7 @@ import top.charles7c.cnadmin.common.enums.QueryTypeEnum;
@Schema(description = "操作日志查询条件")
public class OperationLogQuery implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**

View File

@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.monitor.model.query;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -41,6 +42,7 @@ import top.charles7c.cnadmin.common.enums.QueryTypeEnum;
@Schema(description = "系统日志查询条件")
public class SystemLogQuery implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**

View File

@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.monitor.model.resp;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
@@ -34,6 +35,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
@Data
public class LogResp implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**

View File

@@ -16,6 +16,8 @@
package top.charles7c.cnadmin.monitor.model.resp;
import java.io.Serial;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -32,6 +34,7 @@ import top.charles7c.cnadmin.monitor.enums.LogStatusEnum;
@Schema(description = "登录日志信息")
public class LoginLogResp extends LogResp {
@Serial
private static final long serialVersionUID = 1L;
/**

View File

@@ -16,6 +16,8 @@
package top.charles7c.cnadmin.monitor.model.resp;
import java.io.Serial;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -32,6 +34,7 @@ import top.charles7c.cnadmin.monitor.enums.LogStatusEnum;
@Schema(description = "操作日志信息")
public class OperationLogResp extends LogResp {
@Serial
private static final long serialVersionUID = 1L;
/**

View File

@@ -16,6 +16,8 @@
package top.charles7c.cnadmin.monitor.model.resp;
import java.io.Serial;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -30,6 +32,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "系统日志详情信息")
public class SystemLogDetailResp extends LogResp {
@Serial
private static final long serialVersionUID = 1L;
/**

View File

@@ -16,6 +16,8 @@
package top.charles7c.cnadmin.monitor.model.resp;
import java.io.Serial;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -30,6 +32,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "系统日志信息")
public class SystemLogResp extends LogResp {
@Serial
private static final long serialVersionUID = 1L;
/**