diff --git a/continew-admin-common/pom.xml b/continew-admin-common/pom.xml
index 4d62bb89..1b2b9617 100644
--- a/continew-admin-common/pom.xml
+++ b/continew-admin-common/pom.xml
@@ -80,7 +80,7 @@ limitations under the License.
cn.dev33
- sa-token-spring-boot-starter
+ sa-token-spring-boot3-starter
@@ -146,7 +146,7 @@ limitations under the License.
com.github.xiaoymin
- knife4j-openapi3-spring-boot-starter
+ knife4j-openapi3-jakarta-spring-boot-starter
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java
index d1f33d63..5bf81a64 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java
@@ -20,7 +20,7 @@ import static top.charles7c.cnadmin.common.annotation.CrudRequestMapping.Api;
import java.util.List;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.NoArgsConstructor;
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseDO.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseDO.java
index 051a2642..99aa9f43 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseDO.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseDO.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.base;
+import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
@@ -34,6 +35,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
@Data
public class BaseDO implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseDetailResp.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseDetailResp.java
index e9166129..145eb9c7 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseDetailResp.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseDetailResp.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.base;
+import java.io.Serial;
import java.time.LocalDateTime;
import lombok.Data;
@@ -34,6 +35,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
@Data
public class BaseDetailResp extends BaseResp {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseReq.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseReq.java
index 0607661b..203546e8 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseReq.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseReq.java
@@ -16,8 +16,11 @@
package top.charles7c.cnadmin.common.base;
+import java.io.Serial;
import java.io.Serializable;
+import jakarta.validation.groups.Default;
+
import lombok.Data;
/**
@@ -29,5 +32,6 @@ import lombok.Data;
@Data
public class BaseReq implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
}
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseResp.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseResp.java
index 8d307d11..c586bf58 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseResp.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseResp.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.base;
+import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
@@ -36,6 +37,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
@Data
public class BaseResp implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseService.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseService.java
index f5a476a2..64fcb3a7 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseService.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseService.java
@@ -18,7 +18,7 @@ package top.charles7c.cnadmin.common.base;
import java.util.List;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import cn.hutool.core.lang.tree.Tree;
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java
index 5730748e..83a62dc4 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseServiceImpl.java
@@ -20,7 +20,7 @@ import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
@@ -156,7 +156,7 @@ public abstract class BaseServiceImpl, T extends BaseDO,
/**
* 设置排序
- *
+ *
* @param queryWrapper
* 查询 Wrapper
* @param sortQuery
@@ -231,8 +231,7 @@ public abstract class BaseServiceImpl, T extends BaseDO,
* 待填充列表信息
*/
protected void fill(Object baseObj) {
- if (baseObj instanceof BaseResp) {
- BaseResp baseResp = (BaseResp)baseObj;
+ if (baseObj instanceof BaseResp baseResp) {
Long createUser = baseResp.getCreateUser();
if (null == createUser) {
return;
@@ -249,8 +248,7 @@ public abstract class BaseServiceImpl, T extends BaseDO,
* 待填充详情信息
*/
public void fillDetail(Object detailObj) {
- if (detailObj instanceof BaseDetailResp) {
- BaseDetailResp detail = (BaseDetailResp)detailObj;
+ if (detailObj instanceof BaseDetailResp detail) {
this.fill(detail);
Long updateUser = detail.getUpdateUser();
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/mybatis/MyBatisPlusMetaObjectHandler.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/mybatis/MyBatisPlusMetaObjectHandler.java
index 5a005d46..e7a982a7 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/mybatis/MyBatisPlusMetaObjectHandler.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/mybatis/MyBatisPlusMetaObjectHandler.java
@@ -60,9 +60,8 @@ public class MyBatisPlusMetaObjectHandler implements MetaObjectHandler {
Long createUser = LoginHelper.getUserId();
LocalDateTime createTime = LocalDateTime.now();
- if (metaObject.getOriginalObject() instanceof BaseDO) {
+ if (metaObject.getOriginalObject()instanceof BaseDO baseDO) {
// 继承了 BaseDO 的类,填充创建信息
- BaseDO baseDO = (BaseDO)metaObject.getOriginalObject();
baseDO.setCreateUser(ObjectUtil.defaultIfNull(baseDO.getCreateUser(), createUser));
baseDO.setCreateTime(ObjectUtil.defaultIfNull(baseDO.getCreateTime(), createTime));
} else {
@@ -90,9 +89,8 @@ public class MyBatisPlusMetaObjectHandler implements MetaObjectHandler {
Long updateUser = LoginHelper.getUserId();
LocalDateTime updateTime = LocalDateTime.now();
- if (metaObject.getOriginalObject() instanceof BaseDO) {
+ if (metaObject.getOriginalObject()instanceof BaseDO baseDO) {
// 继承了 BaseDO 的类,填充修改信息
- BaseDO baseDO = (BaseDO)metaObject.getOriginalObject();
baseDO.setUpdateUser(updateUser);
baseDO.setUpdateTime(updateTime);
} else {
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/CrudRequestMappingHandlerMapping.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/CrudRequestMappingHandlerMapping.java
index cfb3f6d1..5c0e19e2 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/CrudRequestMappingHandlerMapping.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/CrudRequestMappingHandlerMapping.java
@@ -16,20 +16,19 @@
package top.charles7c.cnadmin.common.handler;
-import static top.charles7c.cnadmin.common.annotation.CrudRequestMapping.Api;
-
-import java.lang.reflect.Method;
-
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.StrUtil;
import org.springframework.lang.NonNull;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
-
-import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.StrUtil;
-
+import org.springframework.web.util.pattern.PathPatternParser;
import top.charles7c.cnadmin.common.annotation.CrudRequestMapping;
import top.charles7c.cnadmin.common.util.ExceptionUtils;
+import java.lang.reflect.Method;
+
+import static top.charles7c.cnadmin.common.annotation.CrudRequestMapping.Api;
+
/**
* CRUD 请求映射器处理器映射器
*
@@ -55,7 +54,14 @@ public class CrudRequestMappingHandlerMapping extends RequestMappingHandlerMappi
// 拼接路径前缀(合并了 @RequestMapping 的部分能力)
String pathPrefix = crudRequestMapping.value();
if (StrUtil.isNotBlank(pathPrefix)) {
- requestMappingInfo = RequestMappingInfo.paths(pathPrefix).build().combine(requestMappingInfo);
+ /*
+ * 问题:RequestMappingInfo.paths(pathPrefix) 返回的 RequestMappingInfo 对象里 pathPatternsCondition = null
+ * 导致 combine() 方法抛出断言异常! 修复:创建 options 对象,并设置 PatternParser
+ */
+ RequestMappingInfo.BuilderConfiguration options = new RequestMappingInfo.BuilderConfiguration();
+ options.setPatternParser(PathPatternParser.defaultInstance);
+ requestMappingInfo =
+ RequestMappingInfo.paths(pathPrefix).options(options).build().combine(requestMappingInfo);
}
// 过滤 API
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/GlobalExceptionHandler.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/GlobalExceptionHandler.java
index a5c816a1..d7a86ae1 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/GlobalExceptionHandler.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/handler/GlobalExceptionHandler.java
@@ -18,9 +18,9 @@ package top.charles7c.cnadmin.common.handler;
import java.util.Objects;
-import javax.servlet.http.HttpServletRequest;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.ConstraintViolationException;
import lombok.extern.slf4j.Slf4j;
@@ -132,18 +132,11 @@ public class GlobalExceptionHandler {
@ExceptionHandler(NotLoginException.class)
public R handleNotLoginException(NotLoginException e, HttpServletRequest request) {
log.error("请求地址 [{}],认证失败,无法访问系统资源。", request.getRequestURI(), e);
- String errorMsg;
- switch (e.getType()) {
- case NotLoginException.KICK_OUT:
- errorMsg = "您已被踢下线。";
- break;
- case NotLoginException.BE_REPLACED_MESSAGE:
- errorMsg = "您已被顶下线。";
- break;
- default:
- errorMsg = "您的登录状态已过期,请重新登录。";
- break;
- }
+ String errorMsg = switch (e.getType()) {
+ case NotLoginException.KICK_OUT -> "您已被踢下线。";
+ case NotLoginException.BE_REPLACED_MESSAGE -> "您已被顶下线。";
+ default -> "您的登录状态已过期,请重新登录。";
+ };
LogContextHolder.setErrorMsg(errorMsg);
return R.fail(HttpStatus.UNAUTHORIZED.value(), errorMsg);
}
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/LogContext.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/LogContext.java
index e2a4a214..da810c15 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/LogContext.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/LogContext.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.model.dto;
+import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
@@ -30,6 +31,7 @@ import lombok.Data;
@Data
public class LogContext implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/LoginUser.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/LoginUser.java
index be1d1f36..00cfdfb3 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/LoginUser.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/LoginUser.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.model.dto;
+import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Set;
@@ -35,6 +36,7 @@ import top.charles7c.cnadmin.common.constant.SysConsts;
@Data
public class LoginUser implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/RoleDTO.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/RoleDTO.java
index 298ba332..89843ea3 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/RoleDTO.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/dto/RoleDTO.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.model.dto;
+import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
@@ -31,6 +32,7 @@ import top.charles7c.cnadmin.common.enums.DataScopeEnum;
@Data
public class RoleDTO implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/query/PageQuery.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/query/PageQuery.java
index 1e91e48e..1b1a6048 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/query/PageQuery.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/query/PageQuery.java
@@ -16,7 +16,9 @@
package top.charles7c.cnadmin.common.model.query;
-import javax.validation.constraints.Min;
+import java.io.Serial;
+
+import jakarta.validation.constraints.Min;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -24,7 +26,7 @@ import lombok.NoArgsConstructor;
import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Range;
-import org.springdoc.api.annotations.ParameterObject;
+import org.springdoc.core.annotations.ParameterObject;
import org.springframework.data.domain.Sort;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -46,6 +48,7 @@ import cn.hutool.core.util.StrUtil;
@Schema(description = "分页查询条件")
public class PageQuery extends SortQuery {
+ @Serial
private static final long serialVersionUID = 1L;
/** 默认页码:1 */
private static final int DEFAULT_PAGE = 1;
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/req/UpdateStatusReq.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/req/UpdateStatusReq.java
index 30c6e814..8d307554 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/req/UpdateStatusReq.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/req/UpdateStatusReq.java
@@ -16,9 +16,10 @@
package top.charles7c.cnadmin.common.model.req;
+import java.io.Serial;
import java.io.Serializable;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -36,6 +37,7 @@ import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
@Schema(description = "修改状态信息")
public class UpdateStatusReq implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/CaptchaResp.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/CaptchaResp.java
index 63884467..98f7c66a 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/CaptchaResp.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/CaptchaResp.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.model.resp;
+import java.io.Serial;
import java.io.Serializable;
import lombok.Builder;
@@ -34,6 +35,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "验证码信息")
public class CaptchaResp implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/LabelValueResp.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/LabelValueResp.java
index ef264c79..0113eae1 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/LabelValueResp.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/LabelValueResp.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.model.resp;
+import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
@@ -37,6 +38,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
@Schema(description = "键值对信息")
public class LabelValueResp implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/PageDataResp.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/PageDataResp.java
index 16107a9a..e38e9798 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/PageDataResp.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/PageDataResp.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.model.resp;
+import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -41,6 +42,7 @@ import cn.hutool.core.collection.CollUtil;
@Schema(description = "分页信息")
public class PageDataResp implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/R.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/R.java
index a2d50a66..bd7b751f 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/R.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/resp/R.java
@@ -16,6 +16,7 @@
package top.charles7c.cnadmin.common.model.resp;
+import java.io.Serial;
import java.io.Serializable;
import lombok.AccessLevel;
@@ -39,6 +40,7 @@ import cn.hutool.core.date.DateUtil;
@Schema(description = "响应信息")
public class R implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/** 是否成功 */
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExcelUtils.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExcelUtils.java
index 7793fe38..831751f4 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExcelUtils.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExcelUtils.java
@@ -19,7 +19,7 @@ package top.charles7c.cnadmin.common.util;
import java.util.Date;
import java.util.List;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExceptionUtils.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExceptionUtils.java
index 84484560..22f6d54e 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExceptionUtils.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ExceptionUtils.java
@@ -46,9 +46,8 @@ public class ExceptionUtils {
* 异常
*/
public static void printException(Runnable runnable, Throwable throwable) {
- if (null == throwable && runnable instanceof Future>) {
+ if (null == throwable && runnable instanceof Future> future) {
try {
- Future> future = (Future>)runnable;
if (future.isDone()) {
future.get();
}
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/MailUtils.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/MailUtils.java
index 00a4e525..a6389084 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/MailUtils.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/MailUtils.java
@@ -22,8 +22,8 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
+import jakarta.mail.MessagingException;
+import jakarta.mail.internet.MimeMessage;
import lombok.AccessLevel;
import lombok.Data;
@@ -200,14 +200,14 @@ public class MailUtils {
// 设置收信人
// 抄送人
if (CollUtil.isNotEmpty(ccs)) {
- messageHelper.setCc(ccs.toArray(new String[0]));
+ messageHelper.setCc(ccs.toArray(String[]::new));
}
// 密送人
if (CollUtil.isNotEmpty(bccs)) {
- messageHelper.setBcc(bccs.toArray(new String[0]));
+ messageHelper.setBcc(bccs.toArray(String[]::new));
}
// 收件人
- messageHelper.setTo(tos.toArray(new String[0]));
+ messageHelper.setTo(tos.toArray(String[]::new));
// 设置附件
if (ArrayUtil.isNotEmpty(files)) {
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ServletUtils.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ServletUtils.java
index 4f636eca..2b129dbc 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ServletUtils.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/ServletUtils.java
@@ -18,8 +18,8 @@ package top.charles7c.cnadmin.common.util;
import java.util.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/LoginHelper.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/LoginHelper.java
index e8f51889..18c1af7d 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/LoginHelper.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/LoginHelper.java
@@ -18,7 +18,7 @@ package top.charles7c.cnadmin.common.util.helper;
import java.time.LocalDateTime;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
@@ -26,7 +26,7 @@ import lombok.NoArgsConstructor;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.StpUtil;
-import cn.hutool.extra.servlet.ServletUtil;
+import cn.hutool.extra.servlet.JakartaServletUtil;
import cn.hutool.extra.spring.SpringUtil;
import top.charles7c.cnadmin.common.constant.CacheConsts;
@@ -58,7 +58,7 @@ public class LoginHelper {
public static String login(LoginUser loginUser) {
// 记录登录信息
HttpServletRequest request = ServletUtils.getRequest();
- loginUser.setClientIp(ServletUtil.getClientIP(request));
+ loginUser.setClientIp(JakartaServletUtil.getClientIP(request));
loginUser.setLocation(IpUtils.getCityInfo(loginUser.getClientIp()));
loginUser.setBrowser(ServletUtils.getBrowser(request));
LogContext logContext = LogContextHolder.get();
diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/QueryHelper.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/QueryHelper.java
index df4efed1..3175c817 100644
--- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/QueryHelper.java
+++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/util/helper/QueryHelper.java
@@ -20,6 +20,7 @@ import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
+import cn.hutool.core.collection.CollUtil;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -86,7 +87,7 @@ public class QueryHelper {
* 查询数据类型
*/
private static void buildQuery(Q query, Field field, QueryWrapper queryWrapper) {
- boolean accessible = field.isAccessible();
+ boolean accessible = field.canAccess(null);
try {
field.setAccessible(true);
// 没有 @Query,直接返回
@@ -149,54 +150,31 @@ public class QueryHelper {
String columnName = StrUtil.toUnderlineCase(StrUtil.blankToDefault(property, fieldName));
QueryTypeEnum queryType = queryAnnotation.type();
switch (queryType) {
- case EQUAL:
- queryWrapper.eq(columnName, fieldValue);
- break;
- case NOT_EQUAL:
- queryWrapper.ne(columnName, fieldValue);
- break;
- case GREATER_THAN:
- queryWrapper.gt(columnName, fieldValue);
- break;
- case LESS_THAN:
- queryWrapper.lt(columnName, fieldValue);
- break;
- case GREATER_THAN_OR_EQUAL:
- queryWrapper.ge(columnName, fieldValue);
- break;
- case LESS_THAN_OR_EQUAL:
- queryWrapper.le(columnName, fieldValue);
- break;
- case BETWEEN:
+ case EQUAL -> queryWrapper.eq(columnName, fieldValue);
+ case NOT_EQUAL -> queryWrapper.ne(columnName, fieldValue);
+ case GREATER_THAN -> queryWrapper.gt(columnName, fieldValue);
+ case LESS_THAN -> queryWrapper.lt(columnName, fieldValue);
+ case GREATER_THAN_OR_EQUAL -> queryWrapper.ge(columnName, fieldValue);
+ case LESS_THAN_OR_EQUAL -> queryWrapper.le(columnName, fieldValue);
+ case BETWEEN -> {
List