From 2a370bca415f210f46fbac3a217271efb3c54d3d Mon Sep 17 00:00:00 2001
From: geekidea <geekidea@qq.com>
Date: Thu, 29 Feb 2024 22:12:38 +0800
Subject: [PATCH 1/2] =?UTF-8?q?jdk17=E4=BB=A3=E7=A0=81=E9=80=82=E9=85=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 docs/TODO.txt                                 |  1 +
 pom.xml                                       | 48 ++++++++-----------
 .../auth/controller/AppLoginController.java   |  7 ++-
 .../boot/auth/controller/LoginController.java |  7 ++-
 .../boot/auth/dto/AppAccountLoginDto.java     |  3 +-
 .../geekidea/boot/auth/dto/AppLoginDto.java   |  3 +-
 .../io/geekidea/boot/auth/dto/LoginDto.java   |  3 +-
 .../auth/enums/LoginInterceptStrategy.java    | 33 ++++++-------
 .../auth/interceptor/AppLoginInterceptor.java |  5 +-
 .../interceptor/CommonLoginInterceptor.java   |  5 +-
 .../interceptor/ExcludePathInterceptor.java   |  4 +-
 .../auth/interceptor/LoginInterceptor.java    |  4 +-
 .../auth/interceptor/NotAuthInterceptor.java  |  5 +-
 .../interceptor/RefreshTokenInterceptor.java  |  5 +-
 .../auth/interceptor/TokenInterceptor.java    |  5 +-
 .../impl/AppLoginRedisServiceImpl.java        |  2 +-
 .../service/impl/LoginRedisServiceImpl.java   |  2 +-
 .../io/geekidea/boot/auth/util/TokenUtil.java |  5 +-
 .../boot/common/constant/LoginConstant.java   | 12 ++---
 .../boot/common/enums/FileServerType.java     | 32 ++++++-------
 .../boot/common/enums/SysFileType.java        | 32 ++++++-------
 .../boot/common/enums/SysLogType.java         | 32 ++++++-------
 .../boot/common/enums/SystemType.java         | 32 ++++++-------
 .../boot/common/enums/UploadType.java         | 48 +++++++++----------
 .../boot/config/MybatisPlusConfig.java        |  1 -
 .../geekidea/boot/config/OpenApiConfig.java   |  2 +-
 .../io/geekidea/boot/config/RedisConfig.java  |  1 -
 .../config/properties/BootProperties.java     |  1 -
 .../properties/LoginCommonProperties.java     |  1 -
 .../config/properties/LoginProperties.java    |  1 -
 .../boot/framework/aop/SysLogAop.java         |  9 ++--
 .../framework/bean/OperatingSystemInfo.java   |  3 +-
 .../boot/framework/enums/ResponseLogType.java | 32 ++++++-------
 .../filter/JsonHttpServletRequestWrapper.java |  8 ++--
 .../filter/JsonRequestBodyFilter.java         |  4 +-
 .../framework/filter/TraceIdLogFilter.java    |  4 +-
 .../BaseExcludeMethodInterceptor.java         |  5 +-
 .../interceptor/BaseMethodInterceptor.java    |  4 +-
 .../PageHelperClearInterceptor.java           |  5 +-
 .../plugins/handler/MerchantLineHandler.java  |  5 +-
 .../boot/framework/query/DataRangeQuery.java  |  2 +-
 .../boot/framework/xss/XssFilter.java         |  4 +-
 .../xss/XssHttpServletRequestWrapper.java     |  5 +-
 .../bean/GeneratorColumnMapping.java          |  8 ++--
 .../generator/constant/GeneratorConstant.java |  1 -
 .../controller/GeneratorController.java       |  4 +-
 .../boot/generator/dto/GeneratorCodeDto.java  |  2 +-
 .../generator/dto/GeneratorColumnDto.java     |  4 +-
 .../boot/generator/dto/GeneratorTableDto.java |  2 +-
 .../generator/enums/GeneratorFormLayout.java  | 33 +++++++------
 .../generator/enums/GeneratorFormType.java    | 33 +++++++------
 .../generator/enums/GeneratorQueryType.java   | 33 +++++++------
 .../enums/GeneratorTemplateType.java          | 33 +++++++------
 .../boot/generator/enums/GeneratorType.java   | 33 +++++++------
 .../generator/enums/RequestMappingStyle.java  | 33 +++++++------
 .../boot/generator/util/GeneratorUtil.java    | 15 +++---
 .../boot/generator/util/VelocityUtil.java     |  3 +-
 .../generator/vo/GeneratorColumnDbVo.java     |  2 +-
 .../boot/generator/vo/GeneratorTableDbVo.java |  8 ++--
 .../controller/SysConfigController.java       |  3 +-
 .../controller/SysDictAppController.java      |  2 +-
 .../system/controller/SysDictController.java  |  3 +-
 .../controller/SysDictTypeController.java     |  2 +-
 .../system/controller/SysFileController.java  |  3 +-
 .../system/controller/SysLogController.java   |  3 +-
 .../system/controller/SysMenuController.java  |  2 +-
 .../system/controller/SysRoleController.java  |  2 +-
 .../system/controller/SysUserController.java  |  3 +-
 .../boot/system/dto/RoleMenusDto.java         |  2 +-
 .../boot/system/dto/SysConfigDto.java         |  5 +-
 .../geekidea/boot/system/dto/SysDictDto.java  |  5 +-
 .../boot/system/dto/SysDictTypeDto.java       |  7 ++-
 .../geekidea/boot/system/dto/SysFileDto.java  |  1 -
 .../geekidea/boot/system/dto/SysMenuDto.java  |  3 +-
 .../geekidea/boot/system/dto/SysRoleDto.java  |  3 +-
 .../geekidea/boot/system/dto/SysUserDto.java  |  4 +-
 .../boot/system/dto/SysUserExcelDto.java      |  2 -
 .../system/dto/SysUserResetPasswordDto.java   | 15 +++---
 .../system/dto/SysUserUpdatePasswordDto.java  |  3 +-
 .../system/dto/SysUserUpdateProfileDto.java   | 19 ++++----
 .../boot/system/entity/SysConfig.java         |  4 +-
 .../geekidea/boot/system/entity/SysDict.java  |  4 +-
 .../boot/system/entity/SysDictType.java       |  4 +-
 .../boot/system/enums/SysMenuType.java        | 32 ++++++-------
 .../boot/system/mapper/SysDictMapper.java     |  4 +-
 .../boot/system/mapper/SysLogMapper.java      |  2 +-
 .../boot/system/mapper/SysRoleMapper.java     |  2 +-
 .../boot/system/query/SysDictQuery.java       |  3 +-
 .../boot/system/vo/SysDictTypeVo.java         |  1 -
 .../boot/system/vo/SysMenuTreeVo.java         |  1 -
 .../user/controller/AppUserController.java    |  3 +-
 .../boot/user/controller/UserController.java  |  3 +-
 .../user/controller/UserRoleController.java   |  3 +-
 .../boot/user/dto/AppUserHeadDto.java         |  2 +-
 .../boot/user/dto/AppUserNicknameDto.java     |  2 +-
 .../io/geekidea/boot/user/dto/UserDto.java    |  7 ++-
 .../geekidea/boot/user/dto/UserRoleDto.java   |  4 +-
 .../io/geekidea/boot/user/entity/User.java    |  4 +-
 .../geekidea/boot/user/mapper/UserMapper.java |  4 +-
 .../io/geekidea/boot/util/CookieUtil.java     |  6 +--
 .../geekidea/boot/util/ExcelExportUtil.java   |  2 +-
 .../boot/util/HttpServletRequestUtil.java     |  3 +-
 .../boot/util/HttpServletResponseUtil.java    |  2 +-
 .../io/geekidea/boot/util/IpRegionUtil.java   |  4 +-
 .../java/io/geekidea/boot/util/IpUtil.java    |  2 +-
 .../io/geekidea/boot/util/SystemTypeUtil.java |  3 +-
 .../io/geekidea/boot/util/api/OssApi.java     | 30 ++++++------
 src/main/resources/application-prod.yml       | 11 +++--
 src/main/resources/application-test.yml       | 11 +++--
 src/main/resources/application.yml            | 38 ++++++++-------
 src/main/resources/banner.txt                 |  2 +-
 .../resources/templates/appController.java.vm |  2 +-
 .../resources/templates/controller.java.vm    |  2 +-
 src/main/resources/templates/dto.java.vm      |  4 +-
 114 files changed, 461 insertions(+), 521 deletions(-)

diff --git a/docs/TODO.txt b/docs/TODO.txt
index e180cbfc..afad6bea 100644
--- a/docs/TODO.txt
+++ b/docs/TODO.txt
@@ -8,3 +8,4 @@ Hazelcast缓存调研
 抛出自定义状态码设计优化
 sys_config代码示例演示
 表注释去除前后空格和换行符
+国际化支持
diff --git a/pom.xml b/pom.xml
index db1ea737..b301b034 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,13 +5,13 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.7.18</version>
+        <version>3.2.3</version>
         <relativePath/>
     </parent>
 
 	<groupId>io.geekidea.boot</groupId>
 	<artifactId>spring-boot-plus</artifactId>
-    <version>2.7.18</version>
+    <version>3.2.3</version>
 
 	<name>spring-boot-plus</name>
     <description>spring-boot-plus</description>
@@ -35,7 +35,7 @@
     </developers>
 
     <properties>
-        <java.version>1.8</java.version>
+        <java.version>17</java.version>
     </properties>
 
     <dependencies>
@@ -71,9 +71,9 @@
         </dependency>
 
         <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>8.0.33</version>
+            <groupId>com.mysql</groupId>
+            <artifactId>mysql-connector-j</artifactId>
+            <version>8.3.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
@@ -86,20 +86,16 @@
         </dependency>
         <dependency>
             <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.5.4.1</version>
+            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
+            <version>3.5.5</version>
         </dependency>
+
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter-test</artifactId>
-            <version>3.5.4.1</version>
+            <version>3.5.5</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-generator</artifactId>
-            <version>3.5.4.1</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.velocity</groupId>
             <artifactId>velocity-engine-core</artifactId>
@@ -112,8 +108,8 @@
         </dependency>
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
-            <version>4.3.0</version>
+            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
+            <version>4.4.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
@@ -128,12 +124,12 @@
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
-            <version>2.15.0</version>
+            <version>2.15.1</version>
         </dependency>
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
-            <version>1.16.0</version>
+            <version>1.16.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
@@ -143,17 +139,17 @@
         <dependency>
             <groupId>com.alibaba.fastjson2</groupId>
             <artifactId>fastjson2</artifactId>
-            <version>2.0.42</version>
+            <version>2.0.47</version>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
-            <version>32.1.3-jre</version>
+            <version>33.0.0-jre</version>
         </dependency>
         <dependency>
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
-            <version>5.8.23</version>
+            <version>5.8.26</version>
         </dependency>
         <dependency>
             <groupId>com.alibaba</groupId>
@@ -165,12 +161,6 @@
             <artifactId>ip2region</artifactId>
             <version>2.7.0</version>
         </dependency>
-        <dependency>
-            <groupId>org.jetbrains</groupId>
-            <artifactId>annotations</artifactId>
-            <version>24.1.0</version>
-            <scope>compile</scope>
-        </dependency>
         <dependency>
             <groupId>com.github.yitter</groupId>
             <artifactId>yitter-idgenerator</artifactId>
@@ -179,12 +169,12 @@
         <dependency>
             <groupId>com.aliyun.oss</groupId>
             <artifactId>aliyun-sdk-oss</artifactId>
-            <version>3.17.2</version>
+            <version>3.17.4</version>
         </dependency>
         <dependency>
             <groupId>com.github.oshi</groupId>
             <artifactId>oshi-core</artifactId>
-            <version>6.4.1</version>
+            <version>6.4.13</version>
         </dependency>
 
 
diff --git a/src/main/java/io/geekidea/boot/auth/controller/AppLoginController.java b/src/main/java/io/geekidea/boot/auth/controller/AppLoginController.java
index 8fb8f508..cf4055ba 100644
--- a/src/main/java/io/geekidea/boot/auth/controller/AppLoginController.java
+++ b/src/main/java/io/geekidea/boot/auth/controller/AppLoginController.java
@@ -12,6 +12,9 @@
 import io.geekidea.boot.util.HttpServletRequestUtil;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -19,10 +22,6 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-
 /**
  * @author geekidea
  * @date 2022/6/26
diff --git a/src/main/java/io/geekidea/boot/auth/controller/LoginController.java b/src/main/java/io/geekidea/boot/auth/controller/LoginController.java
index fe3953d3..56c6250a 100644
--- a/src/main/java/io/geekidea/boot/auth/controller/LoginController.java
+++ b/src/main/java/io/geekidea/boot/auth/controller/LoginController.java
@@ -9,6 +9,9 @@
 import io.geekidea.boot.util.CookieUtil;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -16,10 +19,6 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-
 /**
  * @author geekidea
  * @date 2022/6/26
diff --git a/src/main/java/io/geekidea/boot/auth/dto/AppAccountLoginDto.java b/src/main/java/io/geekidea/boot/auth/dto/AppAccountLoginDto.java
index 7dd2ffa4..425a7380 100644
--- a/src/main/java/io/geekidea/boot/auth/dto/AppAccountLoginDto.java
+++ b/src/main/java/io/geekidea/boot/auth/dto/AppAccountLoginDto.java
@@ -1,10 +1,9 @@
 package io.geekidea.boot.auth.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
-
 /**
  * @author geekidea
  * @date 2022/6/26
diff --git a/src/main/java/io/geekidea/boot/auth/dto/AppLoginDto.java b/src/main/java/io/geekidea/boot/auth/dto/AppLoginDto.java
index 89d5e475..7edbe383 100644
--- a/src/main/java/io/geekidea/boot/auth/dto/AppLoginDto.java
+++ b/src/main/java/io/geekidea/boot/auth/dto/AppLoginDto.java
@@ -1,10 +1,9 @@
 package io.geekidea.boot.auth.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
-
 /**
  * @author geekidea
  * @date 2022/6/26
diff --git a/src/main/java/io/geekidea/boot/auth/dto/LoginDto.java b/src/main/java/io/geekidea/boot/auth/dto/LoginDto.java
index f495eb6b..3e2530ec 100644
--- a/src/main/java/io/geekidea/boot/auth/dto/LoginDto.java
+++ b/src/main/java/io/geekidea/boot/auth/dto/LoginDto.java
@@ -1,10 +1,9 @@
 package io.geekidea.boot.auth.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
-
 /**
  * @author geekidea
  * @date 2022/6/26
diff --git a/src/main/java/io/geekidea/boot/auth/enums/LoginInterceptStrategy.java b/src/main/java/io/geekidea/boot/auth/enums/LoginInterceptStrategy.java
index d59052de..430fb0da 100644
--- a/src/main/java/io/geekidea/boot/auth/enums/LoginInterceptStrategy.java
+++ b/src/main/java/io/geekidea/boot/auth/enums/LoginInterceptStrategy.java
@@ -7,6 +7,7 @@
  * 请求路径登录校验拦截策略
  * 默认拦截包含路径开头的所有请求(/app/**)，在不需要验证登录的controller方法加上@IgnoreLogin，表示此方法不需要登录就能调用
  * 默认不拦截包含路径开头的所有请求(/app/**)，在需要登录的controller方法上加上注解@Login，表示此方法必须登录才能调用
+ *
  * @author geekidea
  * @date 2024/1/31
  **/
@@ -14,22 +15,6 @@ public enum LoginInterceptStrategy {
     LOGIN(1, "需要登录"),
     IGNORE_LOGIN(2, "忽略登录");
 
-    private Integer code;
-    private String desc;
-
-    LoginInterceptStrategy(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, LoginInterceptStrategy> map = new HashMap<>();
 
     static {
@@ -38,6 +23,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    LoginInterceptStrategy(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(LoginInterceptStrategy type) {
         if (type == null) {
             return null;
@@ -61,4 +54,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/auth/interceptor/AppLoginInterceptor.java b/src/main/java/io/geekidea/boot/auth/interceptor/AppLoginInterceptor.java
index def9c296..41fb233f 100644
--- a/src/main/java/io/geekidea/boot/auth/interceptor/AppLoginInterceptor.java
+++ b/src/main/java/io/geekidea/boot/auth/interceptor/AppLoginInterceptor.java
@@ -10,15 +10,14 @@
 import io.geekidea.boot.framework.exception.AuthException;
 import io.geekidea.boot.framework.exception.LoginTokenException;
 import io.geekidea.boot.framework.interceptor.BaseExcludeMethodInterceptor;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * @author geekidea
  * @date 2022/6/26
diff --git a/src/main/java/io/geekidea/boot/auth/interceptor/CommonLoginInterceptor.java b/src/main/java/io/geekidea/boot/auth/interceptor/CommonLoginInterceptor.java
index 6c4dce73..ccfad295 100644
--- a/src/main/java/io/geekidea/boot/auth/interceptor/CommonLoginInterceptor.java
+++ b/src/main/java/io/geekidea/boot/auth/interceptor/CommonLoginInterceptor.java
@@ -11,13 +11,12 @@
 import io.geekidea.boot.framework.exception.LoginTokenException;
 import io.geekidea.boot.framework.interceptor.BaseExcludeMethodInterceptor;
 import io.geekidea.boot.util.SystemTypeUtil;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * @author geekidea
  * @date 2022/6/26
diff --git a/src/main/java/io/geekidea/boot/auth/interceptor/ExcludePathInterceptor.java b/src/main/java/io/geekidea/boot/auth/interceptor/ExcludePathInterceptor.java
index 72da854b..17a3337c 100644
--- a/src/main/java/io/geekidea/boot/auth/interceptor/ExcludePathInterceptor.java
+++ b/src/main/java/io/geekidea/boot/auth/interceptor/ExcludePathInterceptor.java
@@ -3,14 +3,14 @@
 import io.geekidea.boot.common.constant.CommonConstant;
 import io.geekidea.boot.config.properties.BootProperties;
 import io.geekidea.boot.framework.interceptor.BaseMethodInterceptor;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.AntPathMatcher;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/auth/interceptor/LoginInterceptor.java b/src/main/java/io/geekidea/boot/auth/interceptor/LoginInterceptor.java
index 00c67a4f..93a2d562 100644
--- a/src/main/java/io/geekidea/boot/auth/interceptor/LoginInterceptor.java
+++ b/src/main/java/io/geekidea/boot/auth/interceptor/LoginInterceptor.java
@@ -9,14 +9,14 @@
 import io.geekidea.boot.framework.exception.LoginException;
 import io.geekidea.boot.framework.exception.LoginTokenException;
 import io.geekidea.boot.framework.interceptor.BaseExcludeMethodInterceptor;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/auth/interceptor/NotAuthInterceptor.java b/src/main/java/io/geekidea/boot/auth/interceptor/NotAuthInterceptor.java
index c6c3c2a1..1f902a13 100644
--- a/src/main/java/io/geekidea/boot/auth/interceptor/NotAuthInterceptor.java
+++ b/src/main/java/io/geekidea/boot/auth/interceptor/NotAuthInterceptor.java
@@ -2,12 +2,11 @@
 
 import io.geekidea.boot.framework.exception.NotAuthException;
 import io.geekidea.boot.framework.interceptor.BaseExcludeMethodInterceptor;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * 没权限拦截器，项目演示用，生成项目根据情况而定
  *
diff --git a/src/main/java/io/geekidea/boot/auth/interceptor/RefreshTokenInterceptor.java b/src/main/java/io/geekidea/boot/auth/interceptor/RefreshTokenInterceptor.java
index 1cafbd96..dfa4224b 100644
--- a/src/main/java/io/geekidea/boot/auth/interceptor/RefreshTokenInterceptor.java
+++ b/src/main/java/io/geekidea/boot/auth/interceptor/RefreshTokenInterceptor.java
@@ -5,13 +5,12 @@
 import io.geekidea.boot.common.enums.SystemType;
 import io.geekidea.boot.framework.interceptor.BaseExcludeMethodInterceptor;
 import io.geekidea.boot.util.SystemTypeUtil;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * @author geekidea
  * @date 2022/6/26
diff --git a/src/main/java/io/geekidea/boot/auth/interceptor/TokenInterceptor.java b/src/main/java/io/geekidea/boot/auth/interceptor/TokenInterceptor.java
index d7a393cf..40195e3e 100644
--- a/src/main/java/io/geekidea/boot/auth/interceptor/TokenInterceptor.java
+++ b/src/main/java/io/geekidea/boot/auth/interceptor/TokenInterceptor.java
@@ -3,13 +3,12 @@
 import io.geekidea.boot.auth.cache.TokenCache;
 import io.geekidea.boot.auth.util.TokenUtil;
 import io.geekidea.boot.framework.interceptor.BaseExcludeMethodInterceptor;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * Token拦截器
  *
diff --git a/src/main/java/io/geekidea/boot/auth/service/impl/AppLoginRedisServiceImpl.java b/src/main/java/io/geekidea/boot/auth/service/impl/AppLoginRedisServiceImpl.java
index 0829a17c..5c75785a 100644
--- a/src/main/java/io/geekidea/boot/auth/service/impl/AppLoginRedisServiceImpl.java
+++ b/src/main/java/io/geekidea/boot/auth/service/impl/AppLoginRedisServiceImpl.java
@@ -7,6 +7,7 @@
 import io.geekidea.boot.config.properties.LoginAppProperties;
 import io.geekidea.boot.framework.exception.LoginException;
 import io.geekidea.boot.framework.exception.LoginTokenException;
+import jakarta.annotation.PostConstruct;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -14,7 +15,6 @@
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.PostConstruct;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
diff --git a/src/main/java/io/geekidea/boot/auth/service/impl/LoginRedisServiceImpl.java b/src/main/java/io/geekidea/boot/auth/service/impl/LoginRedisServiceImpl.java
index b1682f17..d0c3a3b2 100644
--- a/src/main/java/io/geekidea/boot/auth/service/impl/LoginRedisServiceImpl.java
+++ b/src/main/java/io/geekidea/boot/auth/service/impl/LoginRedisServiceImpl.java
@@ -7,6 +7,7 @@
 import io.geekidea.boot.config.properties.LoginAdminProperties;
 import io.geekidea.boot.framework.exception.LoginException;
 import io.geekidea.boot.framework.exception.LoginTokenException;
+import jakarta.annotation.PostConstruct;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -14,7 +15,6 @@
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.PostConstruct;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
diff --git a/src/main/java/io/geekidea/boot/auth/util/TokenUtil.java b/src/main/java/io/geekidea/boot/auth/util/TokenUtil.java
index 3c992c08..2d30f8d6 100644
--- a/src/main/java/io/geekidea/boot/auth/util/TokenUtil.java
+++ b/src/main/java/io/geekidea/boot/auth/util/TokenUtil.java
@@ -8,15 +8,14 @@
 import io.geekidea.boot.util.HttpServletRequestUtil;
 import io.geekidea.boot.util.SystemTypeUtil;
 import io.geekidea.boot.util.UUIDUtil;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-
 /**
  * Token工具类
  *
diff --git a/src/main/java/io/geekidea/boot/common/constant/LoginConstant.java b/src/main/java/io/geekidea/boot/common/constant/LoginConstant.java
index 888e70bc..c3e8f31c 100644
--- a/src/main/java/io/geekidea/boot/common/constant/LoginConstant.java
+++ b/src/main/java/io/geekidea/boot/common/constant/LoginConstant.java
@@ -25,12 +25,6 @@ public interface LoginConstant {
      */
     String ADMIN_TOKEN_PREFIX = TOKEN_PREFIX + "admin.";
 
-    /**
-     * 移动端token前缀
-     * boot.app.
-     */
-    String APP_TOKEN_PREFIX = TOKEN_PREFIX + "app.";
-
     /**
      * cookie.
      */
@@ -41,7 +35,11 @@ public interface LoginConstant {
      * boot.admin.cookie.token
      */
     String ADMIN_COOKIE_TOKEN_NAME = ADMIN_TOKEN_PREFIX + COOKIE_PREFIX + TOKEN_NAME;
-
+    /**
+     * 移动端token前缀
+     * boot.app.
+     */
+    String APP_TOKEN_PREFIX = TOKEN_PREFIX + "app.";
     /**
      * 移动端cookie token名称
      * boot.app.cookie.token
diff --git a/src/main/java/io/geekidea/boot/common/enums/FileServerType.java b/src/main/java/io/geekidea/boot/common/enums/FileServerType.java
index 2feb7030..5ab2a853 100644
--- a/src/main/java/io/geekidea/boot/common/enums/FileServerType.java
+++ b/src/main/java/io/geekidea/boot/common/enums/FileServerType.java
@@ -14,22 +14,6 @@ public enum FileServerType {
     LOCAL(1, "本地文件服务"),
     OSS(2, "OSS文件服务");
 
-    private Integer code;
-    private String desc;
-
-    FileServerType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, FileServerType> map = new HashMap<>();
 
     static {
@@ -38,6 +22,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    FileServerType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(FileServerType type) {
         if (type == null) {
             return LOCAL.code;
@@ -61,4 +53,12 @@ public static String getDesc(Integer code) {
         return fileServerType.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/common/enums/SysFileType.java b/src/main/java/io/geekidea/boot/common/enums/SysFileType.java
index 7d4d7b33..7cab91e9 100644
--- a/src/main/java/io/geekidea/boot/common/enums/SysFileType.java
+++ b/src/main/java/io/geekidea/boot/common/enums/SysFileType.java
@@ -16,22 +16,6 @@ public enum SysFileType {
     OFFICE(3, "文档"),
     FILE(4, "文件");
 
-    private Integer code;
-    private String desc;
-
-    SysFileType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, SysFileType> map = new HashMap<>();
 
     static {
@@ -40,6 +24,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    SysFileType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(SysFileType type) {
         if (type == null) {
             return null;
@@ -63,4 +55,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/common/enums/SysLogType.java b/src/main/java/io/geekidea/boot/common/enums/SysLogType.java
index 92ca2e43..21df606b 100644
--- a/src/main/java/io/geekidea/boot/common/enums/SysLogType.java
+++ b/src/main/java/io/geekidea/boot/common/enums/SysLogType.java
@@ -24,22 +24,6 @@ public enum SysLogType {
     Login(9, "登录"),
     LOGOUT(10, "退出");
 
-    private Integer code;
-    private String desc;
-
-    SysLogType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, SysLogType> map = new HashMap<>();
 
     static {
@@ -48,6 +32,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    SysLogType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(SysLogType type) {
         if (type == null) {
             return null;
@@ -71,4 +63,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/common/enums/SystemType.java b/src/main/java/io/geekidea/boot/common/enums/SystemType.java
index 2ec27389..d4d82155 100644
--- a/src/main/java/io/geekidea/boot/common/enums/SystemType.java
+++ b/src/main/java/io/geekidea/boot/common/enums/SystemType.java
@@ -14,22 +14,6 @@ public enum SystemType {
     ADMIN(1, "Admin管理后台"),
     APP(2, "APP移动端端");
 
-    private Integer code;
-    private String desc;
-
-    SystemType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, SystemType> map = new HashMap<>();
 
     static {
@@ -38,6 +22,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    SystemType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(SystemType type) {
         if (type == null) {
             return null;
@@ -61,4 +53,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/common/enums/UploadType.java b/src/main/java/io/geekidea/boot/common/enums/UploadType.java
index c2c4bda4..738b5f4b 100644
--- a/src/main/java/io/geekidea/boot/common/enums/UploadType.java
+++ b/src/main/java/io/geekidea/boot/common/enums/UploadType.java
@@ -21,6 +21,14 @@ public enum UploadType {
     HEAD("head", 10, Arrays.asList("jpg", "jpeg", "png"), "用户头像上传");
     // 更多自定义即可
 
+    private static final Map<String, UploadType> map = new HashMap<>();
+
+    static {
+        for (UploadType uploadType : values()) {
+            map.put(uploadType.type, uploadType);
+        }
+    }
+
     private String type;
     private Integer maxSizeMb;
     /**
@@ -36,30 +44,6 @@ public enum UploadType {
         this.desc = desc;
     }
 
-    public String getType() {
-        return type;
-    }
-
-    public Integer getMaxSizeMb() {
-        return maxSizeMb;
-    }
-
-    public List<String> getExtensions() {
-        return extensions;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
-    private static final Map<String, UploadType> map = new HashMap<>();
-
-    static {
-        for (UploadType uploadType : values()) {
-            map.put(uploadType.type, uploadType);
-        }
-    }
-
     public static String getCode(UploadType type) {
         if (type == null) {
             return null;
@@ -83,4 +67,20 @@ public static String getDesc(String code) {
         return uploadType.getDesc();
     }
 
+    public String getType() {
+        return type;
+    }
+
+    public Integer getMaxSizeMb() {
+        return maxSizeMb;
+    }
+
+    public List<String> getExtensions() {
+        return extensions;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/config/MybatisPlusConfig.java b/src/main/java/io/geekidea/boot/config/MybatisPlusConfig.java
index d59aa847..32e6354e 100644
--- a/src/main/java/io/geekidea/boot/config/MybatisPlusConfig.java
+++ b/src/main/java/io/geekidea/boot/config/MybatisPlusConfig.java
@@ -5,7 +5,6 @@
 import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
 import io.geekidea.boot.auth.util.LoginUtil;
 import io.geekidea.boot.config.properties.MerchantLineProperties;
-import io.geekidea.boot.framework.mybatis.plugins.MerchantLineInnerInterceptor;
 import io.geekidea.boot.framework.mybatis.plugins.handler.DataScopeHandler;
 import io.geekidea.boot.framework.mybatis.plugins.handler.MerchantLineHandler;
 import io.geekidea.boot.util.SystemTypeUtil;
diff --git a/src/main/java/io/geekidea/boot/config/OpenApiConfig.java b/src/main/java/io/geekidea/boot/config/OpenApiConfig.java
index 4d11b6b3..e15f21c2 100644
--- a/src/main/java/io/geekidea/boot/config/OpenApiConfig.java
+++ b/src/main/java/io/geekidea/boot/config/OpenApiConfig.java
@@ -9,8 +9,8 @@
 import io.swagger.v3.oas.models.media.StringSchema;
 import io.swagger.v3.oas.models.parameters.HeaderParameter;
 import io.swagger.v3.oas.models.parameters.Parameter;
-import org.springdoc.core.GroupedOpenApi;
 import org.springdoc.core.customizers.OperationCustomizer;
+import org.springdoc.core.models.GroupedOpenApi;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
diff --git a/src/main/java/io/geekidea/boot/config/RedisConfig.java b/src/main/java/io/geekidea/boot/config/RedisConfig.java
index b030f166..38c88a7e 100644
--- a/src/main/java/io/geekidea/boot/config/RedisConfig.java
+++ b/src/main/java/io/geekidea/boot/config/RedisConfig.java
@@ -7,7 +7,6 @@
 import org.springframework.data.redis.connection.RedisConnectionFactory;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
-import org.springframework.data.redis.serializer.StringRedisSerializer;
 
 /**
  * Redis Template 配置
diff --git a/src/main/java/io/geekidea/boot/config/properties/BootProperties.java b/src/main/java/io/geekidea/boot/config/properties/BootProperties.java
index 33e3adb7..c17f8dd4 100644
--- a/src/main/java/io/geekidea/boot/config/properties/BootProperties.java
+++ b/src/main/java/io/geekidea/boot/config/properties/BootProperties.java
@@ -3,7 +3,6 @@
 import io.geekidea.boot.util.YamlUtil;
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
diff --git a/src/main/java/io/geekidea/boot/config/properties/LoginCommonProperties.java b/src/main/java/io/geekidea/boot/config/properties/LoginCommonProperties.java
index 0ccc1d57..fed57975 100644
--- a/src/main/java/io/geekidea/boot/config/properties/LoginCommonProperties.java
+++ b/src/main/java/io/geekidea/boot/config/properties/LoginCommonProperties.java
@@ -3,7 +3,6 @@
 import io.geekidea.boot.util.YamlUtil;
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
diff --git a/src/main/java/io/geekidea/boot/config/properties/LoginProperties.java b/src/main/java/io/geekidea/boot/config/properties/LoginProperties.java
index 8d744500..24e11ef9 100644
--- a/src/main/java/io/geekidea/boot/config/properties/LoginProperties.java
+++ b/src/main/java/io/geekidea/boot/config/properties/LoginProperties.java
@@ -2,7 +2,6 @@
 
 import io.geekidea.boot.util.YamlUtil;
 import lombok.Data;
-import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 
diff --git a/src/main/java/io/geekidea/boot/framework/aop/SysLogAop.java b/src/main/java/io/geekidea/boot/framework/aop/SysLogAop.java
index 364646cb..ac52653d 100644
--- a/src/main/java/io/geekidea/boot/framework/aop/SysLogAop.java
+++ b/src/main/java/io/geekidea/boot/framework/aop/SysLogAop.java
@@ -17,14 +17,18 @@
 import io.geekidea.boot.common.enums.SystemType;
 import io.geekidea.boot.config.properties.LogAopProperties;
 import io.geekidea.boot.framework.annotation.Log;
+import io.geekidea.boot.framework.bean.IpRegion;
 import io.geekidea.boot.framework.enums.ResponseLogType;
 import io.geekidea.boot.framework.exception.GlobalExceptionHandler;
 import io.geekidea.boot.framework.response.ApiResult;
-import io.geekidea.boot.framework.bean.IpRegion;
 import io.geekidea.boot.system.entity.SysLog;
 import io.geekidea.boot.system.mapper.SysLogMapper;
-import io.geekidea.boot.util.*;
+import io.geekidea.boot.util.HttpServletRequestUtil;
+import io.geekidea.boot.util.IpRegionUtil;
+import io.geekidea.boot.util.IpUtil;
+import io.geekidea.boot.util.SystemTypeUtil;
 import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletRequest;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -47,7 +51,6 @@
 import org.springframework.util.AntPathMatcher;
 import org.springframework.web.bind.annotation.RequestBody;
 
-import javax.servlet.http.HttpServletRequest;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 import java.math.BigDecimal;
diff --git a/src/main/java/io/geekidea/boot/framework/bean/OperatingSystemInfo.java b/src/main/java/io/geekidea/boot/framework/bean/OperatingSystemInfo.java
index ca2e569a..8028869a 100644
--- a/src/main/java/io/geekidea/boot/framework/bean/OperatingSystemInfo.java
+++ b/src/main/java/io/geekidea/boot/framework/bean/OperatingSystemInfo.java
@@ -7,6 +7,7 @@
 
 /**
  * 操作系统信息
+ *
  * @author geekidea
  * @date 2023/12/17
  **/
@@ -26,5 +27,5 @@ public class OperatingSystemInfo implements Serializable {
     private String version;
 
     @Schema(description = "IP地址")
-   private String address;
+    private String address;
 }
diff --git a/src/main/java/io/geekidea/boot/framework/enums/ResponseLogType.java b/src/main/java/io/geekidea/boot/framework/enums/ResponseLogType.java
index bdab62fb..989d1f9c 100644
--- a/src/main/java/io/geekidea/boot/framework/enums/ResponseLogType.java
+++ b/src/main/java/io/geekidea/boot/framework/enums/ResponseLogType.java
@@ -13,22 +13,6 @@ public enum ResponseLogType {
     PART(2, "部分"),
     NONE(3, "无");
 
-    private Integer code;
-    private String desc;
-
-    ResponseLogType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, ResponseLogType> map = new HashMap<>();
 
     static {
@@ -37,6 +21,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    ResponseLogType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(ResponseLogType type) {
         if (type == null) {
             return PART.code;
@@ -60,4 +52,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/framework/filter/JsonHttpServletRequestWrapper.java b/src/main/java/io/geekidea/boot/framework/filter/JsonHttpServletRequestWrapper.java
index 8438011c..3a33f79e 100644
--- a/src/main/java/io/geekidea/boot/framework/filter/JsonHttpServletRequestWrapper.java
+++ b/src/main/java/io/geekidea/boot/framework/filter/JsonHttpServletRequestWrapper.java
@@ -1,11 +1,11 @@
 package io.geekidea.boot.framework.filter;
 
+import jakarta.servlet.ReadListener;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
 import org.springframework.util.StreamUtils;
 
-import javax.servlet.ReadListener;
-import javax.servlet.ServletInputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
diff --git a/src/main/java/io/geekidea/boot/framework/filter/JsonRequestBodyFilter.java b/src/main/java/io/geekidea/boot/framework/filter/JsonRequestBodyFilter.java
index e7cc72fe..c8850d20 100644
--- a/src/main/java/io/geekidea/boot/framework/filter/JsonRequestBodyFilter.java
+++ b/src/main/java/io/geekidea/boot/framework/filter/JsonRequestBodyFilter.java
@@ -1,11 +1,11 @@
 package io.geekidea.boot.framework.filter;
 
 import io.geekidea.boot.common.constant.CommonConstant;
+import jakarta.servlet.*;
+import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/framework/filter/TraceIdLogFilter.java b/src/main/java/io/geekidea/boot/framework/filter/TraceIdLogFilter.java
index 67e88ce7..d663f75e 100644
--- a/src/main/java/io/geekidea/boot/framework/filter/TraceIdLogFilter.java
+++ b/src/main/java/io/geekidea/boot/framework/filter/TraceIdLogFilter.java
@@ -3,11 +3,11 @@
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import io.geekidea.boot.common.constant.CommonConstant;
 import io.geekidea.boot.util.IpUtil;
+import jakarta.servlet.*;
+import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
 import org.slf4j.MDC;
 
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/framework/interceptor/BaseExcludeMethodInterceptor.java b/src/main/java/io/geekidea/boot/framework/interceptor/BaseExcludeMethodInterceptor.java
index 98a04023..7bbc7c51 100644
--- a/src/main/java/io/geekidea/boot/framework/interceptor/BaseExcludeMethodInterceptor.java
+++ b/src/main/java/io/geekidea/boot/framework/interceptor/BaseExcludeMethodInterceptor.java
@@ -1,11 +1,10 @@
 package io.geekidea.boot.framework.interceptor;
 
 import io.geekidea.boot.common.constant.CommonConstant;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * @author geekidea
  * @date 2023/12/3
diff --git a/src/main/java/io/geekidea/boot/framework/interceptor/BaseMethodInterceptor.java b/src/main/java/io/geekidea/boot/framework/interceptor/BaseMethodInterceptor.java
index b8652d2c..d0b71f81 100644
--- a/src/main/java/io/geekidea/boot/framework/interceptor/BaseMethodInterceptor.java
+++ b/src/main/java/io/geekidea/boot/framework/interceptor/BaseMethodInterceptor.java
@@ -3,13 +3,13 @@
 import io.geekidea.boot.auth.annotation.AppUserRole;
 import io.geekidea.boot.auth.annotation.IgnoreLogin;
 import io.geekidea.boot.auth.annotation.Login;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.util.AntPathMatcher;
 import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.HandlerInterceptor;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/framework/interceptor/PageHelperClearInterceptor.java b/src/main/java/io/geekidea/boot/framework/interceptor/PageHelperClearInterceptor.java
index ef723b86..30b0c517 100644
--- a/src/main/java/io/geekidea/boot/framework/interceptor/PageHelperClearInterceptor.java
+++ b/src/main/java/io/geekidea/boot/framework/interceptor/PageHelperClearInterceptor.java
@@ -1,11 +1,10 @@
 package io.geekidea.boot.framework.interceptor;
 
 import com.github.pagehelper.PageHelper;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.web.method.HandlerMethod;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
 /**
  * @author geekidea
  * @date 2022/10/12
diff --git a/src/main/java/io/geekidea/boot/framework/mybatis/plugins/handler/MerchantLineHandler.java b/src/main/java/io/geekidea/boot/framework/mybatis/plugins/handler/MerchantLineHandler.java
index 24209a05..c9cb9fe0 100644
--- a/src/main/java/io/geekidea/boot/framework/mybatis/plugins/handler/MerchantLineHandler.java
+++ b/src/main/java/io/geekidea/boot/framework/mybatis/plugins/handler/MerchantLineHandler.java
@@ -43,11 +43,12 @@ default boolean ignoreTable(String tableName) {
     /**
      * 根据登录信息判断是否忽略拼接多商户条件
      * 默认都不进行解析拼接多商户条件
+     *
      * @return
      */
-   default boolean ignoreMerchantId(){
+    default boolean ignoreMerchantId() {
         return true;
-   }
+    }
 
     /**
      * 忽略插入商户字段逻辑
diff --git a/src/main/java/io/geekidea/boot/framework/query/DataRangeQuery.java b/src/main/java/io/geekidea/boot/framework/query/DataRangeQuery.java
index 43f284fb..97e40803 100644
--- a/src/main/java/io/geekidea/boot/framework/query/DataRangeQuery.java
+++ b/src/main/java/io/geekidea/boot/framework/query/DataRangeQuery.java
@@ -1,9 +1,9 @@
 package io.geekidea.boot.framework.query;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.Null;
 import lombok.Data;
 
-import javax.validation.constraints.Null;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/framework/xss/XssFilter.java b/src/main/java/io/geekidea/boot/framework/xss/XssFilter.java
index 88ffa596..40c1d0e8 100644
--- a/src/main/java/io/geekidea/boot/framework/xss/XssFilter.java
+++ b/src/main/java/io/geekidea/boot/framework/xss/XssFilter.java
@@ -1,9 +1,9 @@
 package io.geekidea.boot.framework.xss;
 
+import jakarta.servlet.*;
+import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
 
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/framework/xss/XssHttpServletRequestWrapper.java b/src/main/java/io/geekidea/boot/framework/xss/XssHttpServletRequestWrapper.java
index 054ca5b3..be766a25 100644
--- a/src/main/java/io/geekidea/boot/framework/xss/XssHttpServletRequestWrapper.java
+++ b/src/main/java/io/geekidea/boot/framework/xss/XssHttpServletRequestWrapper.java
@@ -1,11 +1,10 @@
 package io.geekidea.boot.framework.xss;
 
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.text.StringEscapeUtils;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-
 /**
  * XSS 跨站脚本攻击(Cross Site Scripting) 处理
  *
diff --git a/src/main/java/io/geekidea/boot/generator/bean/GeneratorColumnMapping.java b/src/main/java/io/geekidea/boot/generator/bean/GeneratorColumnMapping.java
index f96cd9b9..5a2ac717 100644
--- a/src/main/java/io/geekidea/boot/generator/bean/GeneratorColumnMapping.java
+++ b/src/main/java/io/geekidea/boot/generator/bean/GeneratorColumnMapping.java
@@ -10,16 +10,16 @@
  * @date 2023/12/31
  **/
 @Data
-@Schema(description = "生成列类型映射" )
+@Schema(description = "生成列类型映射")
 public class GeneratorColumnMapping {
 
-    @Schema(description = "列类型" )
+    @Schema(description = "列类型")
     private String dataType;
 
-    @Schema(description = "属性类型" )
+    @Schema(description = "属性类型")
     private String propertyType;
 
-    @Schema(description = "属性包名" )
+    @Schema(description = "属性包名")
     private String packageName;
 
     public GeneratorColumnMapping() {
diff --git a/src/main/java/io/geekidea/boot/generator/constant/GeneratorConstant.java b/src/main/java/io/geekidea/boot/generator/constant/GeneratorConstant.java
index 1d73fb46..cd366295 100644
--- a/src/main/java/io/geekidea/boot/generator/constant/GeneratorConstant.java
+++ b/src/main/java/io/geekidea/boot/generator/constant/GeneratorConstant.java
@@ -1,6 +1,5 @@
 package io.geekidea.boot.generator.constant;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
diff --git a/src/main/java/io/geekidea/boot/generator/controller/GeneratorController.java b/src/main/java/io/geekidea/boot/generator/controller/GeneratorController.java
index 372e3399..e92693c1 100644
--- a/src/main/java/io/geekidea/boot/generator/controller/GeneratorController.java
+++ b/src/main/java/io/geekidea/boot/generator/controller/GeneratorController.java
@@ -16,6 +16,8 @@
 import io.geekidea.boot.generator.vo.GeneratorTableDbVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.MapUtils;
@@ -25,8 +27,6 @@
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
 import java.io.ByteArrayOutputStream;
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/io/geekidea/boot/generator/dto/GeneratorCodeDto.java b/src/main/java/io/geekidea/boot/generator/dto/GeneratorCodeDto.java
index 8d0f4833..5deeeb24 100644
--- a/src/main/java/io/geekidea/boot/generator/dto/GeneratorCodeDto.java
+++ b/src/main/java/io/geekidea/boot/generator/dto/GeneratorCodeDto.java
@@ -1,9 +1,9 @@
 package io.geekidea.boot.generator.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
-import javax.validation.constraints.NotNull;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/generator/dto/GeneratorColumnDto.java b/src/main/java/io/geekidea/boot/generator/dto/GeneratorColumnDto.java
index bfb37bb6..12f8990c 100644
--- a/src/main/java/io/geekidea/boot/generator/dto/GeneratorColumnDto.java
+++ b/src/main/java/io/geekidea/boot/generator/dto/GeneratorColumnDto.java
@@ -1,10 +1,10 @@
 package io.geekidea.boot.generator.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/generator/dto/GeneratorTableDto.java b/src/main/java/io/geekidea/boot/generator/dto/GeneratorTableDto.java
index 7b7f5d2b..7dd3fdd9 100644
--- a/src/main/java/io/geekidea/boot/generator/dto/GeneratorTableDto.java
+++ b/src/main/java/io/geekidea/boot/generator/dto/GeneratorTableDto.java
@@ -1,10 +1,10 @@
 package io.geekidea.boot.generator.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
 import java.util.List;
 
diff --git a/src/main/java/io/geekidea/boot/generator/enums/GeneratorFormLayout.java b/src/main/java/io/geekidea/boot/generator/enums/GeneratorFormLayout.java
index adfb9cb7..64ebc9b5 100644
--- a/src/main/java/io/geekidea/boot/generator/enums/GeneratorFormLayout.java
+++ b/src/main/java/io/geekidea/boot/generator/enums/GeneratorFormLayout.java
@@ -14,23 +14,6 @@ public enum GeneratorFormLayout {
     ONE(1, "一行一列"),
     TWO(2, "一行两列");
 
-    private Integer code;
-
-    private String desc;
-
-    GeneratorFormLayout(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, GeneratorFormLayout> map = new HashMap<>();
 
     static {
@@ -39,6 +22,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    GeneratorFormLayout(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(GeneratorFormLayout type) {
         if (type == null) {
             return TWO.code;
@@ -62,4 +53,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/generator/enums/GeneratorFormType.java b/src/main/java/io/geekidea/boot/generator/enums/GeneratorFormType.java
index e3879e1c..b1cce418 100644
--- a/src/main/java/io/geekidea/boot/generator/enums/GeneratorFormType.java
+++ b/src/main/java/io/geekidea/boot/generator/enums/GeneratorFormType.java
@@ -23,23 +23,6 @@ public enum GeneratorFormType {
     FILE(10, "文件上传"),
     RICH_TEXT(11, "富文本");
 
-    private Integer code;
-
-    private String desc;
-
-    GeneratorFormType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, GeneratorFormType> map = new HashMap<>();
 
     static {
@@ -48,6 +31,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    GeneratorFormType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(GeneratorFormType type) {
         if (type == null) {
             return INPUT.code;
@@ -71,4 +62,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/generator/enums/GeneratorQueryType.java b/src/main/java/io/geekidea/boot/generator/enums/GeneratorQueryType.java
index 1f9fb41a..8b30a4cd 100644
--- a/src/main/java/io/geekidea/boot/generator/enums/GeneratorQueryType.java
+++ b/src/main/java/io/geekidea/boot/generator/enums/GeneratorQueryType.java
@@ -21,23 +21,6 @@ public enum GeneratorQueryType {
     DATE_RANGE(8, "日期范围"),
     DATETIME_RANGE(9, "日期时间范围");
 
-    private Integer code;
-
-    private String desc;
-
-    GeneratorQueryType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, GeneratorQueryType> map = new HashMap<>();
 
     static {
@@ -46,6 +29,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    GeneratorQueryType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(GeneratorQueryType type) {
         if (type == null) {
             return EQ.code;
@@ -69,4 +60,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/generator/enums/GeneratorTemplateType.java b/src/main/java/io/geekidea/boot/generator/enums/GeneratorTemplateType.java
index 20084d6f..0b44038e 100644
--- a/src/main/java/io/geekidea/boot/generator/enums/GeneratorTemplateType.java
+++ b/src/main/java/io/geekidea/boot/generator/enums/GeneratorTemplateType.java
@@ -15,23 +15,6 @@ public enum GeneratorTemplateType {
     FRONTEND(2, "前端代码"),
     MENU(3, "菜单SQL");
 
-    private Integer code;
-
-    private String desc;
-
-    GeneratorTemplateType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, GeneratorTemplateType> map = new HashMap<>();
 
     static {
@@ -40,6 +23,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    GeneratorTemplateType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(GeneratorTemplateType type) {
         if (type == null) {
             return null;
@@ -63,4 +54,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/generator/enums/GeneratorType.java b/src/main/java/io/geekidea/boot/generator/enums/GeneratorType.java
index cc85193f..e98f7673 100644
--- a/src/main/java/io/geekidea/boot/generator/enums/GeneratorType.java
+++ b/src/main/java/io/geekidea/boot/generator/enums/GeneratorType.java
@@ -14,23 +14,6 @@ public enum GeneratorType {
     ZIP(1, "zip压缩包"),
     CUSTOM(2, "自定义路径");
 
-    private Integer code;
-
-    private String desc;
-
-    GeneratorType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, GeneratorType> map = new HashMap<>();
 
     static {
@@ -39,6 +22,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    GeneratorType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(GeneratorType type) {
         if (type == null) {
             return ZIP.code;
@@ -62,4 +53,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/generator/enums/RequestMappingStyle.java b/src/main/java/io/geekidea/boot/generator/enums/RequestMappingStyle.java
index b2830c7e..d7ee6602 100644
--- a/src/main/java/io/geekidea/boot/generator/enums/RequestMappingStyle.java
+++ b/src/main/java/io/geekidea/boot/generator/enums/RequestMappingStyle.java
@@ -17,23 +17,6 @@ public enum RequestMappingStyle {
     HYPHEN(4, "中横线连接符"),
     UNDERLINE(5, "下划线");
 
-    private Integer code;
-
-    private String desc;
-
-    RequestMappingStyle(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, RequestMappingStyle> map = new HashMap<>();
 
     static {
@@ -42,6 +25,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    RequestMappingStyle(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(RequestMappingStyle type) {
         if (type == null) {
             return DEFAULT.code;
@@ -65,4 +56,12 @@ public static String getDesc(Integer code) {
         return style.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/generator/util/GeneratorUtil.java b/src/main/java/io/geekidea/boot/generator/util/GeneratorUtil.java
index f9275488..f532ae68 100644
--- a/src/main/java/io/geekidea/boot/generator/util/GeneratorUtil.java
+++ b/src/main/java/io/geekidea/boot/generator/util/GeneratorUtil.java
@@ -6,7 +6,6 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 import com.google.common.base.CaseFormat;
 import io.geekidea.boot.auth.annotation.Permission;
 import io.geekidea.boot.common.constant.SystemConstant;
@@ -38,7 +37,7 @@
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.springdoc.api.annotations.ParameterObject;
+import org.springdoc.core.annotations.ParameterObject;
 import org.springframework.beans.BeanUtils;
 
 import java.io.File;
@@ -1349,7 +1348,7 @@ public static String getOptionJson(String columnComment, String columnCustomComm
     }
 
     /**
-     * 下划线专程驼峰命名
+     * 下划线转换成驼峰命名
      * sys_user --> sysUser
      *
      * @param underline
@@ -1357,7 +1356,7 @@ public static String getOptionJson(String columnComment, String columnCustomComm
      */
     public static String underlineToCamel(String underline) {
         if (StringUtils.isNotBlank(underline)) {
-            return NamingStrategy.underlineToCamel(underline);
+            return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, underline);
         }
         return null;
     }
@@ -1371,11 +1370,12 @@ public static String underlineToCamel(String underline) {
      */
     public static String underlineToPascal(String underline) {
         if (StringUtils.isNotBlank(underline)) {
-            return NamingStrategy.capitalFirst(NamingStrategy.underlineToCamel(underline));
+            return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, underline);
         }
         return null;
     }
 
+
     /**
      * 骆驼转换成帕斯卡命名
      * roleId --> RoleId
@@ -1385,7 +1385,7 @@ public static String underlineToPascal(String underline) {
      */
     public static String camelToPascal(String camel) {
         if (StringUtils.isNotBlank(camel)) {
-            return NamingStrategy.capitalFirst(camel);
+            return CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, camel);
         }
         return null;
     }
@@ -1414,7 +1414,7 @@ public static String underlineToColon(String underline) {
      */
     public static String pascalToCamel(String pascal) {
         if (StringUtils.isNotBlank(pascal)) {
-            return pascal.substring(0, 1).toLowerCase() + pascal.substring(1);
+            return CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, pascal);
         }
         return pascal;
     }
@@ -1462,6 +1462,7 @@ public static String toUnderline(String value) {
         return null;
     }
 
+
     /**
      * 转换成反斜杠
      *
diff --git a/src/main/java/io/geekidea/boot/generator/util/VelocityUtil.java b/src/main/java/io/geekidea/boot/generator/util/VelocityUtil.java
index 419d8780..17f6e8fd 100644
--- a/src/main/java/io/geekidea/boot/generator/util/VelocityUtil.java
+++ b/src/main/java/io/geekidea/boot/generator/util/VelocityUtil.java
@@ -1,6 +1,5 @@
 package io.geekidea.boot.generator.util;
 
-import com.baomidou.mybatisplus.generator.config.ConstVal;
 import io.geekidea.boot.generator.constant.GeneratorConstant;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.IOUtils;
@@ -44,7 +43,7 @@ public class VelocityUtil {
     public static String writer(String templatePath, Map<String, Object> dataMap) {
         VelocityEngine velocityEngine = new VelocityEngine(properties);
         StringWriter writer = new StringWriter();
-        Template template = velocityEngine.getTemplate(templatePath, ConstVal.UTF8);
+        Template template = velocityEngine.getTemplate(templatePath, GeneratorConstant.UTF8);
         template.merge(new VelocityContext(dataMap), writer);
         String content = writer.toString();
         IOUtils.closeQuietly(writer);
diff --git a/src/main/java/io/geekidea/boot/generator/vo/GeneratorColumnDbVo.java b/src/main/java/io/geekidea/boot/generator/vo/GeneratorColumnDbVo.java
index 785b39ec..caac1649 100644
--- a/src/main/java/io/geekidea/boot/generator/vo/GeneratorColumnDbVo.java
+++ b/src/main/java/io/geekidea/boot/generator/vo/GeneratorColumnDbVo.java
@@ -32,7 +32,7 @@ public class GeneratorColumnDbVo implements Serializable {
     @Schema(description = "字段类型")
     private String columnType;
 
-    @Schema(description = "列顺序" )
+    @Schema(description = "列顺序")
     private Integer columnSort;
 
     @Schema(description = "是否主键")
diff --git a/src/main/java/io/geekidea/boot/generator/vo/GeneratorTableDbVo.java b/src/main/java/io/geekidea/boot/generator/vo/GeneratorTableDbVo.java
index 031711ed..8ea8e81a 100644
--- a/src/main/java/io/geekidea/boot/generator/vo/GeneratorTableDbVo.java
+++ b/src/main/java/io/geekidea/boot/generator/vo/GeneratorTableDbVo.java
@@ -13,18 +13,18 @@
  * @since 2023-12-29
  */
 @Data
-@Schema(description = "数据库中的表Vo" )
+@Schema(description = "数据库中的表Vo")
 public class GeneratorTableDbVo implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @Schema(description = "表名称" )
+    @Schema(description = "表名称")
     private String tableName;
 
-    @Schema(description = "表注释" )
+    @Schema(description = "表注释")
     private String tableComment;
 
-    @Schema(description = "创建时间" )
+    @Schema(description = "创建时间")
     private Date createTime;
 
     @Schema(description = "类名称")
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysConfigController.java b/src/main/java/io/geekidea/boot/system/controller/SysConfigController.java
index 8f37420a..b9c6a231 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysConfigController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysConfigController.java
@@ -11,12 +11,11 @@
 import io.geekidea.boot.system.vo.SysConfigVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
-
 /**
  * 系统配置 控制器
  *
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysDictAppController.java b/src/main/java/io/geekidea/boot/system/controller/SysDictAppController.java
index b5318f78..8009192d 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysDictAppController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysDictAppController.java
@@ -6,6 +6,7 @@
 import io.geekidea.boot.system.vo.AppSysDictVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -13,7 +14,6 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.validation.Valid;
 import java.util.List;
 import java.util.Map;
 
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysDictController.java b/src/main/java/io/geekidea/boot/system/controller/SysDictController.java
index 4ebbfaa2..095ba886 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysDictController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysDictController.java
@@ -11,12 +11,11 @@
 import io.geekidea.boot.system.vo.SysDictVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
-
 /**
  * 字典数据 控制器
  *
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysDictTypeController.java b/src/main/java/io/geekidea/boot/system/controller/SysDictTypeController.java
index 5e1a7a6d..70b4f486 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysDictTypeController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysDictTypeController.java
@@ -10,11 +10,11 @@
 import io.geekidea.boot.system.vo.SysDictTypeVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysFileController.java b/src/main/java/io/geekidea/boot/system/controller/SysFileController.java
index b50ad035..e6a19e6e 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysFileController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysFileController.java
@@ -11,12 +11,11 @@
 import io.geekidea.boot.system.vo.SysFileVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
-
 /**
  * 系统文件 控制器
  *
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysLogController.java b/src/main/java/io/geekidea/boot/system/controller/SysLogController.java
index ccd72848..5f917c2c 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysLogController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysLogController.java
@@ -8,12 +8,11 @@
 import io.geekidea.boot.system.vo.SysLogVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
-
 /**
  * 系统日志 控制器
  *
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysMenuController.java b/src/main/java/io/geekidea/boot/system/controller/SysMenuController.java
index 1ed9e54f..29acfed6 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysMenuController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysMenuController.java
@@ -10,11 +10,11 @@
 import io.geekidea.boot.system.vo.SysNavMenuTreeVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysRoleController.java b/src/main/java/io/geekidea/boot/system/controller/SysRoleController.java
index f4d6a2a4..9d739088 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysRoleController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysRoleController.java
@@ -12,11 +12,11 @@
 import io.geekidea.boot.system.vo.SysRoleVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/controller/SysUserController.java b/src/main/java/io/geekidea/boot/system/controller/SysUserController.java
index ffd02a11..8e35c5ba 100644
--- a/src/main/java/io/geekidea/boot/system/controller/SysUserController.java
+++ b/src/main/java/io/geekidea/boot/system/controller/SysUserController.java
@@ -14,13 +14,12 @@
 import io.geekidea.boot.system.vo.SysUserVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.validation.Valid;
-
 /**
  * 系统用户 控制器
  *
diff --git a/src/main/java/io/geekidea/boot/system/dto/RoleMenusDto.java b/src/main/java/io/geekidea/boot/system/dto/RoleMenusDto.java
index 11102d93..1be644ac 100644
--- a/src/main/java/io/geekidea/boot/system/dto/RoleMenusDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/RoleMenusDto.java
@@ -1,9 +1,9 @@
 package io.geekidea.boot.system.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
-import javax.validation.constraints.NotNull;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysConfigDto.java b/src/main/java/io/geekidea/boot/system/dto/SysConfigDto.java
index 8f246e4b..0d62f796 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysConfigDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysConfigDto.java
@@ -1,13 +1,10 @@
 package io.geekidea.boot.system.dto;
 
-import java.util.Date;
-
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysDictDto.java b/src/main/java/io/geekidea/boot/system/dto/SysDictDto.java
index 6c521d6e..11e94a8b 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysDictDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysDictDto.java
@@ -1,13 +1,10 @@
 package io.geekidea.boot.system.dto;
 
-import java.util.Date;
-
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysDictTypeDto.java b/src/main/java/io/geekidea/boot/system/dto/SysDictTypeDto.java
index 82e7d674..b40fae39 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysDictTypeDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysDictTypeDto.java
@@ -1,13 +1,11 @@
 package io.geekidea.boot.system.dto;
 
-import java.util.Date;
-
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -26,6 +24,7 @@ public class SysDictTypeDto implements Serializable {
     private Long id;
 
     @Schema(description = "字典类型编码")
+    @NotNull
     @NotBlank(message = "字典类型编码不能为空")
     @Length(max = 100, message = "字典类型编码长度超过限制")
     private String code;
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysFileDto.java b/src/main/java/io/geekidea/boot/system/dto/SysFileDto.java
index 4143a3bd..ef9e1cad 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysFileDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysFileDto.java
@@ -4,7 +4,6 @@
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysMenuDto.java b/src/main/java/io/geekidea/boot/system/dto/SysMenuDto.java
index 0044db90..942f9e5c 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysMenuDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysMenuDto.java
@@ -1,11 +1,10 @@
 package io.geekidea.boot.system.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysRoleDto.java b/src/main/java/io/geekidea/boot/system/dto/SysRoleDto.java
index 16b0655e..2a10e38e 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysRoleDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysRoleDto.java
@@ -1,11 +1,10 @@
 package io.geekidea.boot.system.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysUserDto.java b/src/main/java/io/geekidea/boot/system/dto/SysUserDto.java
index 28264e0f..9c86d32f 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysUserDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysUserDto.java
@@ -1,13 +1,11 @@
 package io.geekidea.boot.system.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
-import java.util.List;
 
 /**
  * 修改系统用户参数
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysUserExcelDto.java b/src/main/java/io/geekidea/boot/system/dto/SysUserExcelDto.java
index 25c85c1c..055c7c1a 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysUserExcelDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysUserExcelDto.java
@@ -2,9 +2,7 @@
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
-import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysUserResetPasswordDto.java b/src/main/java/io/geekidea/boot/system/dto/SysUserResetPasswordDto.java
index 0acf22f7..8ba42a3f 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysUserResetPasswordDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysUserResetPasswordDto.java
@@ -1,11 +1,10 @@
 package io.geekidea.boot.system.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotNull;
-
 /**
  * 管理员重置系统用户密码
  *
@@ -13,16 +12,16 @@
  * @date 2023/6/18
  **/
 @Data
-@Schema(description = "管理员重置系统用户密码" )
+@Schema(description = "管理员重置系统用户密码")
 public class SysUserResetPasswordDto {
 
-    @Schema(description = "用户ID" )
-    @NotNull(message = "用户ID不能为空" )
+    @Schema(description = "用户ID")
+    @NotNull(message = "用户ID不能为空")
     private Long userId;
 
-    @Schema(description = "新密码" )
-    @NotNull(message = "新密码不能为空" )
-    @Length(min = 32, max = 32, message = "新密码长度不符合要求" )
+    @Schema(description = "新密码")
+    @NotNull(message = "新密码不能为空")
+    @Length(min = 32, max = 32, message = "新密码长度不符合要求")
     private String password;
 
 }
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysUserUpdatePasswordDto.java b/src/main/java/io/geekidea/boot/system/dto/SysUserUpdatePasswordDto.java
index 4df2b21e..d6ea7676 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysUserUpdatePasswordDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysUserUpdatePasswordDto.java
@@ -1,11 +1,10 @@
 package io.geekidea.boot.system.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotNull;
-
 /**
  * 修改系统用户密码
  *
diff --git a/src/main/java/io/geekidea/boot/system/dto/SysUserUpdateProfileDto.java b/src/main/java/io/geekidea/boot/system/dto/SysUserUpdateProfileDto.java
index 3347e03b..608abc9b 100644
--- a/src/main/java/io/geekidea/boot/system/dto/SysUserUpdateProfileDto.java
+++ b/src/main/java/io/geekidea/boot/system/dto/SysUserUpdateProfileDto.java
@@ -1,11 +1,10 @@
 package io.geekidea.boot.system.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -15,21 +14,21 @@
  * @since 2022-12-26
  */
 @Data
-@Schema(description = "修改系统用户个人信息参数" )
+@Schema(description = "修改系统用户个人信息参数")
 public class SysUserUpdateProfileDto implements Serializable {
     private static final long serialVersionUID = 1L;
 
-    @Schema(description = "昵称" )
-    @NotBlank(message = "昵称不能为空" )
-    @Length(max = 20, message = "昵称长度超过限制" )
+    @Schema(description = "昵称")
+    @NotBlank(message = "昵称不能为空")
+    @Length(max = 20, message = "昵称长度超过限制")
     private String nickname;
 
-    @Schema(description = "手机号码" )
-    @Length(max = 11, message = "手机号码长度超过限制" )
+    @Schema(description = "手机号码")
+    @Length(max = 11, message = "手机号码长度超过限制")
     private String phone;
 
-    @Schema(description = "电子邮件" )
-    @Length(max = 255, message = "电子邮件长度超过限制" )
+    @Schema(description = "电子邮件")
+    @Length(max = 255, message = "电子邮件长度超过限制")
     private String email;
 
     @Schema(description = "头像")
diff --git a/src/main/java/io/geekidea/boot/system/entity/SysConfig.java b/src/main/java/io/geekidea/boot/system/entity/SysConfig.java
index 308d6a1e..31f547a8 100644
--- a/src/main/java/io/geekidea/boot/system/entity/SysConfig.java
+++ b/src/main/java/io/geekidea/boot/system/entity/SysConfig.java
@@ -1,11 +1,11 @@
 package io.geekidea.boot.system.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
 
 /**
  * 系统配置
diff --git a/src/main/java/io/geekidea/boot/system/entity/SysDict.java b/src/main/java/io/geekidea/boot/system/entity/SysDict.java
index 7f20143e..a89967c5 100644
--- a/src/main/java/io/geekidea/boot/system/entity/SysDict.java
+++ b/src/main/java/io/geekidea/boot/system/entity/SysDict.java
@@ -1,11 +1,11 @@
 package io.geekidea.boot.system.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
 
 /**
  * 字典数据
diff --git a/src/main/java/io/geekidea/boot/system/entity/SysDictType.java b/src/main/java/io/geekidea/boot/system/entity/SysDictType.java
index 5695fe35..0018bfe1 100644
--- a/src/main/java/io/geekidea/boot/system/entity/SysDictType.java
+++ b/src/main/java/io/geekidea/boot/system/entity/SysDictType.java
@@ -1,11 +1,11 @@
 package io.geekidea.boot.system.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
 
 /**
  * 字典类型
diff --git a/src/main/java/io/geekidea/boot/system/enums/SysMenuType.java b/src/main/java/io/geekidea/boot/system/enums/SysMenuType.java
index 99adb4e9..1dea6bfc 100644
--- a/src/main/java/io/geekidea/boot/system/enums/SysMenuType.java
+++ b/src/main/java/io/geekidea/boot/system/enums/SysMenuType.java
@@ -15,22 +15,6 @@ public enum SysMenuType {
     MENU(2, "菜单"),
     PERMISSION(3, "权限");
 
-    private Integer code;
-    private String desc;
-
-    SysMenuType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-
     private static final Map<Integer, SysMenuType> map = new HashMap<>();
 
     static {
@@ -39,6 +23,14 @@ public String getDesc() {
         }
     }
 
+    private Integer code;
+    private String desc;
+
+    SysMenuType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
     public static Integer getCode(SysMenuType type) {
         if (type == null) {
             return null;
@@ -62,4 +54,12 @@ public static String getDesc(Integer code) {
         return type.getDesc();
     }
 
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
 }
diff --git a/src/main/java/io/geekidea/boot/system/mapper/SysDictMapper.java b/src/main/java/io/geekidea/boot/system/mapper/SysDictMapper.java
index e2dfb0bb..b5390974 100644
--- a/src/main/java/io/geekidea/boot/system/mapper/SysDictMapper.java
+++ b/src/main/java/io/geekidea/boot/system/mapper/SysDictMapper.java
@@ -2,10 +2,10 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import io.geekidea.boot.system.entity.SysDict;
-import io.geekidea.boot.system.query.SysDictQuery;
-import io.geekidea.boot.system.vo.SysDictVo;
 import io.geekidea.boot.system.query.SysDictAppQuery;
+import io.geekidea.boot.system.query.SysDictQuery;
 import io.geekidea.boot.system.vo.AppSysDictVo;
+import io.geekidea.boot.system.vo.SysDictVo;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
diff --git a/src/main/java/io/geekidea/boot/system/mapper/SysLogMapper.java b/src/main/java/io/geekidea/boot/system/mapper/SysLogMapper.java
index 3fd890a8..e57024e5 100644
--- a/src/main/java/io/geekidea/boot/system/mapper/SysLogMapper.java
+++ b/src/main/java/io/geekidea/boot/system/mapper/SysLogMapper.java
@@ -1,9 +1,9 @@
 package io.geekidea.boot.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import io.geekidea.boot.system.vo.SysLogVo;
 import io.geekidea.boot.system.entity.SysLog;
 import io.geekidea.boot.system.query.SysLogQuery;
+import io.geekidea.boot.system.vo.SysLogVo;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
diff --git a/src/main/java/io/geekidea/boot/system/mapper/SysRoleMapper.java b/src/main/java/io/geekidea/boot/system/mapper/SysRoleMapper.java
index 76bb97c9..1a987ebe 100644
--- a/src/main/java/io/geekidea/boot/system/mapper/SysRoleMapper.java
+++ b/src/main/java/io/geekidea/boot/system/mapper/SysRoleMapper.java
@@ -1,9 +1,9 @@
 package io.geekidea.boot.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import io.geekidea.boot.system.vo.SysRoleVo;
 import io.geekidea.boot.system.entity.SysRole;
 import io.geekidea.boot.system.query.SysRoleQuery;
+import io.geekidea.boot.system.vo.SysRoleVo;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
diff --git a/src/main/java/io/geekidea/boot/system/query/SysDictQuery.java b/src/main/java/io/geekidea/boot/system/query/SysDictQuery.java
index 96caf30b..c8b97323 100644
--- a/src/main/java/io/geekidea/boot/system/query/SysDictQuery.java
+++ b/src/main/java/io/geekidea/boot/system/query/SysDictQuery.java
@@ -2,10 +2,9 @@
 
 import io.geekidea.boot.framework.page.BasePageQuery;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
-
 /**
  * 字典数据查询参数
  *
diff --git a/src/main/java/io/geekidea/boot/system/vo/SysDictTypeVo.java b/src/main/java/io/geekidea/boot/system/vo/SysDictTypeVo.java
index b468a2eb..26f931f9 100644
--- a/src/main/java/io/geekidea/boot/system/vo/SysDictTypeVo.java
+++ b/src/main/java/io/geekidea/boot/system/vo/SysDictTypeVo.java
@@ -4,7 +4,6 @@
 import lombok.Data;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * 字典类型VO
diff --git a/src/main/java/io/geekidea/boot/system/vo/SysMenuTreeVo.java b/src/main/java/io/geekidea/boot/system/vo/SysMenuTreeVo.java
index 3b0eec1a..ac271568 100644
--- a/src/main/java/io/geekidea/boot/system/vo/SysMenuTreeVo.java
+++ b/src/main/java/io/geekidea/boot/system/vo/SysMenuTreeVo.java
@@ -3,7 +3,6 @@
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import java.util.Date;
 import java.util.List;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/user/controller/AppUserController.java b/src/main/java/io/geekidea/boot/user/controller/AppUserController.java
index 03efa782..9d513e6d 100644
--- a/src/main/java/io/geekidea/boot/user/controller/AppUserController.java
+++ b/src/main/java/io/geekidea/boot/user/controller/AppUserController.java
@@ -7,6 +7,7 @@
 import io.geekidea.boot.user.vo.AppUserVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -14,8 +15,6 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.validation.Valid;
-
 /**
  * App用户信息 控制器
  *
diff --git a/src/main/java/io/geekidea/boot/user/controller/UserController.java b/src/main/java/io/geekidea/boot/user/controller/UserController.java
index bb613193..c1457bec 100644
--- a/src/main/java/io/geekidea/boot/user/controller/UserController.java
+++ b/src/main/java/io/geekidea/boot/user/controller/UserController.java
@@ -11,12 +11,11 @@
 import io.geekidea.boot.user.vo.UserVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
-
 /**
  * 用户信息 控制器
  *
diff --git a/src/main/java/io/geekidea/boot/user/controller/UserRoleController.java b/src/main/java/io/geekidea/boot/user/controller/UserRoleController.java
index 6ed4064f..df565ccd 100644
--- a/src/main/java/io/geekidea/boot/user/controller/UserRoleController.java
+++ b/src/main/java/io/geekidea/boot/user/controller/UserRoleController.java
@@ -11,12 +11,11 @@
 import io.geekidea.boot.user.vo.UserRoleVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
-
 /**
  * 用户角色 控制器
  *
diff --git a/src/main/java/io/geekidea/boot/user/dto/AppUserHeadDto.java b/src/main/java/io/geekidea/boot/user/dto/AppUserHeadDto.java
index 0ba1c0f1..544976f6 100644
--- a/src/main/java/io/geekidea/boot/user/dto/AppUserHeadDto.java
+++ b/src/main/java/io/geekidea/boot/user/dto/AppUserHeadDto.java
@@ -1,9 +1,9 @@
 package io.geekidea.boot.user.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/user/dto/AppUserNicknameDto.java b/src/main/java/io/geekidea/boot/user/dto/AppUserNicknameDto.java
index d7ce85dd..55e0547c 100644
--- a/src/main/java/io/geekidea/boot/user/dto/AppUserNicknameDto.java
+++ b/src/main/java/io/geekidea/boot/user/dto/AppUserNicknameDto.java
@@ -1,9 +1,9 @@
 package io.geekidea.boot.user.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
 
 /**
diff --git a/src/main/java/io/geekidea/boot/user/dto/UserDto.java b/src/main/java/io/geekidea/boot/user/dto/UserDto.java
index d7de8b09..544e5549 100644
--- a/src/main/java/io/geekidea/boot/user/dto/UserDto.java
+++ b/src/main/java/io/geekidea/boot/user/dto/UserDto.java
@@ -1,14 +1,13 @@
 package io.geekidea.boot.user.dto;
 
-import java.util.Date;
-
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * 修改用户信息参数
diff --git a/src/main/java/io/geekidea/boot/user/dto/UserRoleDto.java b/src/main/java/io/geekidea/boot/user/dto/UserRoleDto.java
index 14f7a788..647e28ba 100644
--- a/src/main/java/io/geekidea/boot/user/dto/UserRoleDto.java
+++ b/src/main/java/io/geekidea/boot/user/dto/UserRoleDto.java
@@ -1,13 +1,11 @@
 package io.geekidea.boot.user.dto;
 
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * 用户角色参数
diff --git a/src/main/java/io/geekidea/boot/user/entity/User.java b/src/main/java/io/geekidea/boot/user/entity/User.java
index 1886a049..207612ce 100644
--- a/src/main/java/io/geekidea/boot/user/entity/User.java
+++ b/src/main/java/io/geekidea/boot/user/entity/User.java
@@ -1,11 +1,11 @@
 package io.geekidea.boot.user.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
 
 /**
  * 用户信息
diff --git a/src/main/java/io/geekidea/boot/user/mapper/UserMapper.java b/src/main/java/io/geekidea/boot/user/mapper/UserMapper.java
index 3a3cbbd0..7f29d567 100644
--- a/src/main/java/io/geekidea/boot/user/mapper/UserMapper.java
+++ b/src/main/java/io/geekidea/boot/user/mapper/UserMapper.java
@@ -2,10 +2,10 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import io.geekidea.boot.user.entity.User;
-import io.geekidea.boot.user.query.UserQuery;
-import io.geekidea.boot.user.vo.UserVo;
 import io.geekidea.boot.user.query.AppUserQuery;
+import io.geekidea.boot.user.query.UserQuery;
 import io.geekidea.boot.user.vo.AppUserVo;
+import io.geekidea.boot.user.vo.UserVo;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
diff --git a/src/main/java/io/geekidea/boot/util/CookieUtil.java b/src/main/java/io/geekidea/boot/util/CookieUtil.java
index 834ad593..0c649e90 100644
--- a/src/main/java/io/geekidea/boot/util/CookieUtil.java
+++ b/src/main/java/io/geekidea/boot/util/CookieUtil.java
@@ -1,8 +1,8 @@
 package io.geekidea.boot.util;
 
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 
 /**
  * @author geekidea
diff --git a/src/main/java/io/geekidea/boot/util/ExcelExportUtil.java b/src/main/java/io/geekidea/boot/util/ExcelExportUtil.java
index e0f9cf8e..e3d15b3a 100644
--- a/src/main/java/io/geekidea/boot/util/ExcelExportUtil.java
+++ b/src/main/java/io/geekidea/boot/util/ExcelExportUtil.java
@@ -7,12 +7,12 @@
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.style.WriteCellStyle;
 import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
+import jakarta.servlet.http.HttpServletResponse;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.HorizontalAlignment;
 import org.apache.poi.ss.usermodel.IndexedColors;
 
-import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
diff --git a/src/main/java/io/geekidea/boot/util/HttpServletRequestUtil.java b/src/main/java/io/geekidea/boot/util/HttpServletRequestUtil.java
index 10f6c8bf..0abe8a11 100644
--- a/src/main/java/io/geekidea/boot/util/HttpServletRequestUtil.java
+++ b/src/main/java/io/geekidea/boot/util/HttpServletRequestUtil.java
@@ -2,12 +2,11 @@
 
 import io.geekidea.boot.common.constant.CommonConstant;
 import io.geekidea.boot.common.constant.RequestHeadConstant;
+import jakarta.servlet.http.HttpServletRequest;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
-import javax.servlet.http.HttpServletRequest;
-
 /**
  * 获取当前请求的HttpServletRequest对象
  *
diff --git a/src/main/java/io/geekidea/boot/util/HttpServletResponseUtil.java b/src/main/java/io/geekidea/boot/util/HttpServletResponseUtil.java
index c603ba0a..14b768f7 100644
--- a/src/main/java/io/geekidea/boot/util/HttpServletResponseUtil.java
+++ b/src/main/java/io/geekidea/boot/util/HttpServletResponseUtil.java
@@ -2,8 +2,8 @@
 
 import com.alibaba.fastjson2.JSON;
 import io.geekidea.boot.framework.response.ApiResult;
+import jakarta.servlet.http.HttpServletResponse;
 
-import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
 
diff --git a/src/main/java/io/geekidea/boot/util/IpRegionUtil.java b/src/main/java/io/geekidea/boot/util/IpRegionUtil.java
index 296f95d4..f472baf7 100644
--- a/src/main/java/io/geekidea/boot/util/IpRegionUtil.java
+++ b/src/main/java/io/geekidea/boot/util/IpRegionUtil.java
@@ -1,6 +1,8 @@
 package io.geekidea.boot.util;
 
 import io.geekidea.boot.framework.bean.IpRegion;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.lionsoul.ip2region.xdb.Searcher;
@@ -8,8 +10,6 @@
 import org.springframework.stereotype.Component;
 import org.springframework.util.FileCopyUtils;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
 import java.io.IOException;
 import java.io.InputStream;
 
diff --git a/src/main/java/io/geekidea/boot/util/IpUtil.java b/src/main/java/io/geekidea/boot/util/IpUtil.java
index 89697cf5..e3551df7 100644
--- a/src/main/java/io/geekidea/boot/util/IpUtil.java
+++ b/src/main/java/io/geekidea/boot/util/IpUtil.java
@@ -5,11 +5,11 @@
  * @date 2022/7/31
  **/
 
+import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 
-import javax.servlet.http.HttpServletRequest;
 import java.net.InetAddress;
 import java.net.NetworkInterface;
 import java.net.SocketException;
diff --git a/src/main/java/io/geekidea/boot/util/SystemTypeUtil.java b/src/main/java/io/geekidea/boot/util/SystemTypeUtil.java
index 8c9e8195..f14ebdc4 100644
--- a/src/main/java/io/geekidea/boot/util/SystemTypeUtil.java
+++ b/src/main/java/io/geekidea/boot/util/SystemTypeUtil.java
@@ -3,10 +3,9 @@
 import io.geekidea.boot.auth.util.TokenUtil;
 import io.geekidea.boot.common.constant.LoginConstant;
 import io.geekidea.boot.common.enums.SystemType;
+import jakarta.servlet.http.HttpServletRequest;
 import org.apache.commons.lang3.StringUtils;
 
-import javax.servlet.http.HttpServletRequest;
-
 /**
  * @author geekidea
  * @date 2023/11/22
diff --git a/src/main/java/io/geekidea/boot/util/api/OssApi.java b/src/main/java/io/geekidea/boot/util/api/OssApi.java
index 497f12ca..72f46f7d 100644
--- a/src/main/java/io/geekidea/boot/util/api/OssApi.java
+++ b/src/main/java/io/geekidea/boot/util/api/OssApi.java
@@ -11,13 +11,13 @@
 import com.aliyun.oss.model.PutObjectResult;
 import io.geekidea.boot.config.properties.OssProperties;
 import io.geekidea.boot.framework.exception.BusinessException;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
 import java.io.InputStream;
 
 /**
@@ -39,19 +39,6 @@ public OssApi(OssProperties ossProperties) {
         OssApi.ossProperties = ossProperties;
     }
 
-    @PostConstruct
-    public void initOssClient() {
-        try {
-            DefaultCredentialProvider credentialsProvider = CredentialsProviderFactory.newDefaultCredentialProvider(ossProperties.getAccessKeyId(), ossProperties.getAccessKeySecret());
-            // 创建OSSClient实例
-            ossClient = new OSSClientBuilder().build(ossProperties.getEndpoint(), credentialsProvider);
-            log.info("OSS实例初始化成功：" + JSON.toJSONString(ossProperties));
-        } catch (Exception e) {
-            log.error("OSS实例初始化异常：" + JSON.toJSONString(ossProperties));
-            e.printStackTrace();
-        }
-    }
-
     public static String upload(InputStream inputStream, String dirName, String fileName) {
         try {
             String rootDir = ossProperties.getRootDir();
@@ -80,6 +67,19 @@ public static String upload(InputStream inputStream, String dirName, String file
         }
     }
 
+    @PostConstruct
+    public void initOssClient() {
+        try {
+            DefaultCredentialProvider credentialsProvider = CredentialsProviderFactory.newDefaultCredentialProvider(ossProperties.getAccessKeyId(), ossProperties.getAccessKeySecret());
+            // 创建OSSClient实例
+            ossClient = new OSSClientBuilder().build(ossProperties.getEndpoint(), credentialsProvider);
+            log.info("OSS实例初始化成功：" + JSON.toJSONString(ossProperties));
+        } catch (Exception e) {
+            log.error("OSS实例初始化异常：" + JSON.toJSONString(ossProperties));
+            e.printStackTrace();
+        }
+    }
+
     @PreDestroy
     public void destroy() {
         try {
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 66cee0cf..488108b5 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -3,11 +3,12 @@ spring:
     url: jdbc:mysql://localhost:3306/spring_boot_plus?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
     username: root
     password: root
-  redis:
-    host: 127.0.0.1
-    port: 6379
-    password:
-    database: 0
+  data:
+    redis:
+      host: 127.0.0.1
+      port: 6379
+      password:
+      database: 0
 
 # file上传配置
 file:
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 3a8e24d4..df024f6f 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -3,11 +3,12 @@ spring:
     url: jdbc:mysql://localhost:3306/spring_boot_plus?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
     username: root
     password: root
-  redis:
-    host: 127.0.0.1
-    port: 6379
-    password:
-    database: 0
+  data:
+    redis:
+      host: 127.0.0.1
+      port: 6379
+      password:
+      database: 0
 
 # 打印SQL语句和结果集，本地开发环境可开启，线上注释掉
 mybatis-plus:
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index aa927d66..49a261c9 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -37,24 +37,26 @@ spring:
       maximum-pool-size: 20
       idle-timeout: 30000
       max-lifetime: 60000
-  # redis配置
-  redis:
-    host: 127.0.0.1
-    port: 6379
-    password:
-    # 连接超时时间（毫秒）
-    timeout: 10s
-    lettuce:
-      pool:
-        # 连接池最大连接数
-        max-active: 200
-        # 连接池中的最大空闲连接
-        max-idle: 20
-        # 连接池最大阻塞等待时间
-        max-wait: 10s
-        # 连接池中的最小空闲连接
-        min-idle: 10
-      shutdown-timeout: 3s
+  data:
+    # redis配置
+    redis:
+      host: 127.0.0.1
+      port: 6379
+      password:
+      database: 0
+      # 连接超时时间
+      timeout: 10s
+      lettuce:
+        pool:
+          # 连接池最大连接数
+          max-active: 200
+          # 连接池中的最大空闲连接
+          max-idle: 20
+          # 连接池最大阻塞等待时间
+          max-wait: 10s
+          # 连接池中的最小空闲连接
+          min-idle: 10
+        shutdown-timeout: 3s
 
 # mybatis-plus配置
 mybatis-plus:
diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt
index e953fe85..36b4f366 100644
--- a/src/main/resources/banner.txt
+++ b/src/main/resources/banner.txt
@@ -9,5 +9,5 @@ ${AnsiColor.BLUE}
      |_|                 |___/                                    |_|
 
 ${AnsiColor.YELLOW}      :: Spring Boot ::             ${AnsiColor.WHITE}(v${spring-boot.version})
-${AnsiColor.YELLOW}      :: spring-boot-plus ::        ${AnsiColor.WHITE}(v2.7.18)
+${AnsiColor.YELLOW}      :: spring-boot-plus ::        ${AnsiColor.WHITE}(v3.2.3)
       https://springboot.plus
diff --git a/src/main/resources/templates/appController.java.vm b/src/main/resources/templates/appController.java.vm
index 44bd7d4d..31d76f5f 100644
--- a/src/main/resources/templates/appController.java.vm
+++ b/src/main/resources/templates/appController.java.vm
@@ -14,7 +14,7 @@ import $!{parameterObjectPackagePath};
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
+import jakarta.validation.Valid;
 #if($!{existsSerializableType})
 import java.io.Serializable;
 #end
diff --git a/src/main/resources/templates/controller.java.vm b/src/main/resources/templates/controller.java.vm
index d0959ebc..ccccc5b3 100644
--- a/src/main/resources/templates/controller.java.vm
+++ b/src/main/resources/templates/controller.java.vm
@@ -22,7 +22,7 @@ import $!{parameterObjectPackagePath};
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
+import jakarta.validation.Valid;
 #if($!{existsSerializableType})
 import java.io.Serializable;
 #end
diff --git a/src/main/resources/templates/dto.java.vm b/src/main/resources/templates/dto.java.vm
index 69e4ea16..28127d2b 100644
--- a/src/main/resources/templates/dto.java.vm
+++ b/src/main/resources/templates/dto.java.vm
@@ -5,8 +5,8 @@ import lombok.Data;
 #if($!{existsValidate})
 import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 #end
 import java.io.Serializable;
 #if($!{existsBigDecimalType})

From b8887dad9a3d8bd4fac86547ecbcabdbd52e5319 Mon Sep 17 00:00:00 2001
From: geekidea <geekidea@qq.com>
Date: Mon, 4 Mar 2024 12:22:18 +0800
Subject: [PATCH 2/2] service

---
 README-zh.md                                          | 11 ++++-------
 ...51\241\271\347\233\256\345\244\226\345\214\205.md" |  2 +-
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/README-zh.md b/README-zh.md
index 74bb1ea6..cba317ff 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -39,8 +39,8 @@
 ## 微信交流群
 ![微信群](https://geekidea.oss-cn-chengdu.aliyuncs.com/geekidea/wechat-group.png)
 
-## 业务咨询
-![业务咨询](https://geekidea.oss-cn-chengdu.aliyuncs.com/geekidea/service.png)
+## 项目外包业务咨询
+![项目外包业务咨询](https://geekidea.oss-cn-chengdu.aliyuncs.com/geekidea/service.png)
 
 
 ### 主要特性
@@ -106,11 +106,8 @@ lombok | 1.18.30 | 注解生成Java Bean等工具 |
 #### 个人中心
 ![个人中心](https://geekidea.oss-cn-chengdu.aliyuncs.com/spring-boot-plus/img/profile.png)
 
-## 联系
-QQ群 625301326| 微信公众号 geekideaio|
--|-|
-![spring-boot-plus QQ Group](https://spring-boot-plus.gitee.io/img/spring-boot-plus-qq-group.png) | ![Wechat Official Account](https://geekidea.oss-cn-chengdu.aliyuncs.com/geekidea/geekidea-wechat-official.jpg) |
-
+## 微信联系
+![Wechat](https://geekidea.oss-cn-chengdu.aliyuncs.com/geekidea/qywx-geekidea-small.png)
 
 ## License
 spring-boot-plus is under the MIT-License. See the [LICENSE](https://gitee.com/geekidea/spring-boot-plus/blob/master/LICENSE) file for details.
diff --git "a/\344\270\232\345\212\241\345\222\250\350\257\242\345\225\206\345\212\241\345\220\210\344\275\234\351\241\271\347\233\256\345\244\226\345\214\205.md" "b/\344\270\232\345\212\241\345\222\250\350\257\242\345\225\206\345\212\241\345\220\210\344\275\234\351\241\271\347\233\256\345\244\226\345\214\205.md"
index e246bbf0..77866612 100644
--- "a/\344\270\232\345\212\241\345\222\250\350\257\242\345\225\206\345\212\241\345\220\210\344\275\234\351\241\271\347\233\256\345\244\226\345\214\205.md"
+++ "b/\344\270\232\345\212\241\345\222\250\350\257\242\345\225\206\345\212\241\345\220\210\344\275\234\351\241\271\347\233\256\345\244\226\345\214\205.md"
@@ -5,5 +5,5 @@
 ### 商城开发、小程序开发、APP开发、物联网开发、SASS系统开发等等
 
 ### 添加企业微信咨询
-![添加企业微信](https://geekidea.oss-cn-chengdu.aliyuncs.com/geekidea/business-card.png)
+![添加企业微信](https://geekidea.oss-cn-chengdu.aliyuncs.com/geekidea/qywx-geekidea.png)
 
