* @author Zheng Jie
- * @website https://eladmin.vip
+ * @website ...
* @date 2020-05-07
**/
@Target(ElementType.TYPE)
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/AnonymousAccess.java b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousAccess.java
similarity index 95%
rename from eladmin-common/src/main/java/me/zhengjie/annotation/AnonymousAccess.java
rename to eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousAccess.java
index b2c168fe9..6755eb26e 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/AnonymousAccess.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousAccess.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.annotation;
+package me.zhengjie.annotation.rest;
import java.lang.annotation.*;
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousDeleteMapping.java b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousDeleteMapping.java
index 6a81c2e92..0617e3837 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousDeleteMapping.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousDeleteMapping.java
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import me.zhengjie.annotation.AnonymousAccess;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousGetMapping.java b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousGetMapping.java
index c260a71bd..55cbf63b6 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousGetMapping.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousGetMapping.java
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import me.zhengjie.annotation.AnonymousAccess;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPatchMapping.java b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPatchMapping.java
index 668661783..67d941c0e 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPatchMapping.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPatchMapping.java
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import me.zhengjie.annotation.AnonymousAccess;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPostMapping.java b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPostMapping.java
index 8f1cdcdd9..a6fe644db 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPostMapping.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPostMapping.java
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import me.zhengjie.annotation.AnonymousAccess;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPutMapping.java b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPutMapping.java
index 7c417dac2..bb2d890eb 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPutMapping.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPutMapping.java
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import me.zhengjie.annotation.AnonymousAccess;
import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/AsyncExecutor.java b/eladmin-common/src/main/java/me/zhengjie/config/AsyncExecutor.java
new file mode 100644
index 000000000..8e9ffe389
--- /dev/null
+++ b/eladmin-common/src/main/java/me/zhengjie/config/AsyncExecutor.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright 2019-2020 Zheng Jie
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package me.zhengjie.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.AsyncConfigurer;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.*;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * 创建自定义的线程池
+ * @author Zheng Jie
+ * @description
+ * @date 2023-06-08
+ **/
+@EnableAsync
+@Configuration
+public class AsyncExecutor implements AsyncConfigurer {
+
+ public static int corePoolSize;
+
+ public static int maxPoolSize;
+
+ public static int keepAliveSeconds;
+
+ public static int queueCapacity;
+
+ @Value("${task.pool.core-pool-size}")
+ public void setCorePoolSize(int corePoolSize) {
+ AsyncExecutor.corePoolSize = corePoolSize;
+ }
+
+ @Value("${task.pool.max-pool-size}")
+ public void setMaxPoolSize(int maxPoolSize) {
+ AsyncExecutor.maxPoolSize = maxPoolSize;
+ }
+
+ @Value("${task.pool.keep-alive-seconds}")
+ public void setKeepAliveSeconds(int keepAliveSeconds) {
+ AsyncExecutor.keepAliveSeconds = keepAliveSeconds;
+ }
+
+ @Value("${task.pool.queue-capacity}")
+ public void setQueueCapacity(int queueCapacity) {
+ AsyncExecutor.queueCapacity = queueCapacity;
+ }
+
+ /**
+ * 自定义线程池,用法 @Async
+ * @return Executor
+ */
+ @Override
+ public Executor getAsyncExecutor() {
+ // 自定义工厂
+ ThreadFactory factory = r -> new Thread(r, "el-async-" + new AtomicInteger(1).getAndIncrement());
+ // 自定义线程池
+ return new ThreadPoolExecutor(corePoolSize, maxPoolSize, keepAliveSeconds,
+ TimeUnit.SECONDS, new ArrayBlockingQueue<>(queueCapacity), factory,
+ new ThreadPoolExecutor.CallerRunsPolicy());
+ }
+
+ /**
+ * 自定义线程池,用法,注入到类中使用
+ * private ThreadPoolTaskExecutor taskExecutor;
+ * @return ThreadPoolTaskExecutor
+ */
+ @Bean("taskAsync")
+ public ThreadPoolTaskExecutor taskAsync() {
+ ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+ executor.setCorePoolSize(2);
+ executor.setMaxPoolSize(4);
+ executor.setQueueCapacity(20);
+ executor.setKeepAliveSeconds(60);
+ executor.setThreadNamePrefix("el-task-");
+ executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+ return executor;
+ }
+}
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/FileProperties.java b/eladmin-common/src/main/java/me/zhengjie/config/properties/FileProperties.java
similarity index 97%
rename from eladmin-common/src/main/java/me/zhengjie/config/FileProperties.java
rename to eladmin-common/src/main/java/me/zhengjie/config/properties/FileProperties.java
index 3d0a5c6a9..2891e9b44 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/FileProperties.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/properties/FileProperties.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.config;
+package me.zhengjie.config.properties;
import lombok.Data;
import me.zhengjie.utils.ElConstant;
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/RsaProperties.java b/eladmin-common/src/main/java/me/zhengjie/config/properties/RsaProperties.java
similarity index 96%
rename from eladmin-common/src/main/java/me/zhengjie/config/RsaProperties.java
rename to eladmin-common/src/main/java/me/zhengjie/config/properties/RsaProperties.java
index 0a4a53755..af557e327 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/RsaProperties.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/properties/RsaProperties.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.config;
+package me.zhengjie.config.properties;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
diff --git a/eladmin-system/src/main/java/me/zhengjie/config/ConfigurerAdapter.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/ConfigurerAdapter.java
similarity index 97%
rename from eladmin-system/src/main/java/me/zhengjie/config/ConfigurerAdapter.java
rename to eladmin-common/src/main/java/me/zhengjie/config/webConfig/ConfigurerAdapter.java
index a0093d689..e57925018 100644
--- a/eladmin-system/src/main/java/me/zhengjie/config/ConfigurerAdapter.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/ConfigurerAdapter.java
@@ -13,11 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.config;
+package me.zhengjie.config.webConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
+import me.zhengjie.config.properties.FileProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
diff --git a/eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/QueryCustomizer.java
similarity index 89%
rename from eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer.java
rename to eladmin-common/src/main/java/me/zhengjie/config/webConfig/QueryCustomizer.java
index 14a6b20df..075439ff2 100644
--- a/eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/QueryCustomizer.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.config;
+package me.zhengjie.config.webConfig;
import org.apache.catalina.connector.Connector;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
@@ -23,7 +23,7 @@
* @author bearBoy80
*/
@Configuration(proxyBeanMethods = false)
-public class RelaxedQueryCharsConnectorCustomizer implements TomcatConnectorCustomizer {
+public class QueryCustomizer implements TomcatConnectorCustomizer {
@Override
public void customize(Connector connector) {
connector.setProperty("relaxedQueryChars", "[]{}");
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/SwaggerConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
similarity index 99%
rename from eladmin-common/src/main/java/me/zhengjie/config/SwaggerConfig.java
rename to eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
index b1a868c4b..d7f222618 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/SwaggerConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.config;
+package me.zhengjie.config.webConfig;
import cn.hutool.core.collection.CollUtil;
import com.fasterxml.classmate.TypeResolver;
diff --git a/eladmin-system/src/main/java/me/zhengjie/config/WebSocketConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/WebSocketConfig.java
similarity index 96%
rename from eladmin-system/src/main/java/me/zhengjie/config/WebSocketConfig.java
rename to eladmin-common/src/main/java/me/zhengjie/config/webConfig/WebSocketConfig.java
index f55f5c60b..1a2cdd72f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/config/WebSocketConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/WebSocketConfig.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.config;
+package me.zhengjie.config.webConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/AnonTagUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/AnonTagUtils.java
index d57ebf28c..9a2832ded 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/AnonTagUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/AnonTagUtils.java
@@ -15,7 +15,7 @@
*/
package me.zhengjie.utils;
-import me.zhengjie.annotation.AnonymousAccess;
+import me.zhengjie.annotation.rest.AnonymousAccess;
import me.zhengjie.utils.enums.RequestMethodEnum;
import org.springframework.context.ApplicationContext;
import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/BigDecimalUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/BigDecimalUtils.java
new file mode 100644
index 000000000..ff3d81fa2
--- /dev/null
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/BigDecimalUtils.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2019-2020 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package me.zhengjie.utils;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+/**
+ * @author Zheng Jie
+ * @description 计算类
+ * @date 2024-12-27
+ **/
+public class BigDecimalUtils {
+
+ /**
+ * 将对象转换为 BigDecimal
+ * @param obj 输入对象
+ * @return 转换后的 BigDecimal
+ */
+ private static BigDecimal toBigDecimal(Object obj) {
+ if (obj instanceof BigDecimal) {
+ return (BigDecimal) obj;
+ } else if (obj instanceof Long) {
+ return BigDecimal.valueOf((Long) obj);
+ } else if (obj instanceof Integer) {
+ return BigDecimal.valueOf((Integer) obj);
+ } else if (obj instanceof Double) {
+ return new BigDecimal(String.valueOf(obj));
+ } else {
+ throw new IllegalArgumentException("Unsupported type");
+ }
+ }
+
+ /**
+ * 加法
+ * @param a 加数
+ * @param b 加数
+ * @return 两个加数的和,保留两位小数
+ */
+ public static BigDecimal add(Object a, Object b) {
+ BigDecimal bdA = toBigDecimal(a);
+ BigDecimal bdB = toBigDecimal(b);
+ return bdA.add(bdB).setScale(2, RoundingMode.HALF_UP);
+ }
+
+ /**
+ * 减法
+ * @param a 被减数
+ * @param b 减数
+ * @return 两数的差,保留两位小数
+ */
+ public static BigDecimal subtract(Object a, Object b) {
+ BigDecimal bdA = toBigDecimal(a);
+ BigDecimal bdB = toBigDecimal(b);
+ return bdA.subtract(bdB).setScale(2, RoundingMode.HALF_UP);
+ }
+
+ /**
+ * 乘法
+ * @param a 乘数
+ * @param b 乘数
+ * @return 两个乘数的积,保留两位小数
+ */
+ public static BigDecimal multiply(Object a, Object b) {
+ BigDecimal bdA = toBigDecimal(a);
+ BigDecimal bdB = toBigDecimal(b);
+ return bdA.multiply(bdB).setScale(2, RoundingMode.HALF_UP);
+ }
+
+ /**
+ * 除法
+ * @param a 被除数
+ * @param b 除数
+ * @return 两数的商,保留两位小数
+ */
+ public static BigDecimal divide(Object a, Object b) {
+ BigDecimal bdA = toBigDecimal(a);
+ BigDecimal bdB = toBigDecimal(b);
+ return bdA.divide(bdB, 2, RoundingMode.HALF_UP);
+ }
+
+ /**
+ * 除法
+ * @param a 被除数
+ * @param b 除数
+ * @param scale 保留小数位数
+ * @return 两数的商,保留两位小数
+ */
+ public static BigDecimal divide(Object a, Object b, int scale) {
+ BigDecimal bdA = toBigDecimal(a);
+ BigDecimal bdB = toBigDecimal(b);
+ return bdA.divide(bdB, scale, RoundingMode.HALF_UP);
+ }
+
+ /**
+ * 分转元
+ * @param obj 分的金额
+ * @return 转换后的元,保留两位小数
+ */
+ public static BigDecimal centsToYuan(Object obj) {
+ BigDecimal cents = toBigDecimal(obj);
+ return cents.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
+ }
+
+ /**
+ * 元转分
+ * @param obj 元的金额
+ * @return 转换后的分
+ */
+ public static Long yuanToCents(Object obj) {
+ BigDecimal yuan = toBigDecimal(obj);
+ return yuan.multiply(BigDecimal.valueOf(100)).setScale(0, RoundingMode.HALF_UP).longValue();
+ }
+
+ public static void main(String[] args) {
+ BigDecimal num1 = new BigDecimal("10.123");
+ BigDecimal num2 = new BigDecimal("2.456");
+
+ System.out.println("加法结果: " + add(num1, num2));
+ System.out.println("减法结果: " + subtract(num1, num2));
+ System.out.println("乘法结果: " + multiply(num1, num2));
+ System.out.println("除法结果: " + divide(num1, num2));
+
+ Long cents = 12345L;
+ System.out.println("分转元结果: " + centsToYuan(cents));
+
+ BigDecimal yuan = new BigDecimal("123.45");
+ System.out.println("元转分结果: " + yuanToCents(yuan));
+ }
+}
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/CallBack.java b/eladmin-common/src/main/java/me/zhengjie/utils/CallBack.java
deleted file mode 100644
index 9b108127e..000000000
--- a/eladmin-common/src/main/java/me/zhengjie/utils/CallBack.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2019-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package me.zhengjie.utils;
-
-/**
- * @author: liaojinlong
- * @date: 2020/6/9 17:02
- * @since: 1.0
- * @see {@link SpringContextHolder}
- * 针对某些初始化方法,在SpringContextHolder 初始化前时,
- * 可提交一个 提交回调任务。
- * 在SpringContextHolder 初始化后,进行回调使用
- */
-
-public interface CallBack {
- /**
- * 回调执行方法
- */
- void executor();
-
- /**
- * 本回调任务名称
- * @return /
- */
- default String getCallBackName() {
- return Thread.currentThread().getId() + ":" + this.getClass().getName();
- }
-}
-
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
index 1761fc80f..1864887da 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
@@ -19,16 +19,17 @@
import cn.hutool.core.util.IdUtil;
import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelUtil;
+import lombok.extern.slf4j.Slf4j;
import me.zhengjie.exception.BadRequestException;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.streaming.SXSSFSheet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
+
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
+import java.nio.file.Files;
import java.security.MessageDigest;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
@@ -44,10 +45,9 @@
* @author Zheng Jie
* @date 2018-12-27
*/
+@Slf4j
public class FileUtil extends cn.hutool.core.io.FileUtil {
- private static final Logger log = LoggerFactory.getLogger(FileUtil.class);
-
/**
* 系统临时目录
*
@@ -110,7 +110,7 @@ public static File toFile(MultipartFile multipartFile) {
* 获取文件扩展名,不带 .
*/
public static String getExtensionName(String filename) {
- if ((filename != null) && (filename.length() > 0)) {
+ if ((filename != null) && (!filename.isEmpty())) {
int dot = filename.lastIndexOf('.');
if ((dot > -1) && (dot < (filename.length() - 1))) {
return filename.substring(dot + 1);
@@ -123,9 +123,9 @@ public static String getExtensionName(String filename) {
* Java文件操作 获取不带扩展名的文件名
*/
public static String getFileNameNoEx(String filename) {
- if ((filename != null) && (filename.length() > 0)) {
+ if ((filename != null) && (!filename.isEmpty())) {
int dot = filename.lastIndexOf('.');
- if ((dot > -1) && (dot < (filename.length()))) {
+ if (dot > -1) {
return filename.substring(0, dot);
}
}
@@ -162,7 +162,7 @@ static File inputStreamToFile(InputStream ins, String name){
}
OutputStream os = null;
try {
- os = new FileOutputStream(file);
+ os = Files.newOutputStream(file.toPath());
int bytesRead;
int len = 8192;
byte[] buffer = new byte[len];
@@ -170,7 +170,7 @@ static File inputStreamToFile(InputStream ins, String name){
os.write(buffer, 0, bytesRead);
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error(e.getMessage(), e);
} finally {
CloseUtil.close(os);
CloseUtil.close(ins);
@@ -301,7 +301,7 @@ private static byte[] getByte(File file) {
byte[] b = new byte[(int) file.length()];
InputStream in = null;
try {
- in = new FileInputStream(file);
+ in = Files.newInputStream(file.toPath());
try {
System.out.println(in.read(b));
} catch (IOException e) {
@@ -407,7 +407,6 @@ public static String verifyFilename(String fileName) {
return fileName;
}
-
public static String getMd5(File file) {
return getMd5(getByte(file));
}
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java b/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java
index 0f1fdfe22..f6019cd8e 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java
@@ -1,16 +1,24 @@
package me.zhengjie.utils;
-import lombok.AccessLevel;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.io.Serializable;
import java.util.List;
-@Getter
-@RequiredArgsConstructor(access = AccessLevel.PACKAGE)
-public class PageResult {
+/**
+ * 分页结果封装类
+ * @author Zheng Jie
+ * @date 2018-11-23
+ * @param
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PageResult implements Serializable {
- private final List content;
+ private List content;
- private final long totalElements;
+ private long totalElements;
}
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
index 28e4672c9..aa4e37616 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
@@ -41,7 +41,7 @@ public class SecurityUtils {
* @return UserDetails
*/
public static UserDetails getCurrentUser() {
- UserDetailsService userDetailsService = SpringContextHolder.getBean(UserDetailsService.class);
+ UserDetailsService userDetailsService = SpringBeanHolder.getBean(UserDetailsService.class);
return userDetailsService.loadUserByUsername(getCurrentUsername());
}
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/SpringContextHolder.java b/eladmin-common/src/main/java/me/zhengjie/utils/SpringBeanHolder.java
similarity index 81%
rename from eladmin-common/src/main/java/me/zhengjie/utils/SpringContextHolder.java
rename to eladmin-common/src/main/java/me/zhengjie/utils/SpringBeanHolder.java
index 41ead3863..2ff3bf410 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/SpringContextHolder.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/SpringBeanHolder.java
@@ -31,10 +31,11 @@
* @date 2019-01-07
*/
@Slf4j
-public class SpringContextHolder implements ApplicationContextAware, DisposableBean {
+@SuppressWarnings("all")
+public class SpringBeanHolder implements ApplicationContextAware, DisposableBean {
private static ApplicationContext applicationContext = null;
- private static final List CALL_BACKS = new ArrayList<>();
+ private static final List CALL_BACKS = new ArrayList<>();
private static boolean addCallback = true;
/**
@@ -43,9 +44,9 @@ public class SpringContextHolder implements ApplicationContextAware, DisposableB
*
* @param callBack 回调函数
*/
- public synchronized static void addCallBacks(CallBack callBack) {
+ public synchronized static void addCallBacks(SpringBeanHolder.CallBack callBack) {
if (addCallback) {
- SpringContextHolder.CALL_BACKS.add(callBack);
+ SpringBeanHolder.CALL_BACKS.add(callBack);
} else {
log.warn("CallBack:{} 已无法添加!立即执行", callBack.getCallBackName());
callBack.executor();
@@ -55,7 +56,6 @@ public synchronized static void addCallBacks(CallBack callBack) {
/**
* 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.
*/
- @SuppressWarnings("unchecked")
public static T getBean(String name) {
assertContextInjected();
return (T) applicationContext.getBean(name);
@@ -127,22 +127,22 @@ private static void clearHolder() {
@Override
public void destroy() {
- SpringContextHolder.clearHolder();
+ SpringBeanHolder.clearHolder();
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- if (SpringContextHolder.applicationContext != null) {
- log.warn("SpringContextHolder中的ApplicationContext被覆盖, 原有ApplicationContext为:" + SpringContextHolder.applicationContext);
+ if (SpringBeanHolder.applicationContext != null) {
+ log.warn("SpringContextHolder中的ApplicationContext被覆盖, 原有ApplicationContext为:" + SpringBeanHolder.applicationContext);
}
- SpringContextHolder.applicationContext = applicationContext;
+ SpringBeanHolder.applicationContext = applicationContext;
if (addCallback) {
- for (CallBack callBack : SpringContextHolder.CALL_BACKS) {
+ for (SpringBeanHolder.CallBack callBack : SpringBeanHolder.CALL_BACKS) {
callBack.executor();
}
CALL_BACKS.clear();
}
- SpringContextHolder.addCallback = false;
+ SpringBeanHolder.addCallback = false;
}
/**
@@ -153,4 +153,20 @@ public static List getAllServiceBeanName() {
return new ArrayList<>(Arrays.asList(applicationContext
.getBeanNamesForAnnotation(Service.class)));
}
+
+ interface CallBack {
+
+ /**
+ * 回调执行方法
+ */
+ void executor();
+
+ /**
+ * 本回调任务名称
+ * @return /
+ */
+ default String getCallBackName() {
+ return Thread.currentThread().getId() + ":" + this.getClass().getName();
+ }
+ }
}
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
index a27a47a94..c10d2b539 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
@@ -41,7 +41,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
/**
* 注入bean
*/
- private final static Ip2regionSearcher IP_SEARCHER = SpringContextHolder.getBean(Ip2regionSearcher.class);
+ private final static Ip2regionSearcher IP_SEARCHER = SpringBeanHolder.getBean(Ip2regionSearcher.class);
/**
* 驼峰命名法工具
diff --git a/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java b/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java
index b5fcd6b7d..f65d06bf0 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java
@@ -45,7 +45,7 @@ static String cloToJava(String type) {
*/
public static PropertiesConfiguration getConfig() {
try {
- return new PropertiesConfiguration("generator.properties");
+ return new PropertiesConfiguration("gen.properties");
} catch (ConfigurationException e) {
log.error(e.getMessage(), e);
}
diff --git a/eladmin-generator/src/main/resources/generator.properties b/eladmin-generator/src/main/resources/gen.properties
similarity index 100%
rename from eladmin-generator/src/main/resources/generator.properties
rename to eladmin-generator/src/main/resources/gen.properties
diff --git a/eladmin-system/pom.xml b/eladmin-system/pom.xml
index e17991963..a7b837ccd 100644
--- a/eladmin-system/pom.xml
+++ b/eladmin-system/pom.xml
@@ -39,12 +39,6 @@
2.7
-
-
- org.springframework.boot
- spring-boot-starter-websocket
-
-
org.springframework.boot
diff --git a/eladmin-system/src/main/java/me/zhengjie/AppRun.java b/eladmin-system/src/main/java/me/zhengjie/AppRun.java
index 8bdcd0294..d49745423 100644
--- a/eladmin-system/src/main/java/me/zhengjie/AppRun.java
+++ b/eladmin-system/src/main/java/me/zhengjie/AppRun.java
@@ -18,7 +18,7 @@
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import me.zhengjie.annotation.rest.AnonymousGetMapping;
-import me.zhengjie.utils.SpringContextHolder;
+import me.zhengjie.utils.SpringBeanHolder;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.ApplicationPidFileWriter;
@@ -56,8 +56,8 @@ public static void main(String[] args) {
}
@Bean
- public SpringContextHolder springContextHolder() {
- return new SpringContextHolder();
+ public SpringBeanHolder springContextHolder() {
+ return new SpringBeanHolder();
}
/**
diff --git a/eladmin-system/src/main/java/me/zhengjie/config/thread/AsyncTaskProperties.java b/eladmin-system/src/main/java/me/zhengjie/config/thread/AsyncTaskProperties.java
deleted file mode 100644
index 6e075eab4..000000000
--- a/eladmin-system/src/main/java/me/zhengjie/config/thread/AsyncTaskProperties.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2019-2020 Zheng Jie
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package me.zhengjie.config.thread;
-
-import lombok.Data;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-/**
- * 线程池配置属性类
- * @author https://juejin.im/entry/5abb8f6951882555677e9da2
- * @date 2019年10月31日14:58:18
- */
-@Data
-@Component
-public class AsyncTaskProperties {
-
- public static int corePoolSize;
-
- public static int maxPoolSize;
-
- public static int keepAliveSeconds;
-
- public static int queueCapacity;
-
- @Value("${task.pool.core-pool-size}")
- public void setCorePoolSize(int corePoolSize) {
- AsyncTaskProperties.corePoolSize = corePoolSize;
- }
-
- @Value("${task.pool.max-pool-size}")
- public void setMaxPoolSize(int maxPoolSize) {
- AsyncTaskProperties.maxPoolSize = maxPoolSize;
- }
-
- @Value("${task.pool.keep-alive-seconds}")
- public void setKeepAliveSeconds(int keepAliveSeconds) {
- AsyncTaskProperties.keepAliveSeconds = keepAliveSeconds;
- }
-
- @Value("${task.pool.queue-capacity}")
- public void setQueueCapacity(int queueCapacity) {
- AsyncTaskProperties.queueCapacity = queueCapacity;
- }
-}
diff --git a/eladmin-system/src/main/java/me/zhengjie/config/thread/CustomExecutorConfig.java b/eladmin-system/src/main/java/me/zhengjie/config/thread/CustomExecutorConfig.java
deleted file mode 100644
index ca8a8bc52..000000000
--- a/eladmin-system/src/main/java/me/zhengjie/config/thread/CustomExecutorConfig.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package me.zhengjie.config.thread;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-import java.util.concurrent.Executor;
-import java.util.concurrent.ThreadPoolExecutor;
-
-/**
- * 创建自定义的线程池
- * @author Zheng Jie
- * @description
- * @date 2023-06-08
- **/
-@Configuration
-public class CustomExecutorConfig {
-
- /**
- * 自定义线程池,用法 @Async
- * @return Executor
- */
- @Bean
- @Primary
- public Executor elAsync() {
- ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
- executor.setCorePoolSize(AsyncTaskProperties.corePoolSize);
- executor.setMaxPoolSize(AsyncTaskProperties.maxPoolSize);
- executor.setQueueCapacity(AsyncTaskProperties.queueCapacity);
- executor.setThreadNamePrefix("el-async-");
- executor.setKeepAliveSeconds(AsyncTaskProperties.keepAliveSeconds);
- executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
- executor.initialize();
- return executor;
- }
-
- /**
- * 自定义线程池,用法 @Async("otherAsync")
- * @return Executor
- */
- @Bean
- public Executor otherAsync() {
- ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
- executor.setCorePoolSize(15);
- executor.setQueueCapacity(50);
- executor.setKeepAliveSeconds(AsyncTaskProperties.keepAliveSeconds);
- executor.setThreadNamePrefix("el-task-");
- executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
- executor.initialize();
- return executor;
- }
-}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/App.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/App.java
similarity index 97%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/App.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/App.java
index cf5789c99..331101856 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/App.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/App.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.domain;
+package me.zhengjie.modules.maint.domain;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.BeanUtil;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Database.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Database.java
similarity index 97%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Database.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Database.java
index 6b3a68a67..cf2a7889a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Database.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Database.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.domain;
+package me.zhengjie.modules.maint.domain;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.BeanUtil;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Deploy.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Deploy.java
similarity index 97%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Deploy.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Deploy.java
index bcf61e54a..e9c9f5426 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Deploy.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Deploy.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.domain;
+package me.zhengjie.modules.maint.domain;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.BeanUtil;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/DeployHistory.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/DeployHistory.java
similarity index 97%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/DeployHistory.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/DeployHistory.java
index b4213a416..83fb1178a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/DeployHistory.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/DeployHistory.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.domain;
+package me.zhengjie.modules.maint.domain;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.BeanUtil;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/ServerDeploy.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/ServerDeploy.java
similarity index 98%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/ServerDeploy.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/ServerDeploy.java
index f52356276..cf86dabc7 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/ServerDeploy.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/ServerDeploy.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.domain;
+package me.zhengjie.modules.maint.domain;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.BeanUtil;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/AppRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/AppRepository.java
similarity index 90%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/AppRepository.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/AppRepository.java
index 41e5f5c9b..008e00f44 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/AppRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/AppRepository.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.repository;
+package me.zhengjie.modules.maint.repository;
-import me.zhengjie.modules.mnt.domain.App;
+import me.zhengjie.modules.maint.domain.App;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DatabaseRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DatabaseRepository.java
similarity index 90%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DatabaseRepository.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DatabaseRepository.java
index 695e0adc0..52fac4749 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DatabaseRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DatabaseRepository.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.repository;
+package me.zhengjie.modules.maint.repository;
-import me.zhengjie.modules.mnt.domain.Database;
+import me.zhengjie.modules.maint.domain.Database;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DeployHistoryRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployHistoryRepository.java
similarity index 90%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DeployHistoryRepository.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployHistoryRepository.java
index 3c8980ec2..097a7acc3 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DeployHistoryRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployHistoryRepository.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.repository;
+package me.zhengjie.modules.maint.repository;
-import me.zhengjie.modules.mnt.domain.DeployHistory;
+import me.zhengjie.modules.maint.domain.DeployHistory;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DeployRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployRepository.java
similarity index 90%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DeployRepository.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployRepository.java
index 2ea44986f..f01b29a26 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/DeployRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployRepository.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.repository;
+package me.zhengjie.modules.maint.repository;
-import me.zhengjie.modules.mnt.domain.Deploy;
+import me.zhengjie.modules.maint.domain.Deploy;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/ServerDeployRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/ServerDeployRepository.java
similarity index 91%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/ServerDeployRepository.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/ServerDeployRepository.java
index 4ca336c08..9926f54d0 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/repository/ServerDeployRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/ServerDeployRepository.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.repository;
+package me.zhengjie.modules.maint.repository;
-import me.zhengjie.modules.mnt.domain.ServerDeploy;
+import me.zhengjie.modules.maint.domain.ServerDeploy;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/AppController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/AppController.java
similarity index 92%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/AppController.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/AppController.java
index 96cfbed3b..ecf04f1da 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/AppController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/AppController.java
@@ -13,16 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.rest;
+package me.zhengjie.modules.maint.rest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import me.zhengjie.annotation.Log;
-import me.zhengjie.modules.mnt.domain.App;
-import me.zhengjie.modules.mnt.service.AppService;
-import me.zhengjie.modules.mnt.service.dto.AppDto;
-import me.zhengjie.modules.mnt.service.dto.AppQueryCriteria;
+import me.zhengjie.modules.maint.domain.App;
+import me.zhengjie.modules.maint.service.AppService;
+import me.zhengjie.modules.maint.service.dto.AppDto;
+import me.zhengjie.modules.maint.service.dto.AppQueryCriteria;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DatabaseController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DatabaseController.java
similarity index 93%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DatabaseController.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DatabaseController.java
index ded799d3b..7201b4447 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DatabaseController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DatabaseController.java
@@ -13,18 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.rest;
+package me.zhengjie.modules.maint.rest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import me.zhengjie.annotation.Log;
import me.zhengjie.exception.BadRequestException;
-import me.zhengjie.modules.mnt.domain.Database;
-import me.zhengjie.modules.mnt.service.DatabaseService;
-import me.zhengjie.modules.mnt.service.dto.DatabaseDto;
-import me.zhengjie.modules.mnt.service.dto.DatabaseQueryCriteria;
-import me.zhengjie.modules.mnt.util.SqlUtils;
+import me.zhengjie.modules.maint.domain.Database;
+import me.zhengjie.modules.maint.service.DatabaseService;
+import me.zhengjie.modules.maint.service.dto.DatabaseDto;
+import me.zhengjie.modules.maint.service.dto.DatabaseQueryCriteria;
+import me.zhengjie.modules.maint.util.SqlUtils;
import me.zhengjie.utils.FileUtil;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployController.java
similarity index 94%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployController.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployController.java
index 161e7b5dd..346e51d13 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployController.java
@@ -13,18 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.rest;
+package me.zhengjie.modules.maint.rest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.zhengjie.annotation.Log;
-import me.zhengjie.modules.mnt.domain.Deploy;
-import me.zhengjie.modules.mnt.domain.DeployHistory;
-import me.zhengjie.modules.mnt.service.DeployService;
-import me.zhengjie.modules.mnt.service.dto.DeployDto;
-import me.zhengjie.modules.mnt.service.dto.DeployQueryCriteria;
+import me.zhengjie.modules.maint.domain.Deploy;
+import me.zhengjie.modules.maint.domain.DeployHistory;
+import me.zhengjie.modules.maint.service.DeployService;
+import me.zhengjie.modules.maint.service.dto.DeployDto;
+import me.zhengjie.modules.maint.service.dto.DeployQueryCriteria;
import me.zhengjie.utils.FileUtil;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployHistoryController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployHistoryController.java
similarity index 91%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployHistoryController.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployHistoryController.java
index 60ee88c46..799160278 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployHistoryController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployHistoryController.java
@@ -13,15 +13,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.rest;
+package me.zhengjie.modules.maint.rest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import me.zhengjie.annotation.Log;
-import me.zhengjie.modules.mnt.service.DeployHistoryService;
-import me.zhengjie.modules.mnt.service.dto.DeployHistoryDto;
-import me.zhengjie.modules.mnt.service.dto.DeployHistoryQueryCriteria;
+import me.zhengjie.modules.maint.service.DeployHistoryService;
+import me.zhengjie.modules.maint.service.dto.DeployHistoryDto;
+import me.zhengjie.modules.maint.service.dto.DeployHistoryQueryCriteria;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/ServerDeployController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/ServerDeployController.java
similarity index 92%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/ServerDeployController.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/ServerDeployController.java
index f4c60f428..ddbe177ed 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/ServerDeployController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/ServerDeployController.java
@@ -13,16 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.rest;
+package me.zhengjie.modules.maint.rest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import me.zhengjie.annotation.Log;
-import me.zhengjie.modules.mnt.domain.ServerDeploy;
-import me.zhengjie.modules.mnt.service.ServerDeployService;
-import me.zhengjie.modules.mnt.service.dto.ServerDeployDto;
-import me.zhengjie.modules.mnt.service.dto.ServerDeployQueryCriteria;
+import me.zhengjie.modules.maint.domain.ServerDeploy;
+import me.zhengjie.modules.maint.service.ServerDeployService;
+import me.zhengjie.modules.maint.service.dto.ServerDeployDto;
+import me.zhengjie.modules.maint.service.dto.ServerDeployQueryCriteria;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/AppService.java
similarity index 89%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/AppService.java
index 9bded4d80..8fb56051d 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/AppService.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service;
+package me.zhengjie.modules.maint.service;
-import me.zhengjie.modules.mnt.domain.App;
-import me.zhengjie.modules.mnt.service.dto.AppDto;
-import me.zhengjie.modules.mnt.service.dto.AppQueryCriteria;
+import me.zhengjie.modules.maint.domain.App;
+import me.zhengjie.modules.maint.service.dto.AppDto;
+import me.zhengjie.modules.maint.service.dto.AppQueryCriteria;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DatabaseService.java
similarity index 90%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DatabaseService.java
index 904f73cab..8e45afcf0 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DatabaseService.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service;
+package me.zhengjie.modules.maint.service;
-import me.zhengjie.modules.mnt.domain.Database;
-import me.zhengjie.modules.mnt.service.dto.DatabaseDto;
-import me.zhengjie.modules.mnt.service.dto.DatabaseQueryCriteria;
+import me.zhengjie.modules.maint.domain.Database;
+import me.zhengjie.modules.maint.service.dto.DatabaseDto;
+import me.zhengjie.modules.maint.service.dto.DatabaseQueryCriteria;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployHistoryService.java
similarity index 88%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployHistoryService.java
index 07bcb642f..fb2efdb0a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployHistoryService.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service;
+package me.zhengjie.modules.maint.service;
-import me.zhengjie.modules.mnt.domain.DeployHistory;
-import me.zhengjie.modules.mnt.service.dto.DeployHistoryDto;
-import me.zhengjie.modules.mnt.service.dto.DeployHistoryQueryCriteria;
+import me.zhengjie.modules.maint.domain.DeployHistory;
+import me.zhengjie.modules.maint.service.dto.DeployHistoryDto;
+import me.zhengjie.modules.maint.service.dto.DeployHistoryQueryCriteria;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployService.java
similarity index 90%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployService.java
index 7fb78f59d..c6ef852b8 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployService.java
@@ -13,12 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service;
+package me.zhengjie.modules.maint.service;
-import me.zhengjie.modules.mnt.domain.Deploy;
-import me.zhengjie.modules.mnt.domain.DeployHistory;
-import me.zhengjie.modules.mnt.service.dto.DeployDto;
-import me.zhengjie.modules.mnt.service.dto.DeployQueryCriteria;
+import me.zhengjie.modules.maint.domain.Deploy;
+import me.zhengjie.modules.maint.domain.DeployHistory;
+import me.zhengjie.modules.maint.service.dto.DeployDto;
+import me.zhengjie.modules.maint.service.dto.DeployQueryCriteria;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/ServerDeployService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/ServerDeployService.java
similarity index 90%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/ServerDeployService.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/ServerDeployService.java
index 6dd343fdb..20590f054 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/ServerDeployService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/ServerDeployService.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service;
+package me.zhengjie.modules.maint.service;
-import me.zhengjie.modules.mnt.domain.ServerDeploy;
-import me.zhengjie.modules.mnt.service.dto.ServerDeployDto;
-import me.zhengjie.modules.mnt.service.dto.ServerDeployQueryCriteria;
+import me.zhengjie.modules.maint.domain.ServerDeploy;
+import me.zhengjie.modules.maint.service.dto.ServerDeployDto;
+import me.zhengjie.modules.maint.service.dto.ServerDeployQueryCriteria;
import me.zhengjie.utils.PageResult;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/AppDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppDto.java
similarity index 96%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/AppDto.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppDto.java
index c6fd6f74a..dbe183546 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/AppDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppDto.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Getter;
import lombok.Setter;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/AppQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppQueryCriteria.java
similarity index 95%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/AppQueryCriteria.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppQueryCriteria.java
index 17f358f74..a3db98846 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/AppQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppQueryCriteria.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Data;
import me.zhengjie.annotation.Query;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DatabaseDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseDto.java
similarity index 95%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DatabaseDto.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseDto.java
index 689b06b9f..07797413d 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DatabaseDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseDto.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Getter;
import lombok.Setter;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DatabaseQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseQueryCriteria.java
similarity index 95%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DatabaseQueryCriteria.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseQueryCriteria.java
index 53d619d4f..e70e5d211 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DatabaseQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseQueryCriteria.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Data;
import me.zhengjie.annotation.Query;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployDto.java
similarity index 97%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployDto.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployDto.java
index f3d77b8eb..b9d14c857 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployDto.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import cn.hutool.core.collection.CollectionUtil;
import lombok.Getter;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployHistoryDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryDto.java
similarity index 95%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployHistoryDto.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryDto.java
index a9f480cf3..8cca9d4a6 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployHistoryDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryDto.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Data;
import java.io.Serializable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployHistoryQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryQueryCriteria.java
similarity index 95%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployHistoryQueryCriteria.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryQueryCriteria.java
index c34f1242f..87846a9ac 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployHistoryQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryQueryCriteria.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Data;
import me.zhengjie.annotation.Query;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployQueryCriteria.java
similarity index 95%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployQueryCriteria.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployQueryCriteria.java
index c404620af..fbbb34716 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/DeployQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployQueryCriteria.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Data;
import me.zhengjie.annotation.Query;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/ServerDeployDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployDto.java
similarity index 96%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/ServerDeployDto.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployDto.java
index a49c7950d..a94a41dd8 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/ServerDeployDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployDto.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Getter;
import lombok.Setter;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/ServerDeployQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployQueryCriteria.java
similarity index 95%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/ServerDeployQueryCriteria.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployQueryCriteria.java
index bb8bd412d..814d3e8bd 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/dto/ServerDeployQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployQueryCriteria.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.dto;
+package me.zhengjie.modules.maint.service.dto;
import lombok.Data;
import me.zhengjie.annotation.Query;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/AppServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/AppServiceImpl.java
similarity index 91%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/AppServiceImpl.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/AppServiceImpl.java
index 7d66d0bf2..32abdcb83 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/AppServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/AppServiceImpl.java
@@ -13,16 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.impl;
+package me.zhengjie.modules.maint.service.impl;
import lombok.RequiredArgsConstructor;
import me.zhengjie.exception.BadRequestException;
-import me.zhengjie.modules.mnt.domain.App;
-import me.zhengjie.modules.mnt.repository.AppRepository;
-import me.zhengjie.modules.mnt.service.AppService;
-import me.zhengjie.modules.mnt.service.dto.AppDto;
-import me.zhengjie.modules.mnt.service.dto.AppQueryCriteria;
-import me.zhengjie.modules.mnt.service.mapstruct.AppMapper;
+import me.zhengjie.modules.maint.domain.App;
+import me.zhengjie.modules.maint.repository.AppRepository;
+import me.zhengjie.modules.maint.service.AppService;
+import me.zhengjie.modules.maint.service.dto.AppDto;
+import me.zhengjie.modules.maint.service.dto.AppQueryCriteria;
+import me.zhengjie.modules.maint.service.mapstruct.AppMapper;
import me.zhengjie.utils.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DatabaseServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DatabaseServiceImpl.java
similarity index 89%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DatabaseServiceImpl.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DatabaseServiceImpl.java
index 386b4c296..3763aa4dd 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DatabaseServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DatabaseServiceImpl.java
@@ -13,18 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.impl;
+package me.zhengjie.modules.maint.service.impl;
import cn.hutool.core.util.IdUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.modules.mnt.domain.Database;
-import me.zhengjie.modules.mnt.repository.DatabaseRepository;
-import me.zhengjie.modules.mnt.service.DatabaseService;
-import me.zhengjie.modules.mnt.service.dto.DatabaseDto;
-import me.zhengjie.modules.mnt.service.dto.DatabaseQueryCriteria;
-import me.zhengjie.modules.mnt.service.mapstruct.DatabaseMapper;
-import me.zhengjie.modules.mnt.util.SqlUtils;
+import me.zhengjie.modules.maint.domain.Database;
+import me.zhengjie.modules.maint.repository.DatabaseRepository;
+import me.zhengjie.modules.maint.service.DatabaseService;
+import me.zhengjie.modules.maint.service.dto.DatabaseDto;
+import me.zhengjie.modules.maint.service.dto.DatabaseQueryCriteria;
+import me.zhengjie.modules.maint.service.mapstruct.DatabaseMapper;
+import me.zhengjie.modules.maint.util.SqlUtils;
import me.zhengjie.utils.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployHistoryServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployHistoryServiceImpl.java
similarity index 88%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployHistoryServiceImpl.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployHistoryServiceImpl.java
index 762b783e7..b50c155a1 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployHistoryServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployHistoryServiceImpl.java
@@ -13,16 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.impl;
+package me.zhengjie.modules.maint.service.impl;
import cn.hutool.core.util.IdUtil;
import lombok.RequiredArgsConstructor;
-import me.zhengjie.modules.mnt.domain.DeployHistory;
-import me.zhengjie.modules.mnt.repository.DeployHistoryRepository;
-import me.zhengjie.modules.mnt.service.DeployHistoryService;
-import me.zhengjie.modules.mnt.service.dto.DeployHistoryDto;
-import me.zhengjie.modules.mnt.service.dto.DeployHistoryQueryCriteria;
-import me.zhengjie.modules.mnt.service.mapstruct.DeployHistoryMapper;
+import me.zhengjie.modules.maint.domain.DeployHistory;
+import me.zhengjie.modules.maint.repository.DeployHistoryRepository;
+import me.zhengjie.modules.maint.service.DeployHistoryService;
+import me.zhengjie.modules.maint.service.dto.DeployHistoryDto;
+import me.zhengjie.modules.maint.service.dto.DeployHistoryQueryCriteria;
+import me.zhengjie.modules.maint.service.mapstruct.DeployHistoryMapper;
import me.zhengjie.utils.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployServiceImpl.java
similarity index 93%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployServiceImpl.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployServiceImpl.java
index 1c16f9c65..03ffdd1a5 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployServiceImpl.java
@@ -13,31 +13,31 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.impl;
+package me.zhengjie.modules.maint.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.zhengjie.exception.BadRequestException;
-import me.zhengjie.modules.mnt.domain.App;
-import me.zhengjie.modules.mnt.domain.Deploy;
-import me.zhengjie.modules.mnt.domain.DeployHistory;
-import me.zhengjie.modules.mnt.domain.ServerDeploy;
-import me.zhengjie.modules.mnt.repository.DeployRepository;
-import me.zhengjie.modules.mnt.service.DeployHistoryService;
-import me.zhengjie.modules.mnt.service.DeployService;
-import me.zhengjie.modules.mnt.service.ServerDeployService;
-import me.zhengjie.modules.mnt.service.dto.AppDto;
-import me.zhengjie.modules.mnt.service.dto.DeployDto;
-import me.zhengjie.modules.mnt.service.dto.DeployQueryCriteria;
-import me.zhengjie.modules.mnt.service.dto.ServerDeployDto;
-import me.zhengjie.modules.mnt.service.mapstruct.DeployMapper;
-import me.zhengjie.modules.mnt.util.ExecuteShellUtil;
-import me.zhengjie.modules.mnt.util.ScpClientUtil;
-import me.zhengjie.modules.mnt.websocket.MsgType;
-import me.zhengjie.modules.mnt.websocket.SocketMsg;
-import me.zhengjie.modules.mnt.websocket.WebSocketServer;
+import me.zhengjie.modules.maint.domain.App;
+import me.zhengjie.modules.maint.domain.Deploy;
+import me.zhengjie.modules.maint.domain.DeployHistory;
+import me.zhengjie.modules.maint.domain.ServerDeploy;
+import me.zhengjie.modules.maint.repository.DeployRepository;
+import me.zhengjie.modules.maint.service.DeployHistoryService;
+import me.zhengjie.modules.maint.service.DeployService;
+import me.zhengjie.modules.maint.service.ServerDeployService;
+import me.zhengjie.modules.maint.service.dto.AppDto;
+import me.zhengjie.modules.maint.service.dto.DeployDto;
+import me.zhengjie.modules.maint.service.dto.DeployQueryCriteria;
+import me.zhengjie.modules.maint.service.dto.ServerDeployDto;
+import me.zhengjie.modules.maint.service.mapstruct.DeployMapper;
+import me.zhengjie.modules.maint.util.ExecuteShellUtil;
+import me.zhengjie.modules.maint.util.ScpClientUtil;
+import me.zhengjie.modules.maint.websocket.MsgType;
+import me.zhengjie.modules.maint.websocket.SocketMsg;
+import me.zhengjie.modules.maint.websocket.WebSocketServer;
import me.zhengjie.utils.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/ServerDeployServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/ServerDeployServiceImpl.java
similarity index 89%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/ServerDeployServiceImpl.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/ServerDeployServiceImpl.java
index 24b29e0e2..ee9e5e756 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/ServerDeployServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/ServerDeployServiceImpl.java
@@ -13,16 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.impl;
+package me.zhengjie.modules.maint.service.impl;
import lombok.RequiredArgsConstructor;
-import me.zhengjie.modules.mnt.domain.ServerDeploy;
-import me.zhengjie.modules.mnt.repository.ServerDeployRepository;
-import me.zhengjie.modules.mnt.service.ServerDeployService;
-import me.zhengjie.modules.mnt.service.dto.ServerDeployDto;
-import me.zhengjie.modules.mnt.service.dto.ServerDeployQueryCriteria;
-import me.zhengjie.modules.mnt.service.mapstruct.ServerDeployMapper;
-import me.zhengjie.modules.mnt.util.ExecuteShellUtil;
+import me.zhengjie.modules.maint.domain.ServerDeploy;
+import me.zhengjie.modules.maint.repository.ServerDeployRepository;
+import me.zhengjie.modules.maint.service.ServerDeployService;
+import me.zhengjie.modules.maint.service.dto.ServerDeployDto;
+import me.zhengjie.modules.maint.service.dto.ServerDeployQueryCriteria;
+import me.zhengjie.modules.maint.service.mapstruct.ServerDeployMapper;
+import me.zhengjie.modules.maint.util.ExecuteShellUtil;
import me.zhengjie.utils.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/AppMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/AppMapper.java
similarity index 85%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/AppMapper.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/AppMapper.java
index fc39eeb2c..31418b056 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/AppMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/AppMapper.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.mapstruct;
+package me.zhengjie.modules.maint.service.mapstruct;
import me.zhengjie.base.BaseMapper;
-import me.zhengjie.modules.mnt.domain.App;
-import me.zhengjie.modules.mnt.service.dto.AppDto;
+import me.zhengjie.modules.maint.domain.App;
+import me.zhengjie.modules.maint.service.dto.AppDto;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DatabaseMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DatabaseMapper.java
similarity index 85%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DatabaseMapper.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DatabaseMapper.java
index 3cc6e8dde..e540394a8 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DatabaseMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DatabaseMapper.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.mapstruct;
+package me.zhengjie.modules.maint.service.mapstruct;
import me.zhengjie.base.BaseMapper;
-import me.zhengjie.modules.mnt.domain.Database;
-import me.zhengjie.modules.mnt.service.dto.DatabaseDto;
+import me.zhengjie.modules.maint.domain.Database;
+import me.zhengjie.modules.maint.service.dto.DatabaseDto;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DeployHistoryMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployHistoryMapper.java
similarity index 84%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DeployHistoryMapper.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployHistoryMapper.java
index 2522ab023..f83f903be 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DeployHistoryMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployHistoryMapper.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.mapstruct;
+package me.zhengjie.modules.maint.service.mapstruct;
import me.zhengjie.base.BaseMapper;
-import me.zhengjie.modules.mnt.domain.DeployHistory;
-import me.zhengjie.modules.mnt.service.dto.DeployHistoryDto;
+import me.zhengjie.modules.maint.domain.DeployHistory;
+import me.zhengjie.modules.maint.service.dto.DeployHistoryDto;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DeployMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployMapper.java
similarity index 85%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DeployMapper.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployMapper.java
index cd3edee88..543043b47 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/DeployMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployMapper.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.mapstruct;
+package me.zhengjie.modules.maint.service.mapstruct;
import me.zhengjie.base.BaseMapper;
-import me.zhengjie.modules.mnt.domain.Deploy;
-import me.zhengjie.modules.mnt.service.dto.DeployDto;
+import me.zhengjie.modules.maint.domain.Deploy;
+import me.zhengjie.modules.maint.service.dto.DeployDto;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/ServerDeployMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/ServerDeployMapper.java
similarity index 84%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/ServerDeployMapper.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/ServerDeployMapper.java
index 960b25b16..e5f859a3e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/mapstruct/ServerDeployMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/ServerDeployMapper.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.service.mapstruct;
+package me.zhengjie.modules.maint.service.mapstruct;
import me.zhengjie.base.BaseMapper;
-import me.zhengjie.modules.mnt.domain.ServerDeploy;
-import me.zhengjie.modules.mnt.service.dto.ServerDeployDto;
+import me.zhengjie.modules.maint.domain.ServerDeploy;
+import me.zhengjie.modules.maint.service.dto.ServerDeployDto;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/DataTypeEnum.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/DataTypeEnum.java
similarity index 99%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/DataTypeEnum.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/util/DataTypeEnum.java
index e104b9ee9..4fa92b4fc 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/DataTypeEnum.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/DataTypeEnum.java
@@ -17,7 +17,7 @@
*
*/
-package me.zhengjie.modules.mnt.util;
+package me.zhengjie.modules.maint.util;
import lombok.extern.slf4j.Slf4j;
/**
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ExecuteShellUtil.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ExecuteShellUtil.java
similarity index 98%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ExecuteShellUtil.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ExecuteShellUtil.java
index a5d5b599a..fbe9c9df3 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ExecuteShellUtil.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ExecuteShellUtil.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.util;
+package me.zhengjie.modules.maint.util;
import cn.hutool.core.io.IoUtil;
import com.jcraft.jsch.ChannelShell;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ScpClientUtil.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ScpClientUtil.java
similarity index 98%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ScpClientUtil.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ScpClientUtil.java
index 7cb83aa15..134779a18 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ScpClientUtil.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ScpClientUtil.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.util;
+package me.zhengjie.modules.maint.util;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.SCPClient;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/SqlUtils.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/SqlUtils.java
similarity index 99%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/SqlUtils.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/util/SqlUtils.java
index 0e867af58..fcc521662 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/SqlUtils.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/SqlUtils.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.util;
+package me.zhengjie.modules.maint.util;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.util.StringUtils;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/MsgType.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/MsgType.java
similarity index 94%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/MsgType.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/MsgType.java
index 2fc473da7..79a998d1b 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/MsgType.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/MsgType.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.websocket;
+package me.zhengjie.modules.maint.websocket;
/**
* @author ZhangHouYing
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/SocketMsg.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/SocketMsg.java
similarity index 95%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/SocketMsg.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/SocketMsg.java
index ade33a24d..7e6ebc638 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/SocketMsg.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/SocketMsg.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.websocket;
+package me.zhengjie.modules.maint.websocket;
import lombok.Data;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/WebSocketServer.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/WebSocketServer.java
similarity index 98%
rename from eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/WebSocketServer.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/WebSocketServer.java
index 000a51583..a72fcf6f6 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/WebSocketServer.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/WebSocketServer.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.mnt.websocket;
+package me.zhengjie.modules.maint.websocket;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java
index e1b5da761..d6d23a195 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java
@@ -26,7 +26,7 @@
import me.zhengjie.modules.quartz.service.QuartzJobService;
import me.zhengjie.modules.quartz.service.dto.JobQueryCriteria;
import me.zhengjie.utils.PageResult;
-import me.zhengjie.utils.SpringContextHolder;
+import me.zhengjie.utils.SpringBeanHolder;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -134,7 +134,7 @@ public ResponseEntity deleteQuartzJob(@RequestBody Set ids){
private void checkBean(String beanName){
// 避免调用攻击者可以从SpringContextHolder获得控制jdbcTemplate类
// 并使用getDeclaredMethod调用jdbcTemplate的queryForMap函数,执行任意sql命令。
- if(!SpringContextHolder.getAllServiceBeanName().contains(beanName)){
+ if(!SpringBeanHolder.getAllServiceBeanName().contains(beanName)){
throw new BadRequestException("非法的 Bean,请重新输入!");
}
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
index 4de112053..579d61d50 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
@@ -26,7 +26,7 @@
import me.zhengjie.modules.quartz.service.QuartzJobService;
import me.zhengjie.service.EmailService;
import me.zhengjie.utils.RedisUtils;
-import me.zhengjie.utils.SpringContextHolder;
+import me.zhengjie.utils.SpringBeanHolder;
import me.zhengjie.utils.StringUtils;
import me.zhengjie.utils.ThrowableUtil;
import org.quartz.JobExecutionContext;
@@ -49,16 +49,16 @@ public class ExecutionJob extends QuartzJobBean {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
// 此处仅供参考,可根据任务执行情况自定义线程池参数
- private final ThreadPoolTaskExecutor executor = SpringContextHolder.getBean("elAsync");
+ private final ThreadPoolTaskExecutor executor = SpringBeanHolder.getBean("elAsync");
@Override
public void executeInternal(JobExecutionContext context) {
// 获取任务
QuartzJob quartzJob = (QuartzJob) context.getMergedJobDataMap().get(QuartzJob.JOB_KEY);
// 获取spring bean
- QuartzLogRepository quartzLogRepository = SpringContextHolder.getBean(QuartzLogRepository.class);
- QuartzJobService quartzJobService = SpringContextHolder.getBean(QuartzJobService.class);
- RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
+ QuartzLogRepository quartzLogRepository = SpringBeanHolder.getBean(QuartzLogRepository.class);
+ QuartzJobService quartzJobService = SpringBeanHolder.getBean(QuartzJobService.class);
+ RedisUtils redisUtils = SpringBeanHolder.getBean(RedisUtils.class);
String uuid = quartzJob.getUuid();
@@ -105,7 +105,7 @@ public void executeInternal(JobExecutionContext context) {
quartzJobService.updateIsPause(quartzJob);
}
if(quartzJob.getEmail() != null){
- EmailService emailService = SpringContextHolder.getBean(EmailService.class);
+ EmailService emailService = SpringBeanHolder.getBean(EmailService.class);
// 邮箱报警
if(StringUtils.isNoneBlank(quartzJob.getEmail())){
EmailVo emailVo = taskAlarm(quartzJob, ThrowableUtil.getStackTrace(e));
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
index 31c3a0f8f..c75925e65 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
@@ -16,7 +16,7 @@
package me.zhengjie.modules.quartz.utils;
import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.utils.SpringContextHolder;
+import me.zhengjie.utils.SpringBeanHolder;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.ReflectionUtils;
import java.lang.reflect.Method;
@@ -35,7 +35,7 @@ public class QuartzRunnable implements Callable {
QuartzRunnable(String beanName, String methodName, String params)
throws NoSuchMethodException, SecurityException {
- this.target = SpringContextHolder.getBean(beanName);
+ this.target = SpringBeanHolder.getBean(beanName);
this.params = params;
if (StringUtils.isNotBlank(params)) {
this.method = target.getClass().getDeclaredMethod(methodName, String.class);
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java
index 04476de06..4e03e5772 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java
@@ -25,7 +25,7 @@
import me.zhengjie.annotation.rest.AnonymousDeleteMapping;
import me.zhengjie.annotation.rest.AnonymousGetMapping;
import me.zhengjie.annotation.rest.AnonymousPostMapping;
-import me.zhengjie.config.RsaProperties;
+import me.zhengjie.config.properties.RsaProperties;
import me.zhengjie.exception.BadRequestException;
import me.zhengjie.modules.security.config.bean.LoginCodeEnum;
import me.zhengjie.modules.security.config.bean.LoginProperties;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
index f75b8bb8f..1894238dd 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
@@ -21,7 +21,7 @@
import lombok.RequiredArgsConstructor;
import me.zhengjie.annotation.Log;
import me.zhengjie.utils.PageResult;
-import me.zhengjie.config.RsaProperties;
+import me.zhengjie.config.properties.RsaProperties;
import me.zhengjie.modules.system.domain.Dept;
import me.zhengjie.modules.system.service.DataService;
import me.zhengjie.modules.system.domain.User;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
index 9a6e543b9..41ae50b7e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
@@ -17,7 +17,7 @@
import lombok.RequiredArgsConstructor;
import me.zhengjie.utils.PageResult;
-import me.zhengjie.config.FileProperties;
+import me.zhengjie.config.properties.FileProperties;
import me.zhengjie.exception.BadRequestException;
import me.zhengjie.modules.security.service.OnlineUserService;
import me.zhengjie.modules.security.service.UserCacheManager;
diff --git a/eladmin-system/src/main/java/me/zhengjie/sysrunner/SystemRunner.java b/eladmin-system/src/main/java/me/zhengjie/sysrunner/SystemRunner.java
new file mode 100644
index 000000000..b69aba268
--- /dev/null
+++ b/eladmin-system/src/main/java/me/zhengjie/sysrunner/SystemRunner.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2019-2020 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package me.zhengjie.sysrunner;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author Zheng Jie
+ * @description 程序启动后处理数据
+ * @date 2025-01-13
+ **/
+@Slf4j
+@Component
+@RequiredArgsConstructor
+public class SystemRunner implements ApplicationRunner {
+
+ @Override
+ public void run(ApplicationArguments args) {
+ }
+}
diff --git a/eladmin-tools/src/main/java/me/zhengjie/utils/AliPayStatusEnum.java b/eladmin-tools/src/main/java/me/zhengjie/domain/enums/AliPayStatusEnum.java
similarity index 97%
rename from eladmin-tools/src/main/java/me/zhengjie/utils/AliPayStatusEnum.java
rename to eladmin-tools/src/main/java/me/zhengjie/domain/enums/AliPayStatusEnum.java
index c114fd16a..5f5b042df 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/utils/AliPayStatusEnum.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/enums/AliPayStatusEnum.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.utils;
+package me.zhengjie.domain.enums;
/**
* 支付状态
diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java
index 0c03d0aed..fe70b04ab 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java
@@ -19,12 +19,12 @@
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.annotation.AnonymousAccess;
+import me.zhengjie.annotation.rest.AnonymousAccess;
import me.zhengjie.annotation.Log;
import me.zhengjie.annotation.rest.AnonymousGetMapping;
import me.zhengjie.domain.vo.TradeVo;
import me.zhengjie.domain.AlipayConfig;
-import me.zhengjie.utils.AliPayStatusEnum;
+import me.zhengjie.domain.enums.AliPayStatusEnum;
import me.zhengjie.utils.AlipayUtils;
import me.zhengjie.service.AliPayService;
import org.springframework.http.HttpStatus;
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java
index 945485387..b1fbf5f17 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java
@@ -17,7 +17,7 @@
import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor;
-import me.zhengjie.config.FileProperties;
+import me.zhengjie.config.properties.FileProperties;
import me.zhengjie.domain.LocalStorage;
import me.zhengjie.service.dto.LocalStorageDto;
import me.zhengjie.service.dto.LocalStorageQueryCriteria;
diff --git a/pom.xml b/pom.xml
index 7df18bf44..4f741d0d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,12 @@
spring-boot-starter-data-jpa
+
+
+ org.springframework.boot
+ spring-boot-starter-websocket
+
+
org.springframework.boot
diff --git a/sql/eladmin.sql b/sql/eladmin.sql
index 2711d6e9c..29d2d5be0 100644
--- a/sql/eladmin.sql
+++ b/sql/eladmin.sql
@@ -412,11 +412,11 @@ INSERT INTO `sys_menu` VALUES (80, 6, 0, 1, '服务监控', 'ServerMonitor', 'mo
INSERT INTO `sys_menu` VALUES (82, 36, 0, 1, '生成配置', 'GeneratorConfig', 'generator/config', 33, 'dev', 'generator/config/:tableName', b'0', b'1', b'1', '', NULL, NULL, '2019-11-17 20:08:56', NULL);
INSERT INTO `sys_menu` VALUES (83, 10, 0, 1, '图表库', 'Echarts', 'components/Echarts', 50, 'chart', 'echarts', b'0', b'1', b'0', '', NULL, NULL, '2019-11-21 09:04:32', NULL);
INSERT INTO `sys_menu` VALUES (90, NULL, 5, 1, '运维管理', 'Mnt', '', 20, 'mnt', 'mnt', b'0', b'0', b'0', NULL, NULL, NULL, '2019-11-09 10:31:08', NULL);
-INSERT INTO `sys_menu` VALUES (92, 90, 3, 1, '服务器', 'ServerDeploy', 'mnt/server/index', 22, 'server', 'mnt/serverDeploy', b'0', b'0', b'0', 'serverDeploy:list', NULL, NULL, '2019-11-10 10:29:25', NULL);
-INSERT INTO `sys_menu` VALUES (93, 90, 3, 1, '应用管理', 'App', 'mnt/app/index', 23, 'app', 'mnt/app', b'0', b'0', b'0', 'app:list', NULL, NULL, '2019-11-10 11:05:16', NULL);
-INSERT INTO `sys_menu` VALUES (94, 90, 3, 1, '部署管理', 'Deploy', 'mnt/deploy/index', 24, 'deploy', 'mnt/deploy', b'0', b'0', b'0', 'deploy:list', NULL, NULL, '2019-11-10 15:56:55', NULL);
-INSERT INTO `sys_menu` VALUES (97, 90, 1, 1, '部署备份', 'DeployHistory', 'mnt/deployHistory/index', 25, 'backup', 'mnt/deployHistory', b'0', b'0', b'0', 'deployHistory:list', NULL, NULL, '2019-11-10 16:49:44', NULL);
-INSERT INTO `sys_menu` VALUES (98, 90, 3, 1, '数据库管理', 'Database', 'mnt/database/index', 26, 'database', 'mnt/database', b'0', b'0', b'0', 'database:list', NULL, NULL, '2019-11-10 20:40:04', NULL);
+INSERT INTO `sys_menu` VALUES (92, 90, 3, 1, '服务器', 'ServerDeploy', 'maint/server/index', 22, 'server', 'maint/serverDeploy', b'0', b'0', b'0', 'serverDeploy:list', NULL, NULL, '2019-11-10 10:29:25', NULL);
+INSERT INTO `sys_menu` VALUES (93, 90, 3, 1, '应用管理', 'App', 'maint/app/index', 23, 'app', 'maint/app', b'0', b'0', b'0', 'app:list', NULL, NULL, '2019-11-10 11:05:16', NULL);
+INSERT INTO `sys_menu` VALUES (94, 90, 3, 1, '部署管理', 'Deploy', 'maint/deploy/index', 24, 'deploy', 'maint/deploy', b'0', b'0', b'0', 'deploy:list', NULL, NULL, '2019-11-10 15:56:55', NULL);
+INSERT INTO `sys_menu` VALUES (97, 90, 1, 1, '部署备份', 'DeployHistory', 'maint/deployHistory/index', 25, 'backup', 'maint/deployHistory', b'0', b'0', b'0', 'deployHistory:list', NULL, NULL, '2019-11-10 16:49:44', NULL);
+INSERT INTO `sys_menu` VALUES (98, 90, 3, 1, '数据库管理', 'Database', 'maint/database/index', 26, 'database', 'maint/database', b'0', b'0', b'0', 'database:list', NULL, NULL, '2019-11-10 20:40:04', NULL);
INSERT INTO `sys_menu` VALUES (102, 97, 0, 2, '删除', NULL, '', 999, '', '', b'0', b'0', b'0', 'deployHistory:del', NULL, NULL, '2019-11-17 09:32:48', NULL);
INSERT INTO `sys_menu` VALUES (103, 92, 0, 2, '服务器新增', NULL, '', 999, '', '', b'0', b'0', b'0', 'serverDeploy:add', NULL, NULL, '2019-11-17 11:08:33', NULL);
INSERT INTO `sys_menu` VALUES (104, 92, 0, 2, '服务器编辑', NULL, '', 999, '', '', b'0', b'0', b'0', 'serverDeploy:edit', NULL, NULL, '2019-11-17 11:08:57', NULL);
diff --git a/sql/tool_picture.sql b/sql/tool_picture.sql
deleted file mode 100644
index 6b36d0db5..000000000
--- a/sql/tool_picture.sql
+++ /dev/null
@@ -1,2 +0,0 @@
--- 删除免费图床表
-DROP TABLE tool_picture;
\ No newline at end of file
diff --git "a/sql/\350\204\232\346\234\254\345\246\202\344\275\225\351\200\211\346\213\251.md" "b/sql/\350\204\232\346\234\254\345\246\202\344\275\225\351\200\211\346\213\251.md"
deleted file mode 100644
index 633c8642a..000000000
--- "a/sql/\350\204\232\346\234\254\345\246\202\344\275\225\351\200\211\346\213\251.md"
+++ /dev/null
@@ -1,11 +0,0 @@
-## 脚本指南
-项目根目录的 sql 文件夹内提供了本次数据库变更的脚本,脚本如何选择,以及执行的顺序如下
-
-::: tip 注意
-操作数据库属于危险行为,请勿用于生产库,请事先做好备份!!!
-:::
-
-### 初次使用
-eladmin.sql 为 eladmin 项目完整的 sql 脚本,适合于初次使用的用户
-
-### 更新迭代
From 75df46b5dc7cbbb348924f03f433adebadf0a0c0 Mon Sep 17 00:00:00 2001
From: Jie Zheng <201507802@qq.com>
Date: Wed, 15 Jan 2025 15:57:38 +0800
Subject: [PATCH 22/54] =?UTF-8?q?refactor:=20=E6=9B=BF=E6=8D=A2log4jdbc?=
=?UTF-8?q?=E4=B8=BAp6spy=EF=BC=8C=E4=BC=98=E5=8C=96SQL=E6=97=A5=E5=BF=97?=
=?UTF-8?q?=E8=BE=93=E5=87=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../me/zhengjie/config/CustomP6SpyLogger.java | 62 +++++++++++++++++++
.../main/resources/config/application-dev.yml | 12 ++--
.../resources/config/application-prod.yml | 8 +--
.../main/resources/log4jdbc.log4j2.properties | 4 --
eladmin-system/src/main/resources/logback.xml | 28 +--------
.../src/main/resources/spy.properties | 29 +++++++++
pom.xml | 11 ++--
7 files changed, 106 insertions(+), 48 deletions(-)
create mode 100644 eladmin-common/src/main/java/me/zhengjie/config/CustomP6SpyLogger.java
delete mode 100644 eladmin-system/src/main/resources/log4jdbc.log4j2.properties
create mode 100644 eladmin-system/src/main/resources/spy.properties
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/CustomP6SpyLogger.java b/eladmin-common/src/main/java/me/zhengjie/config/CustomP6SpyLogger.java
new file mode 100644
index 000000000..c23de95d0
--- /dev/null
+++ b/eladmin-common/src/main/java/me/zhengjie/config/CustomP6SpyLogger.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2019-2020 Zheng Jie
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package me.zhengjie.config;
+
+import cn.hutool.core.util.StrUtil;
+import com.p6spy.engine.spy.appender.MessageFormattingStrategy;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * @author Zheng Jie
+ * @description 自定义 p6spy sql输出格式
+ * @date 2024-12-26
+ **/
+@Slf4j
+public class CustomP6SpyLogger implements MessageFormattingStrategy {
+
+ // 重置颜色
+ private static final String RESET = "\u001B[0m";
+ // 红色
+ private static final String RED = "\u001B[31m";
+ // 绿色
+ private static final String GREEN = "\u001B[32m";
+
+ /**
+ * 格式化 sql
+ * @param connectionId 连接id
+ * @param now 当前时间
+ * @param elapsed 执行时长
+ * @param category sql分类
+ * @param prepared 预编译sql
+ * @param sql 执行sql
+ * @param url 数据库连接url
+ * @return 格式化后的sql
+ */
+ @Override
+ public String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql, String url) {
+ // 去掉换行和多余空格
+ if(StrUtil.isNotBlank(sql)){
+ sql = sql.replaceAll("\\s+", " ").trim();
+ }
+
+ // 格式化并加上颜色
+ return String.format(
+ "%s[Time: %dms]%s - %s%s%s;",
+ GREEN, elapsed, RESET, RED, sql, RESET
+ );
+ }
+}
+
diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml
index bb5317f61..fa8b7ede0 100644
--- a/eladmin-system/src/main/resources/config/application-dev.yml
+++ b/eladmin-system/src/main/resources/config/application-dev.yml
@@ -3,10 +3,10 @@ spring:
datasource:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
- driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
- url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:eladmin}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
- username: ${DB_USER:root}
- password: ${DB_PWD:123456}
+ driverClassName: com.p6spy.engine.spy.P6SpyDriver
+ url: jdbc:p6spy:mysql://localhost:3306/eladmin?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
+ username: root
+ password: 123456
# 初始连接数,建议设置为与最小空闲连接数相同
initial-size: 20
# 最小空闲连接数,保持足够的空闲连接以应对请求
@@ -86,9 +86,9 @@ jwt:
# 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
token-validity-in-seconds: 14400000
# 在线用户key
- online-key: "online-token:"
+ online-key: "online_token:"
# 验证码
- code-key: "captcha-code:"
+ code-key: "captcha_code:"
# token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
detect: 1800000
# 续期时间范围,默认1小时,单位毫秒
diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml
index 291e20e70..4d9d2aabf 100644
--- a/eladmin-system/src/main/resources/config/application-prod.yml
+++ b/eladmin-system/src/main/resources/config/application-prod.yml
@@ -3,8 +3,8 @@ spring:
datasource:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
- driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
- url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:eladmin}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
+ driverClassName: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:eladmin}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username: ${DB_USER:root}
password: ${DB_PWD:123456}
# 初始连接数,建议设置为与最小空闲连接数相同
@@ -90,9 +90,9 @@ jwt:
# 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
token-validity-in-seconds: 7200000
# 在线用户key
- online-key: "online-token:"
+ online-key: "online_token:"
# 验证码
- code-key: "captcha-code:"
+ code-key: "captcha_code:"
# token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
detect: 1800000
# 续期时间范围,默认 1小时,这里单位毫秒
diff --git a/eladmin-system/src/main/resources/log4jdbc.log4j2.properties b/eladmin-system/src/main/resources/log4jdbc.log4j2.properties
deleted file mode 100644
index 302525ffa..000000000
--- a/eladmin-system/src/main/resources/log4jdbc.log4j2.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-# If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger
-log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
-log4jdbc.auto.load.popular.drivers=false
-log4jdbc.drivers=com.mysql.cj.jdbc.Driver
\ No newline at end of file
diff --git a/eladmin-system/src/main/resources/logback.xml b/eladmin-system/src/main/resources/logback.xml
index 3f8f9d8fb..db910fddf 100644
--- a/eladmin-system/src/main/resources/logback.xml
+++ b/eladmin-system/src/main/resources/logback.xml
@@ -16,30 +16,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/eladmin-system/src/main/resources/spy.properties b/eladmin-system/src/main/resources/spy.properties
new file mode 100644
index 000000000..7b60caf6b
--- /dev/null
+++ b/eladmin-system/src/main/resources/spy.properties
@@ -0,0 +1,29 @@
+# 应用的拦截模块
+modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
+
+# 自定义日志打印
+logMessageFormat=me.zhengjie.config.CustomP6SpyLogger
+
+# 日志输出到控制台
+appender=com.p6spy.engine.spy.appender.Slf4JLogger
+
+# 日期格式
+dateformat=yyyy-MM-dd HH:mm:ss
+
+# 实际驱动可多个
+driverlist=com.mysql.cj.jdbc.Driver
+
+# 是否开启慢SQL记录
+outagedetection=true
+
+# 慢SQL记录标准 2 秒
+outagedetectioninterval=2
+
+# 是否过滤 Log
+filter=true
+
+# 过滤 Log 时所排除的 sql 关键字,以逗号分隔
+exclude=select 1
+
+# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
+excludecategories=info,debug,result,commit,resultset
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 4f741d0d7..f6ac3402a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,7 +1,5 @@
-
+4.0.0me.zhengjie
@@ -32,7 +30,6 @@
UTF-8UTF-81.8
- 1.162.9.21.2.831.2.19
@@ -98,9 +95,9 @@
- org.bgee.log4jdbc-log4j2
- log4jdbc-log4j2-jdbc4.1
- ${log4jdbc.version}
+ p6spy
+ p6spy
+ 3.9.1
From 51d9f42273d56bff74cb2dbd72a822c13d260afc Mon Sep 17 00:00:00 2001
From: Jie Zheng <201507802@qq.com>
Date: Wed, 15 Jan 2025 16:16:30 +0800
Subject: [PATCH 23/54] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=AE=89?=
=?UTF-8?q?=E5=85=A8=E9=85=8D=E7=BD=AE=E5=92=8C=E4=BB=A3=E7=A0=81=E7=BB=93?=
=?UTF-8?q?=E6=9E=84=EF=BC=8C=E7=A7=BB=E9=99=A4=E5=86=97=E4=BD=99=E7=B1=BB?=
=?UTF-8?q?=EF=BC=8CSecurityUtils=E4=BC=98=E5=8C=96=E8=8E=B7=E5=8F=96?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E4=B8=8E=E7=94=A8=E6=88=B7ID?=
=?UTF-8?q?=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../zhengjie/exception/handler/ApiError.java | 2 +-
.../java/me/zhengjie/utils/SecurityUtils.java | 112 ++++++++++++------
...oginProperties.java => CaptchaConfig.java} | 97 ++++++++-------
.../config/ConfigBeanConfiguration.java | 43 -------
.../security/config/LoginProperties.java | 39 ++++++
.../config/{bean => }/SecurityProperties.java | 6 +-
.../security/config/SpringSecurityConfig.java | 7 +-
.../security/config/bean/LoginCode.java | 61 ----------
.../config/{bean => enums}/LoginCodeEnum.java | 2 +-
...ionController.java => AuthController.java} | 53 +++++----
.../security/JwtAccessDeniedHandler.java | 9 +-
.../security/JwtAuthenticationEntryPoint.java | 17 ++-
.../security/security/TokenConfigurer.java | 5 +-
.../security/security/TokenFilter.java | 36 ++----
.../security/security/TokenProvider.java | 26 ++--
.../security/service/OnlineUserService.java | 3 +-
.../security/service/UserCacheManager.java | 2 +-
.../service/UserDetailsServiceImpl.java | 18 +--
.../security/service/dto/JwtUserDto.java | 6 +
.../modules/system/service/RoleService.java | 2 +-
.../system/service/dto/UserLoginDto.java | 3 +
.../system/service/impl/RoleServiceImpl.java | 2 +-
.../main/resources/config/application-dev.yml | 2 +-
.../resources/config/application-prod.yml | 2 +-
24 files changed, 278 insertions(+), 277 deletions(-)
rename eladmin-system/src/main/java/me/zhengjie/modules/security/config/{bean/LoginProperties.java => CaptchaConfig.java} (51%)
delete mode 100644 eladmin-system/src/main/java/me/zhengjie/modules/security/config/ConfigBeanConfiguration.java
create mode 100644 eladmin-system/src/main/java/me/zhengjie/modules/security/config/LoginProperties.java
rename eladmin-system/src/main/java/me/zhengjie/modules/security/config/{bean => }/SecurityProperties.java (86%)
delete mode 100644 eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCode.java
rename eladmin-system/src/main/java/me/zhengjie/modules/security/config/{bean => enums}/LoginCodeEnum.java (94%)
rename eladmin-system/src/main/java/me/zhengjie/modules/security/rest/{AuthorizationController.java => AuthController.java} (76%)
diff --git a/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java b/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
index 977788c72..9568df8ce 100644
--- a/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
+++ b/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
@@ -22,7 +22,7 @@
* @date 2018-11-23
*/
@Data
-class ApiError {
+public class ApiError {
private Integer status = 400;
private Long timestamp;
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
index aa4e37616..f44550c8f 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
@@ -15,18 +15,24 @@
*/
package me.zhengjie.utils;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.jwt.JWT;
+import cn.hutool.jwt.JWTUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.exception.BadRequestException;
import me.zhengjie.utils.enums.DataScopeEnum;
-import org.springframework.http.HttpStatus;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
import java.util.List;
+import java.util.Objects;
/**
* 获取当前登录的用户
@@ -34,8 +40,23 @@
* @date 2019-01-17
*/
@Slf4j
+@Component
public class SecurityUtils {
+ public static String header;
+
+ public static String tokenStartWith;
+
+ @Value("${jwt.header}")
+ public void setHeader(String header) {
+ SecurityUtils.header = header;
+ }
+
+ @Value("${jwt.token-start-with}")
+ public void setTokenStartWith(String tokenStartWith) {
+ SecurityUtils.tokenStartWith = tokenStartWith;
+ }
+
/**
* 获取当前登录的用户
* @return UserDetails
@@ -45,34 +66,6 @@ public static UserDetails getCurrentUser() {
return userDetailsService.loadUserByUsername(getCurrentUsername());
}
- /**
- * 获取系统用户名称
- *
- * @return 系统用户名称
- */
- public static String getCurrentUsername() {
- final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
- if (authentication == null) {
- throw new BadRequestException(HttpStatus.UNAUTHORIZED, "当前登录状态过期");
- }
- if (authentication.getPrincipal() instanceof UserDetails) {
- UserDetails userDetails = (UserDetails) authentication.getPrincipal();
- return userDetails.getUsername();
- }
- throw new BadRequestException(HttpStatus.UNAUTHORIZED, "找不到当前登录的信息");
- }
-
- /**
- * 获取系统用户ID
- * @return 系统用户ID
- */
- public static Long getCurrentUserId() {
- UserDetails userDetails = getCurrentUser();
- // 将 Java 对象转换为 JSONObject 对象
- JSONObject jsonObject = (JSONObject) JSON.toJSON(userDetails);
- return jsonObject.getJSONObject("user").getLong("id");
- }
-
/**
* 获取当前用户的数据权限
* @return /
@@ -91,9 +84,62 @@ public static List getCurrentUserDataScope(){
*/
public static String getDataScopeType() {
List dataScopes = getCurrentUserDataScope();
- if(dataScopes.size() != 0){
+ if(CollUtil.isEmpty(dataScopes)){
return "";
}
return DataScopeEnum.ALL.getValue();
}
+
+ /**
+ * 获取用户ID
+ * @return 系统用户ID
+ */
+ public static Long getCurrentUserId() {
+ return getCurrentUserId(getToken());
+ }
+
+ /**
+ * 获取用户ID
+ * @return 系统用户ID
+ */
+ public static Long getCurrentUserId(String token) {
+ JWT jwt = JWTUtil.parseToken(token);
+ return Long.valueOf(jwt.getPayload("userId").toString());
+ }
+
+ /**
+ * 获取系统用户名称
+ *
+ * @return 系统用户名称
+ */
+ public static String getCurrentUsername() {
+ return getCurrentUsername(getToken());
+ }
+
+ /**
+ * 获取系统用户名称
+ *
+ * @return 系统用户名称
+ */
+ public static String getCurrentUsername(String token) {
+ JWT jwt = JWTUtil.parseToken(token);
+ return jwt.getPayload("sub").toString();
+ }
+
+ /**
+ * 获取Token
+ * @return /
+ */
+ public static String getToken() {
+ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder
+ .getRequestAttributes())).getRequest();
+ String bearerToken = request.getHeader(header);
+ if (bearerToken != null && bearerToken.startsWith(tokenStartWith)) {
+ // 去掉令牌前缀
+ return bearerToken.replace(tokenStartWith, "");
+ } else {
+ log.debug("非法Token:{}", bearerToken);
+ }
+ return null;
+ }
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/CaptchaConfig.java
similarity index 51%
rename from eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/security/config/CaptchaConfig.java
index 0201a13df..94fdf2ce9 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/CaptchaConfig.java
@@ -13,89 +13,100 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.security.config.bean;
+package me.zhengjie.modules.security.config;
import com.wf.captcha.*;
import com.wf.captcha.base.Captcha;
import lombok.Data;
-import me.zhengjie.exception.BadConfigurationException;
+import lombok.Getter;
+import me.zhengjie.exception.BadRequestException;
+import me.zhengjie.modules.security.config.enums.LoginCodeEnum;
import me.zhengjie.utils.StringUtils;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
import java.awt.*;
-import java.util.Objects;
/**
- * 配置文件读取
- *
+ * 登录验证码配置信息
* @author liaojinlong
- * @date loginCode.length0loginCode.length0/6/10 17:loginCode.length6
+ * @date 2025-01-13
*/
@Data
-public class LoginProperties {
+@Configuration
+@ConfigurationProperties(prefix = "login.code")
+public class CaptchaConfig {
/**
- * 账号单用户 登录
+ * 验证码配置
*/
- private boolean singleLogin = false;
+ @Getter
+ private LoginCodeEnum codeType;
- private LoginCode loginCode;
+ /**
+ * 验证码有效期 分钟
+ */
+ private Long expiration = 5L;
- public static final String cacheKey = "user-login-cache:";
+ /**
+ * 验证码内容长度
+ */
+ private int length = 4;
- public boolean isSingleLogin() {
- return singleLogin;
- }
+ /**
+ * 验证码宽度
+ */
+ private int width = 111;
/**
- * 获取验证码生产类
- *
- * @return /
+ * 验证码高度
*/
- public Captcha getCaptcha() {
- if (Objects.isNull(loginCode)) {
- loginCode = new LoginCode();
- if (Objects.isNull(loginCode.getCodeType())) {
- loginCode.setCodeType(LoginCodeEnum.ARITHMETIC);
- }
- }
- return switchCaptcha(loginCode);
- }
+ private int height = 36;
+
+ /**
+ * 验证码字体
+ */
+ private String fontName;
+
+ /**
+ * 字体大小
+ */
+ private int fontSize = 25;
/**
* 依据配置信息生产验证码
- *
- * @param loginCode 验证码配置信息
* @return /
*/
- private Captcha switchCaptcha(LoginCode loginCode) {
+ public Captcha getCaptcha() {
Captcha captcha;
- switch (loginCode.getCodeType()) {
+ switch (codeType) {
case ARITHMETIC:
// 算术类型 https://gitee.com/whvse/EasyCaptcha
- captcha = new FixedArithmeticCaptcha(loginCode.getWidth(), loginCode.getHeight());
+ captcha = new FixedArithmeticCaptcha(width, height);
// 几位数运算,默认是两位
- captcha.setLen(loginCode.getLength());
+ captcha.setLen(length);
break;
case CHINESE:
- captcha = new ChineseCaptcha(loginCode.getWidth(), loginCode.getHeight());
- captcha.setLen(loginCode.getLength());
+ captcha = new ChineseCaptcha(width, height);
+ captcha.setLen(length);
break;
case CHINESE_GIF:
- captcha = new ChineseGifCaptcha(loginCode.getWidth(), loginCode.getHeight());
- captcha.setLen(loginCode.getLength());
+ captcha = new ChineseGifCaptcha(width, height);
+ captcha.setLen(length);
break;
case GIF:
- captcha = new GifCaptcha(loginCode.getWidth(), loginCode.getHeight());
- captcha.setLen(loginCode.getLength());
+ captcha = new GifCaptcha(width, height);
+ captcha.setLen(length);
break;
case SPEC:
- captcha = new SpecCaptcha(loginCode.getWidth(), loginCode.getHeight());
- captcha.setLen(loginCode.getLength());
+ captcha = new SpecCaptcha(width, height);
+ captcha.setLen(length);
break;
default:
- throw new BadConfigurationException("验证码配置信息错误!正确配置查看 LoginCodeEnum ");
+ throw new BadRequestException("验证码配置信息错误!正确配置查看 LoginCodeEnum ");
}
- if(StringUtils.isNotBlank(loginCode.getFontName())){
- captcha.setFont(new Font(loginCode.getFontName(), Font.PLAIN, loginCode.getFontSize()));
+ if(StringUtils.isNotBlank(fontName)){
+ captcha.setFont(new Font(fontName, Font.PLAIN, fontSize));
}
return captcha;
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/ConfigBeanConfiguration.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/ConfigBeanConfiguration.java
deleted file mode 100644
index 8cbc88dd6..000000000
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/ConfigBeanConfiguration.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2019-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package me.zhengjie.modules.security.config;
-
-import me.zhengjie.modules.security.config.bean.LoginProperties;
-import me.zhengjie.modules.security.config.bean.SecurityProperties;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @apiNote 配置文件转换Pojo类的 统一配置 类
- * @author: liaojinlong
- * @date: 2020/6/10 19:04
- */
-@Configuration
-public class ConfigBeanConfiguration {
-
- @Bean
- @ConfigurationProperties(prefix = "login")
- public LoginProperties loginProperties() {
- return new LoginProperties();
- }
-
- @Bean
- @ConfigurationProperties(prefix = "jwt")
- public SecurityProperties securityProperties() {
- return new SecurityProperties();
- }
-}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/LoginProperties.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/LoginProperties.java
new file mode 100644
index 000000000..b38aabdf7
--- /dev/null
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/LoginProperties.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2019-2020 the original author or authors.
+ *
+ * Licensed under the Apache License, Version loginCode.length.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-loginCode.length.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package me.zhengjie.modules.security.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 配置文件读取
+ *
+ * @author liaojinlong
+ * @date loginCode.length0loginCode.length0/6/10 17:loginCode.length6
+ */
+@Data
+@Configuration
+@ConfigurationProperties(prefix = "login")
+public class LoginProperties {
+
+ /**
+ * 账号单用户 登录
+ */
+ private boolean singleLogin = false;
+
+ public static final String cacheKey = "user-login-cache:";
+}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/SecurityProperties.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityProperties.java
similarity index 86%
rename from eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/SecurityProperties.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityProperties.java
index 16ec3cf0a..ac0dd501b 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/SecurityProperties.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityProperties.java
@@ -13,9 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.security.config.bean;
+package me.zhengjie.modules.security.config;
import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
/**
* Jwt参数配置
@@ -24,6 +26,8 @@
* @date 2019年11月28日
*/
@Data
+@Configuration
+@ConfigurationProperties(prefix = "jwt")
public class SecurityProperties {
/**
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java
index 0a776292e..535b245af 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java
@@ -16,7 +16,6 @@
package me.zhengjie.modules.security.config;
import lombok.RequiredArgsConstructor;
-import me.zhengjie.modules.security.config.bean.SecurityProperties;
import me.zhengjie.modules.security.security.*;
import me.zhengjie.modules.security.service.OnlineUserService;
import me.zhengjie.modules.security.service.UserCacheManager;
@@ -34,7 +33,6 @@
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.web.filter.CorsFilter;
import java.util.*;
@@ -54,7 +52,6 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
private final ApplicationContext applicationContext;
private final SecurityProperties properties;
private final OnlineUserService onlineUserService;
- private final UserCacheManager userCacheManager;
@Bean
GrantedAuthorityDefaults grantedAuthorityDefaults() {
@@ -75,7 +72,7 @@ protected void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity
// 禁用 CSRF
.csrf().disable()
- .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
+ .addFilter(corsFilter)
// 授权异常
.exceptionHandling()
.authenticationEntryPoint(authenticationErrorHandler)
@@ -131,6 +128,6 @@ protected void configure(HttpSecurity httpSecurity) throws Exception {
}
private TokenConfigurer securityConfigurerAdapter() {
- return new TokenConfigurer(tokenProvider, properties, onlineUserService, userCacheManager);
+ return new TokenConfigurer(tokenProvider, properties, onlineUserService);
}
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCode.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCode.java
deleted file mode 100644
index fefd252b6..000000000
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCode.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2019-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package me.zhengjie.modules.security.config.bean;
-
-import lombok.Data;
-
-/**
- * 登录验证码配置信息
- *
- * @author liaojinlong
- * @date 2020/6/10 18:53
- */
-@Data
-public class LoginCode {
-
- /**
- * 验证码配置
- */
- private LoginCodeEnum codeType;
- /**
- * 验证码有效期 分钟
- */
- private Long expiration = 2L;
- /**
- * 验证码内容长度
- */
- private int length = 2;
- /**
- * 验证码宽度
- */
- private int width = 111;
- /**
- * 验证码高度
- */
- private int height = 36;
- /**
- * 验证码字体
- */
- private String fontName;
- /**
- * 字体大小
- */
- private int fontSize = 25;
-
- public LoginCodeEnum getCodeType() {
- return codeType;
- }
-}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCodeEnum.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/LoginCodeEnum.java
similarity index 94%
rename from eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCodeEnum.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/LoginCodeEnum.java
index 685ccbbbf..ce5632a52 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCodeEnum.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/LoginCodeEnum.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.modules.security.config.bean;
+package me.zhengjie.modules.security.config.enums;
/**
* 验证码配置枚举
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java
similarity index 76%
rename from eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java
rename to eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java
index 4e03e5772..de3cb9b69 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java
@@ -27,10 +27,12 @@
import me.zhengjie.annotation.rest.AnonymousPostMapping;
import me.zhengjie.config.properties.RsaProperties;
import me.zhengjie.exception.BadRequestException;
-import me.zhengjie.modules.security.config.bean.LoginCodeEnum;
-import me.zhengjie.modules.security.config.bean.LoginProperties;
-import me.zhengjie.modules.security.config.bean.SecurityProperties;
+import me.zhengjie.modules.security.config.CaptchaConfig;
+import me.zhengjie.modules.security.config.enums.LoginCodeEnum;
+import me.zhengjie.modules.security.config.LoginProperties;
+import me.zhengjie.modules.security.config.SecurityProperties;
import me.zhengjie.modules.security.security.TokenProvider;
+import me.zhengjie.modules.security.service.UserDetailsServiceImpl;
import me.zhengjie.modules.security.service.dto.AuthUserDto;
import me.zhengjie.modules.security.service.dto.JwtUserDto;
import me.zhengjie.modules.security.service.OnlineUserService;
@@ -41,13 +43,12 @@
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
@@ -63,14 +64,15 @@
@RequestMapping("/auth")
@RequiredArgsConstructor
@Api(tags = "系统:系统授权接口")
-public class AuthorizationController {
+public class AuthController {
private final SecurityProperties properties;
private final RedisUtils redisUtils;
private final OnlineUserService onlineUserService;
private final TokenProvider tokenProvider;
- private final AuthenticationManagerBuilder authenticationManagerBuilder;
- @Resource
- private LoginProperties loginProperties;
+ private final LoginProperties loginProperties;
+ private final CaptchaConfig captchaConfig;
+ private final PasswordEncoder passwordEncoder;
+ private final UserDetailsServiceImpl userDetailsService;
@Log("用户登录")
@ApiOperation("登录授权")
@@ -88,27 +90,29 @@ public ResponseEntity login(@Validated @RequestBody AuthUserDto authUser
if (StringUtils.isBlank(authUser.getCode()) || !authUser.getCode().equalsIgnoreCase(code)) {
throw new BadRequestException("验证码错误");
}
- UsernamePasswordAuthenticationToken authenticationToken =
- new UsernamePasswordAuthenticationToken(authUser.getUsername(), password);
- Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
+ // 获取用户信息
+ JwtUserDto jwtUser = userDetailsService.loadUserByUsername(authUser.getUsername());
+ // 验证用户密码
+ if (!passwordEncoder.matches(password, jwtUser.getPassword())) {
+ throw new BadRequestException("登录密码错误");
+ }
+ Authentication authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
- // 生成令牌与第三方系统获取令牌方式
- // UserDetails userDetails = userDetailsService.loadUserByUsername(userInfo.getUsername());
- // Authentication authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
- // SecurityContextHolder.getContext().setAuthentication(authentication);
- String token = tokenProvider.createToken(authentication);
- final JwtUserDto jwtUserDto = (JwtUserDto) authentication.getPrincipal();
+ // 生成令牌
+ String token = tokenProvider.createToken(jwtUser);
+ // 将密码设置为空
+ jwtUser.setPassword(null);
// 返回 token 与 用户信息
Map authInfo = new HashMap(2) {{
put("token", properties.getTokenStartWith() + token);
- put("user", jwtUserDto);
+ put("user", jwtUser);
}};
if (loginProperties.isSingleLogin()) {
// 踢掉之前已经登录的token
onlineUserService.kickOutForUsername(authUser.getUsername());
}
// 保存在线信息
- onlineUserService.save(jwtUserDto, token, request);
+ onlineUserService.save(jwtUser, token, request);
// 返回登录信息
return ResponseEntity.ok(authInfo);
}
@@ -116,14 +120,17 @@ public ResponseEntity login(@Validated @RequestBody AuthUserDto authUser
@ApiOperation("获取用户信息")
@GetMapping(value = "/info")
public ResponseEntity getUserInfo() {
- return ResponseEntity.ok(SecurityUtils.getCurrentUser());
+ JwtUserDto jwtUser = (JwtUserDto) SecurityUtils.getCurrentUser();
+ // 将密码设置为空
+ jwtUser.setPassword(null);
+ return ResponseEntity.ok(jwtUser);
}
@ApiOperation("获取验证码")
@AnonymousGetMapping(value = "/code")
public ResponseEntity getCode() {
// 获取运算的结果
- Captcha captcha = loginProperties.getCaptcha();
+ Captcha captcha = captchaConfig.getCaptcha();
String uuid = properties.getCodeKey() + IdUtil.simpleUUID();
//当验证码类型为 arithmetic时且长度 >= 2 时,captcha.text()的结果有几率为浮点型
String captchaValue = captcha.text();
@@ -131,7 +138,7 @@ public ResponseEntity getCode() {
captchaValue = captchaValue.split("\\.")[0];
}
// 保存
- redisUtils.set(uuid, captchaValue, loginProperties.getLoginCode().getExpiration(), TimeUnit.MINUTES);
+ redisUtils.set(uuid, captchaValue, captchaConfig.getExpiration(), TimeUnit.MINUTES);
// 验证码信息
Map imgResult = new HashMap(2) {{
put("img", captcha.toBase64());
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java
index 8b3f8c17f..6d0547332 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java
@@ -15,6 +15,9 @@
*/
package me.zhengjie.modules.security.security;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import me.zhengjie.exception.handler.ApiError;
+import org.springframework.http.HttpStatus;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.stereotype.Component;
@@ -32,6 +35,10 @@ public class JwtAccessDeniedHandler implements AccessDeniedHandler {
@Override
public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) throws IOException {
//当用户在没有授权的情况下访问受保护的REST资源时,将调用此方法发送403 Forbidden响应
- response.sendError(HttpServletResponse.SC_FORBIDDEN, accessDeniedException.getMessage());
+ response.setStatus(HttpStatus.FORBIDDEN.value());
+ response.setContentType("application/json;charset=UTF-8");
+ ObjectMapper objectMapper = new ObjectMapper();
+ String jsonResponse = objectMapper.writeValueAsString(ApiError.error(HttpStatus.FORBIDDEN.value(), "禁止访问,您没有权限访问此资源"));
+ response.getWriter().write(jsonResponse);
}
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java
index f88158620..dba0963a7 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java
@@ -15,10 +15,13 @@
*/
package me.zhengjie.modules.security.security;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import me.zhengjie.exception.handler.ApiError;
+import org.springframework.http.HttpStatus;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.stereotype.Component;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -26,14 +29,18 @@
/**
* @author Zheng Jie
*/
+@Slf4j
@Component
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
@Override
- public void commence(HttpServletRequest request,
- HttpServletResponse response,
- AuthenticationException authException) throws IOException {
+ public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException {
// 当用户尝试访问安全的REST资源而不提供任何凭据时,将调用此方法发送401 响应
- response.sendError(HttpServletResponse.SC_UNAUTHORIZED, authException==null?"Unauthorized":authException.getMessage());
+ int code = HttpStatus.UNAUTHORIZED.value();
+ response.setStatus(code);
+ response.setContentType("application/json;charset=UTF-8");
+ ObjectMapper objectMapper = new ObjectMapper();
+ String jsonResponse = objectMapper.writeValueAsString(ApiError.error(HttpStatus.UNAUTHORIZED.value(), "登录状态已过期,请重新登录"));
+ response.getWriter().write(jsonResponse);
}
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java
index cff5e1ed8..40f64cb6c 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java
@@ -16,7 +16,7 @@
package me.zhengjie.modules.security.security;
import lombok.RequiredArgsConstructor;
-import me.zhengjie.modules.security.config.bean.SecurityProperties;
+import me.zhengjie.modules.security.config.SecurityProperties;
import me.zhengjie.modules.security.service.OnlineUserService;
import me.zhengjie.modules.security.service.UserCacheManager;
import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
@@ -33,11 +33,10 @@ public class TokenConfigurer extends SecurityConfigurerAdapter claims = new HashMap<>(6);
+ // 设置用户ID
+ claims.put(AUTHORITIES_UID_KEY, user.getUser().getId());
+ // 设置UUID,确保每次Token不一样
+ claims.put(AUTHORITIES_UUID_KEY, IdUtil.simpleUUID());
return jwtBuilder
- // 加入ID确保生成的 Token 都不一致
- .setId(IdUtil.simpleUUID())
- .claim(AUTHORITIES_KEY, authentication.getName())
- .setSubject(authentication.getName())
+ .setClaims(claims)
+ .setSubject(user.getUsername())
.compact();
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java
index c496d8cde..18096fb4f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java
@@ -19,12 +19,11 @@
import lombok.extern.slf4j.Slf4j;
import me.zhengjie.modules.security.security.TokenProvider;
import me.zhengjie.utils.PageResult;
-import me.zhengjie.modules.security.config.bean.SecurityProperties;
+import me.zhengjie.modules.security.config.SecurityProperties;
import me.zhengjie.modules.security.service.dto.JwtUserDto;
import me.zhengjie.modules.security.service.dto.OnlineUserDto;
import me.zhengjie.utils.*;
import org.springframework.data.domain.Pageable;
-import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java
index 03870dc0b..ef0e8ec2f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java
@@ -16,7 +16,7 @@
package me.zhengjie.modules.security.service;
import cn.hutool.core.util.RandomUtil;
-import me.zhengjie.modules.security.config.bean.LoginProperties;
+import me.zhengjie.modules.security.config.LoginProperties;
import me.zhengjie.modules.security.service.dto.JwtUserDto;
import me.zhengjie.utils.RedisUtils;
import me.zhengjie.utils.StringUtils;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java
index 70db5df0a..7aa0ba2b0 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java
@@ -18,14 +18,12 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.zhengjie.exception.BadRequestException;
-import me.zhengjie.exception.EntityNotFoundException;
import me.zhengjie.modules.security.service.dto.JwtUserDto;
import me.zhengjie.modules.system.service.DataService;
import me.zhengjie.modules.system.service.RoleService;
import me.zhengjie.modules.system.service.UserService;
import me.zhengjie.modules.system.service.dto.UserLoginDto;
import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;
/**
@@ -45,24 +43,14 @@ public class UserDetailsServiceImpl implements UserDetailsService {
public JwtUserDto loadUserByUsername(String username) {
JwtUserDto jwtUserDto = userCacheManager.getUserCache(username);
if(jwtUserDto == null){
- UserLoginDto user;
- try {
- user = userService.getLoginData(username);
- } catch (EntityNotFoundException e) {
- // SpringSecurity会自动转换UsernameNotFoundException为BadCredentialsException
- throw new UsernameNotFoundException(username, e);
- }
+ UserLoginDto user = userService.getLoginData(username);
if (user == null) {
- throw new UsernameNotFoundException("");
+ throw new BadRequestException("用户不存在");
} else {
if (!user.getEnabled()) {
throw new BadRequestException("账号未激活!");
}
- jwtUserDto = new JwtUserDto(
- user,
- dataService.getDeptIds(user),
- roleService.mapToGrantedAuthorities(user)
- );
+ jwtUserDto = new JwtUserDto(user, dataService.getDeptIds(user), roleService.buildAuthorities(user), user.getPassword());
// 添加缓存数据
userCacheManager.addUserCache(username, jwtUserDto);
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java
index 5aa0c45fe..cf25c8aa7 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java
@@ -16,8 +16,10 @@
package me.zhengjie.modules.security.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
+import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
+import lombok.Setter;
import me.zhengjie.modules.system.service.dto.UserLoginDto;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.List;
@@ -38,6 +40,10 @@ public class JwtUserDto implements UserDetails {
private final List authorities;
+ @Setter
+ @ApiModelProperty(value = "密码")
+ private String password;
+
public Set getRoles() {
return authorities.stream().map(AuthorityDto::getAuthority).collect(Collectors.toSet());
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
index 6bc8cce73..9901cd752 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
@@ -120,7 +120,7 @@ public interface RoleService {
* @param user 用户信息
* @return 权限信息
*/
- List mapToGrantedAuthorities(UserDto user);
+ List buildAuthorities(UserDto user);
/**
* 验证是否被用户关联
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserLoginDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserLoginDto.java
index 13a51f774..e5b101f05 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserLoginDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserLoginDto.java
@@ -15,6 +15,8 @@
*/
package me.zhengjie.modules.system.service.dto;
+import com.alibaba.fastjson.annotation.JSONField;
+
/**
* @author Zheng Jie
* @description 用户缓存时使用
@@ -22,6 +24,7 @@
**/
public class UserLoginDto extends UserDto {
+ @JSONField(serialize = false)
private String password;
private Boolean isAdmin;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
index e416aa894..9a12c5209 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
@@ -164,7 +164,7 @@ public Integer findByRoles(Set roles) {
@Override
@Cacheable(key = "'auth:' + #p0.id")
- public List mapToGrantedAuthorities(UserDto user) {
+ public List buildAuthorities(UserDto user) {
Set permissions = new HashSet<>();
// 如果是管理员直接返回
if (user.getIsAdmin()) {
diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml
index fa8b7ede0..eee8ddaf8 100644
--- a/eladmin-system/src/main/resources/config/application-dev.yml
+++ b/eladmin-system/src/main/resources/config/application-dev.yml
@@ -60,7 +60,7 @@ login:
# 存活时间/秒
idle-time: 21600
# 验证码
- login-code:
+ code:
# 验证码类型配置 查看 LoginProperties 类
code-type: arithmetic
# 登录图形验证码有效时间/分钟
diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml
index 4d9d2aabf..748c01018 100644
--- a/eladmin-system/src/main/resources/config/application-prod.yml
+++ b/eladmin-system/src/main/resources/config/application-prod.yml
@@ -64,7 +64,7 @@ login:
# 存活时间/秒
idle-time: 21600
# 验证码
- login-code:
+ code:
# 验证码类型配置 查看 LoginProperties 类
code-type: arithmetic
# 登录图形验证码有效时间/分钟
From 5963acb664c97e11bb448921ebac509c4240e261 Mon Sep 17 00:00:00 2001
From: Jie Zheng <201507802@qq.com>
Date: Wed, 15 Jan 2025 16:36:42 +0800
Subject: [PATCH 24/54] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96Redis=E7=BC=93?=
=?UTF-8?q?=E5=AD=98=E9=85=8D=E7=BD=AE=EF=BC=8C=E9=9B=86=E6=88=90Redisson?=
=?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=BC=BA=E6=97=A5=E5=BF=97=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...disConfig.java => RedisConfiguration.java} | 159 +++++++-----------
.../config/RedissonConfiguration.java | 68 ++++++++
.../config/webConfig/SwaggerConfig.java | 80 ++++-----
.../config/webConfig/SwaggerDataConfig.java | 52 ++++++
.../system/service/impl/DataServiceImpl.java | 2 +-
.../system/service/impl/DeptServiceImpl.java | 2 +-
.../service/impl/DictDetailServiceImpl.java | 2 +-
.../system/service/impl/DictServiceImpl.java | 2 +-
.../system/service/impl/JobServiceImpl.java | 2 +-
.../system/service/impl/MenuServiceImpl.java | 2 +-
.../system/service/impl/RoleServiceImpl.java | 2 +-
.../system/service/impl/UserServiceImpl.java | 2 +-
.../main/resources/config/application-dev.yml | 2 +-
.../resources/config/application-prod.yml | 2 +-
.../src/main/resources/config/application.yml | 11 ++
eladmin-system/src/main/resources/logback.xml | 7 +
.../service/impl/AliPayServiceImpl.java | 2 +-
.../service/impl/EmailServiceImpl.java | 2 +-
.../service/impl/QiNiuServiceImpl.java | 2 +-
pom.xml | 7 +
20 files changed, 263 insertions(+), 147 deletions(-)
rename eladmin-common/src/main/java/me/zhengjie/config/{RedisConfig.java => RedisConfiguration.java} (62%)
create mode 100644 eladmin-common/src/main/java/me/zhengjie/config/RedissonConfiguration.java
create mode 100644 eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerDataConfig.java
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/RedisConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/RedisConfiguration.java
similarity index 62%
rename from eladmin-common/src/main/java/me/zhengjie/config/RedisConfig.java
rename to eladmin-common/src/main/java/me/zhengjie/config/RedisConfiguration.java
index d36a0be7e..63998e616 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/RedisConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/RedisConfiguration.java
@@ -15,47 +15,39 @@
*/
package me.zhengjie.config;
-import cn.hutool.core.lang.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cache.Cache;
-import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.interceptor.CacheErrorHandler;
import org.springframework.cache.interceptor.KeyGenerator;
+import org.springframework.cache.interceptor.SimpleCacheErrorHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
+import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.RedisSerializer;
-import reactor.util.annotation.Nullable;
-import java.nio.charset.Charset;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.HashMap;
import java.util.Map;
-
/**
* @author Zheng Jie
- * @date 2018-11-24
+ * @date 2025-01-13
*/
@Slf4j
@Configuration
@EnableCaching
-@ConditionalOnClass(RedisOperations.class)
-@EnableConfigurationProperties(RedisProperties.class)
-public class RedisConfig extends CachingConfigurerSupport {
+public class RedisConfiguration {
/**
* 设置 redis 数据默认过期时间,默认2小时
@@ -70,9 +62,7 @@ public RedisCacheConfiguration redisCacheConfiguration(){
return configuration;
}
- @SuppressWarnings("all")
@Bean(name = "redisTemplate")
- @ConditionalOnMissingBean(name = "redisTemplate")
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate template = new RedisTemplate<>();
//序列化
@@ -92,6 +82,8 @@ public RedisTemplate redisTemplate(RedisConnectionFactory redisC
ParserConfig.getGlobalInstance().addAccept("me.zhengjie.modules.quartz.service.dto");
ParserConfig.getGlobalInstance().addAccept("me.zhengjie.modules.security.service.dto");
ParserConfig.getGlobalInstance().addAccept("me.zhengjie.modules.system.service.dto");
+ // 分页返回数据
+ ParserConfig.getGlobalInstance().addAccept("me.zhengjie.utils.PageResult");
// key的序列化采用StringRedisSerializer
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
@@ -100,10 +92,24 @@ public RedisTemplate redisTemplate(RedisConnectionFactory redisC
}
/**
- * 自定义缓存key生成策略,默认将使用该策略
+ * 缓存管理器,需要指定使用
+ * @param redisConnectionFactory /
+ * @return 缓存管理器
+ */
+ @Bean
+ public RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
+ RedisCacheConfiguration config = redisCacheConfiguration();
+ return RedisCacheManager.builder(redisConnectionFactory)
+ .cacheDefaults(config)
+ .build();
+ }
+
+ /**
+ * 自定义缓存key生成策略,需要在缓存注解中使用keyGenerator才会生效
+ * 默认是使用SimpleKeyGenerator生成的key
+ * 继承 CachingConfigurerSupport 后,才会默认生效这个生成器,暂时没找到其他方式默认生效,如果有请PR,谢谢
*/
@Bean
- @Override
public KeyGenerator keyGenerator() {
return (target, method, params) -> {
Map container = new HashMap<>(8);
@@ -126,100 +132,63 @@ public KeyGenerator keyGenerator() {
}
@Bean
- @Override
- @SuppressWarnings({"all"})
+ @SuppressWarnings("all")
public CacheErrorHandler errorHandler() {
- // 异常处理,当Redis发生异常时,打印日志,但是程序正常走
- log.info("初始化 -> [{}]", "Redis CacheErrorHandler");
- return new CacheErrorHandler() {
+ return new SimpleCacheErrorHandler() {
@Override
- public void handleCacheGetError(RuntimeException e, Cache cache, Object key) {
- log.error("Redis occur handleCacheGetError:key -> [{}]", key, e);
+ public void handleCacheGetError(RuntimeException exception, Cache cache, Object key) {
+ // 处理缓存读取错误
+ log.error("Cache Get Error: {}",exception.getMessage());
}
-
@Override
- public void handleCachePutError(RuntimeException e, Cache cache, Object key, Object value) {
- log.error("Redis occur handleCachePutError:key -> [{}];value -> [{}]", key, value, e);
+ public void handleCachePutError(RuntimeException exception, Cache cache, Object key, Object value) {
+ // 处理缓存写入错误
+ log.error("Cache Put Error: {}",exception.getMessage());
}
-
@Override
- public void handleCacheEvictError(RuntimeException e, Cache cache, Object key) {
- log.error("Redis occur handleCacheEvictError:key -> [{}]", key, e);
+ public void handleCacheEvictError(RuntimeException exception, Cache cache, Object key) {
+ // 处理缓存删除错误
+ log.error("Cache Evict Error: {}",exception.getMessage());
}
-
@Override
- public void handleCacheClearError(RuntimeException e, Cache cache) {
- log.error("Redis occur handleCacheClearError:", e);
+ public void handleCacheClearError(RuntimeException exception, Cache cache) {
+ // 处理缓存清除错误
+ log.error("Cache Clear Error: {}",exception.getMessage());
}
};
}
-}
-/**
- * Value 序列化
- *
- * @author /
- * @param
- */
-class FastJsonRedisSerializer implements RedisSerializer {
+ /**
+ * Value 序列化
+ *
+ * @param
+ * @author /
+ */
+ static class FastJsonRedisSerializer implements RedisSerializer {
- private final Class clazz;
+ private final Class clazz;
- FastJsonRedisSerializer(Class clazz) {
- super();
- this.clazz = clazz;
- }
-
- @Override
- public byte[] serialize(T t) {
- if (t == null) {
- return new byte[0];
+ FastJsonRedisSerializer(Class clazz) {
+ super();
+ this.clazz = clazz;
}
- return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(StandardCharsets.UTF_8);
- }
- @Override
- public T deserialize(byte[] bytes) {
- if (bytes == null || bytes.length == 0) {
- return null;
+ @Override
+ public byte[] serialize(T t) {
+ if (t == null) {
+ return new byte[0];
+ }
+ return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(StandardCharsets.UTF_8);
}
- String str = new String(bytes, StandardCharsets.UTF_8);
- return JSON.parseObject(str, clazz);
- }
-
-}
-
-/**
- * 重写序列化器
- *
- * @author /
- */
-class StringRedisSerializer implements RedisSerializer {
- private final Charset charset;
-
- StringRedisSerializer() {
- this(StandardCharsets.UTF_8);
- }
-
- private StringRedisSerializer(Charset charset) {
- Assert.notNull(charset, "Charset must not be null!");
- this.charset = charset;
- }
+ @Override
+ public T deserialize(byte[] bytes) {
+ if (bytes == null || bytes.length == 0) {
+ return null;
+ }
+ String str = new String(bytes, StandardCharsets.UTF_8);
+ return JSON.parseObject(str, clazz);
+ }
- @Override
- public String deserialize(byte[] bytes) {
- return (bytes == null ? null : new String(bytes, charset));
}
-
- @Override
- public @Nullable byte[] serialize(Object object) {
- String string = JSON.toJSONString(object);
-
- if (org.apache.commons.lang3.StringUtils.isBlank(string)) {
- return null;
- }
- string = string.replace("\"", "");
- return string.getBytes(charset);
- }
-}
+}
\ No newline at end of file
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/RedissonConfiguration.java b/eladmin-common/src/main/java/me/zhengjie/config/RedissonConfiguration.java
new file mode 100644
index 000000000..8bb63eda7
--- /dev/null
+++ b/eladmin-common/src/main/java/me/zhengjie/config/RedissonConfiguration.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2019-2020 Zheng Jie
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package me.zhengjie.config;
+
+import cn.hutool.core.util.StrUtil;
+import lombok.Data;
+import org.redisson.Redisson;
+import org.redisson.api.RedissonClient;
+import org.redisson.config.Config;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Data
+@Configuration
+public class RedissonConfiguration {
+
+ @Value("${spring.redis.host}")
+ private String redisHost;
+
+ @Value("${spring.redis.port}")
+ private int redisPort;
+
+ @Value("${spring.redis.database}")
+ private int redisDatabase;
+
+ @Value("${spring.redis.password:}")
+ private String redisPassword;
+
+ @Value("${spring.redis.timeout:5000}")
+ private int timeout;
+
+ @Value("${spring.redis.lettuce.pool.max-active:64}")
+ private int connectionPoolSize;
+
+ @Value("${spring.redis.lettuce.pool.min-idle:16}")
+ private int connectionMinimumIdleSize;
+
+ @Bean
+ public RedissonClient redissonClient() {
+ Config config = new Config();
+ config.useSingleServer()
+ .setAddress("redis://" + redisHost + ":" + redisPort)
+ .setDatabase(redisDatabase)
+ .setTimeout(timeout)
+ .setConnectionPoolSize(connectionPoolSize)
+ .setConnectionMinimumIdleSize(connectionMinimumIdleSize);
+ if(StrUtil.isNotBlank(redisPassword)){
+ config.useSingleServer().setPassword(redisPassword);
+ }
+ return Redisson.create(config);
+ }
+}
+
+
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
index d7f222618..d921196a8 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
@@ -15,23 +15,18 @@
*/
package me.zhengjie.config.webConfig;
-import cn.hutool.core.collection.CollUtil;
-import com.fasterxml.classmate.TypeResolver;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
import lombok.RequiredArgsConstructor;
import me.zhengjie.utils.AnonTagUtils;
+import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.core.Ordered;
-import org.springframework.data.domain.Pageable;
+import org.springframework.util.ReflectionUtils;
+import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.schema.AlternateTypeRule;
-import springfox.documentation.schema.AlternateTypeRuleConvention;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope;
@@ -40,15 +35,16 @@
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider;
+import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
+import java.lang.reflect.Field;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import static springfox.documentation.schema.AlternateTypeRules.newRule;
-
/**
* api页面 /doc.html
* @author Zheng Jie
@@ -129,39 +125,45 @@ private List defaultAuth() {
securityReferences.add(new SecurityReference(tokenHeader, authorizationScopes));
return securityReferences;
}
-}
-
-/**
- * 将Pageable转换展示在swagger中
- */
-@Configuration
-class SwaggerDataConfig {
+ /**
+ * 解决Springfox与SpringBoot集成后,WebMvcRequestHandlerProvider和WebFluxRequestHandlerProvider冲突问题
+ * @return /
+ */
@Bean
- public AlternateTypeRuleConvention pageableConvention(final TypeResolver resolver) {
- return new AlternateTypeRuleConvention() {
- @Override
- public int getOrder() {
- return Ordered.HIGHEST_PRECEDENCE;
- }
+ @SuppressWarnings({"all"})
+ public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {
+ return new BeanPostProcessor() {
@Override
- public List rules() {
- return CollUtil.newArrayList(newRule(resolver.resolve(Pageable.class), resolver.resolve(Page.class)));
+ public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
+ if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) {
+ customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
+ }
+ return bean;
}
- };
- }
-
- @ApiModel
- @Data
- private static class Page {
- @ApiModelProperty("页码 (0..N)")
- private Integer page;
- @ApiModelProperty("每页显示的数目")
- private Integer size;
+ private void customizeSpringfoxHandlerMappings(List mappings) {
+ List filteredMappings = mappings.stream()
+ .filter(mapping -> mapping.getPatternParser() == null)
+ .collect(Collectors.toList());
+ mappings.clear();
+ mappings.addAll(filteredMappings);
+ }
- @ApiModelProperty("以下列格式排序标准:property[,asc | desc]。 默认排序顺序为升序。 支持多种排序条件:如:id,asc")
- private List sort;
+ private List getHandlerMappings(Object bean) {
+ Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
+ if (field != null) {
+ field.setAccessible(true);
+ try {
+ return (List) field.get(bean);
+ } catch (IllegalAccessException e) {
+ throw new IllegalStateException("Failed to access handlerMappings field", e);
+ }
+ }
+ return Collections.emptyList();
+ }
+ };
}
}
+
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerDataConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerDataConfig.java
new file mode 100644
index 000000000..2fba84077
--- /dev/null
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerDataConfig.java
@@ -0,0 +1,52 @@
+package me.zhengjie.config.webConfig;
+
+import cn.hutool.core.collection.CollUtil;
+import com.fasterxml.classmate.TypeResolver;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.data.domain.Pageable;
+import springfox.documentation.schema.AlternateTypeRule;
+import springfox.documentation.schema.AlternateTypeRuleConvention;
+
+import java.util.List;
+
+import static springfox.documentation.schema.AlternateTypeRules.newRule;
+
+/**
+ * 将Pageable转换展示在swagger中
+ */
+@Configuration
+public class SwaggerDataConfig {
+
+ @Bean
+ public AlternateTypeRuleConvention pageableConvention(final TypeResolver resolver) {
+ return new AlternateTypeRuleConvention() {
+ @Override
+ public int getOrder() {
+ return Ordered.HIGHEST_PRECEDENCE;
+ }
+
+ @Override
+ public List rules() {
+ return CollUtil.newArrayList(newRule(resolver.resolve(Pageable.class), resolver.resolve(Page.class)));
+ }
+ };
+ }
+
+ @ApiModel
+ @Data
+ private static class Page {
+ @ApiModelProperty("页码 (0..N)")
+ private Integer page;
+
+ @ApiModelProperty("每页显示的数目")
+ private Integer size;
+
+ @ApiModelProperty("以下列格式排序标准:property[,asc | desc]。 默认排序顺序为升序。 支持多种排序条件:如:id,asc")
+ private List sort;
+ }
+}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java
index 782fbd8f2..336a9be0b 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java
@@ -36,7 +36,7 @@
**/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "data")
+@CacheConfig(cacheNames = "data", keyGenerator = "keyGenerator")
public class DataServiceImpl implements DataService {
private final RoleService roleService;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java
index a02bd699f..89233a2b9 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java
@@ -47,7 +47,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "dept")
+@CacheConfig(cacheNames = "dept", keyGenerator = "keyGenerator")
public class DeptServiceImpl implements DeptService {
private final DeptRepository deptRepository;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java
index 5da4d056c..51ef1114c 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java
@@ -40,7 +40,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "dict")
+@CacheConfig(cacheNames = "dict", keyGenerator = "keyGenerator")
public class DictDetailServiceImpl implements DictDetailService {
private final DictRepository dictRepository;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java
index 682651213..3beb828b9 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java
@@ -41,7 +41,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "dict")
+@CacheConfig(cacheNames = "dict", keyGenerator = "keyGenerator")
public class DictServiceImpl implements DictService {
private final DictRepository dictRepository;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java
index a608b97a9..7c72fe627 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java
@@ -44,7 +44,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "job")
+@CacheConfig(cacheNames = "job", keyGenerator = "keyGenerator")
public class JobServiceImpl implements JobService {
private final JobRepository jobRepository;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java
index ca8297e7a..2ad44d10d 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java
@@ -50,7 +50,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "menu")
+@CacheConfig(cacheNames = "menu", keyGenerator = "keyGenerator")
public class MenuServiceImpl implements MenuService {
private final MenuRepository menuRepository;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
index 9a12c5209..a429cc3bd 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
@@ -52,7 +52,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "role")
+@CacheConfig(cacheNames = "role", keyGenerator = "keyGenerator")
public class RoleServiceImpl implements RoleService {
private final RoleRepository roleRepository;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
index 41ae50b7e..d8c831777 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
@@ -50,7 +50,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "user")
+@CacheConfig(cacheNames = "user", keyGenerator = "keyGenerator")
public class UserServiceImpl implements UserService {
private final UserRepository userRepository;
diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml
index eee8ddaf8..e227c7797 100644
--- a/eladmin-system/src/main/resources/config/application-dev.yml
+++ b/eladmin-system/src/main/resources/config/application-dev.yml
@@ -45,7 +45,7 @@ spring:
enabled: true
# 记录慢SQL
log-slow-sql: true
- slow-sql-millis: 1000
+ slow-sql-millis: 2000
merge-sql: true
wall:
config:
diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml
index 748c01018..77fef99bb 100644
--- a/eladmin-system/src/main/resources/config/application-prod.yml
+++ b/eladmin-system/src/main/resources/config/application-prod.yml
@@ -49,7 +49,7 @@ spring:
enabled: true
# 记录慢SQL
log-slow-sql: true
- slow-sql-millis: 1000
+ slow-sql-millis: 2000
merge-sql: true
wall:
config:
diff --git a/eladmin-system/src/main/resources/config/application.yml b/eladmin-system/src/main/resources/config/application.yml
index 8f9b917ff..214872568 100644
--- a/eladmin-system/src/main/resources/config/application.yml
+++ b/eladmin-system/src/main/resources/config/application.yml
@@ -40,6 +40,17 @@ spring:
password: ${REDIS_PWD:}
#连接超时时间
timeout: 5000
+ # 连接池配置
+ lettuce:
+ pool:
+ # 连接池最大连接数
+ max-active: 30
+ # 连接池最大阻塞等待时间(毫秒),负值表示没有限制
+ max-wait: -1
+ # 连接池中的最大空闲连接数
+ max-idle: 20
+ # 连接池中的最小空闲连接数
+ min-idle: 1
task:
pool:
diff --git a/eladmin-system/src/main/resources/logback.xml b/eladmin-system/src/main/resources/logback.xml
index db910fddf..f991c4147 100644
--- a/eladmin-system/src/main/resources/logback.xml
+++ b/eladmin-system/src/main/resources/logback.xml
@@ -16,4 +16,11 @@
+
+
+
+
+
+
+
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java
index 0625ba42d..c539bec46 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java
@@ -38,7 +38,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "aliPay")
+@CacheConfig(cacheNames = "aliPay", keyGenerator = "keyGenerator")
public class AliPayServiceImpl implements AliPayService {
private final AliPayRepository alipayRepository;
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
index aa567327c..a2488d059 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
@@ -37,7 +37,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "email")
+@CacheConfig(cacheNames = "email", keyGenerator = "keyGenerator")
public class EmailServiceImpl implements EmailService {
private final EmailRepository emailRepository;
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java
index 60093d7b2..fe622245b 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java
@@ -51,7 +51,7 @@
*/
@Service
@RequiredArgsConstructor
-@CacheConfig(cacheNames = "qiNiu")
+@CacheConfig(cacheNames = "qiNiu", keyGenerator = "keyGenerator")
public class QiNiuServiceImpl implements QiNiuService {
private final QiNiuConfigRepository qiNiuConfigRepository;
diff --git a/pom.xml b/pom.xml
index f6ac3402a..d59e0f036 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,6 +81,13 @@
spring-boot-starter-data-redis
+
+
+ org.redisson
+ redisson-spring-boot-starter
+ 3.17.1
+
+
From e62f4503947964e4035b20dea638902f30f11018 Mon Sep 17 00:00:00 2001
From: Jie Zheng <201507802@qq.com>
Date: Wed, 15 Jan 2025 16:38:28 +0800
Subject: [PATCH 25/54] docs: Update copyright year to 2025 across all files
---
.../src/main/java/me/zhengjie/annotation/DataPermission.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/annotation/Limit.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/annotation/Query.java | 2 +-
.../main/java/me/zhengjie/annotation/rest/AnonymousAccess.java | 2 +-
.../src/main/java/me/zhengjie/aspect/LimitAspect.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/aspect/LimitType.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/base/BaseMapper.java | 2 +-
.../src/main/java/me/zhengjie/config/AsyncExecutor.java | 2 +-
.../src/main/java/me/zhengjie/config/AuditorConfig.java | 2 +-
.../src/main/java/me/zhengjie/config/AuthorityConfig.java | 2 +-
.../src/main/java/me/zhengjie/config/CustomP6SpyLogger.java | 2 +-
.../src/main/java/me/zhengjie/config/RedisConfiguration.java | 2 +-
.../src/main/java/me/zhengjie/config/RedissonConfiguration.java | 2 +-
.../main/java/me/zhengjie/config/properties/FileProperties.java | 2 +-
.../main/java/me/zhengjie/config/properties/RsaProperties.java | 2 +-
.../java/me/zhengjie/config/webConfig/ConfigurerAdapter.java | 2 +-
.../main/java/me/zhengjie/config/webConfig/SwaggerConfig.java | 2 +-
.../main/java/me/zhengjie/config/webConfig/WebSocketConfig.java | 2 +-
.../main/java/me/zhengjie/exception/BadRequestException.java | 2 +-
.../main/java/me/zhengjie/exception/EntityExistException.java | 2 +-
.../java/me/zhengjie/exception/EntityNotFoundException.java | 2 +-
.../src/main/java/me/zhengjie/exception/handler/ApiError.java | 2 +-
.../me/zhengjie/exception/handler/GlobalExceptionHandler.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/utils/CloseUtil.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/utils/ElConstant.java | 2 +-
.../src/main/java/me/zhengjie/utils/EncryptUtils.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java | 2 +-
.../src/main/java/me/zhengjie/utils/RequestHolder.java | 2 +-
.../src/main/java/me/zhengjie/utils/SecurityUtils.java | 2 +-
.../src/main/java/me/zhengjie/utils/SpringBeanHolder.java | 2 +-
eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java | 2 +-
.../src/main/java/me/zhengjie/utils/ThrowableUtil.java | 2 +-
.../src/main/java/me/zhengjie/utils/ValidationUtil.java | 2 +-
.../src/main/java/me/zhengjie/utils/enums/CodeBiEnum.java | 2 +-
.../src/main/java/me/zhengjie/utils/enums/CodeEnum.java | 2 +-
.../src/main/java/me/zhengjie/utils/enums/DataScopeEnum.java | 2 +-
.../main/java/me/zhengjie/utils/enums/RequestMethodEnum.java | 2 +-
.../src/main/java/me/zhengjie/domain/ColumnInfo.java | 2 +-
.../src/main/java/me/zhengjie/domain/GenConfig.java | 2 +-
.../src/main/java/me/zhengjie/domain/vo/TableInfo.java | 2 +-
.../main/java/me/zhengjie/repository/ColumnInfoRepository.java | 2 +-
.../main/java/me/zhengjie/repository/GenConfigRepository.java | 2 +-
.../src/main/java/me/zhengjie/rest/GenConfigController.java | 2 +-
.../src/main/java/me/zhengjie/rest/GeneratorController.java | 2 +-
.../src/main/java/me/zhengjie/service/GenConfigService.java | 2 +-
.../src/main/java/me/zhengjie/service/GeneratorService.java | 2 +-
.../java/me/zhengjie/service/impl/GenConfigServiceImpl.java | 2 +-
.../java/me/zhengjie/service/impl/GeneratorServiceImpl.java | 2 +-
eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java | 2 +-
eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java | 2 +-
.../src/main/resources/template/admin/Controller.ftl | 2 +-
eladmin-generator/src/main/resources/template/admin/Dto.ftl | 2 +-
eladmin-generator/src/main/resources/template/admin/Entity.ftl | 2 +-
eladmin-generator/src/main/resources/template/admin/Mapper.ftl | 2 +-
.../src/main/resources/template/admin/QueryCriteria.ftl | 2 +-
.../src/main/resources/template/admin/Repository.ftl | 2 +-
eladmin-generator/src/main/resources/template/admin/Service.ftl | 2 +-
.../src/main/resources/template/admin/ServiceImpl.ftl | 2 +-
eladmin-logging/src/main/java/me/zhengjie/annotation/Log.java | 2 +-
eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java | 2 +-
eladmin-logging/src/main/java/me/zhengjie/domain/SysLog.java | 2 +-
.../src/main/java/me/zhengjie/repository/LogRepository.java | 2 +-
.../src/main/java/me/zhengjie/rest/SysLogController.java | 2 +-
.../src/main/java/me/zhengjie/service/SysLogService.java | 2 +-
.../src/main/java/me/zhengjie/service/dto/SysLogErrorDto.java | 2 +-
.../main/java/me/zhengjie/service/dto/SysLogQueryCriteria.java | 2 +-
.../src/main/java/me/zhengjie/service/dto/SysLogSmallDto.java | 2 +-
.../main/java/me/zhengjie/service/impl/SysLogServiceImpl.java | 2 +-
.../main/java/me/zhengjie/service/mapstruct/LogErrorMapper.java | 2 +-
.../main/java/me/zhengjie/service/mapstruct/LogSmallMapper.java | 2 +-
eladmin-system/src/main/java/me/zhengjie/AppRun.java | 2 +-
.../src/main/java/me/zhengjie/modules/maint/domain/App.java | 2 +-
.../main/java/me/zhengjie/modules/maint/domain/Database.java | 2 +-
.../src/main/java/me/zhengjie/modules/maint/domain/Deploy.java | 2 +-
.../java/me/zhengjie/modules/maint/domain/DeployHistory.java | 2 +-
.../java/me/zhengjie/modules/maint/domain/ServerDeploy.java | 2 +-
.../me/zhengjie/modules/maint/repository/AppRepository.java | 2 +-
.../zhengjie/modules/maint/repository/DatabaseRepository.java | 2 +-
.../modules/maint/repository/DeployHistoryRepository.java | 2 +-
.../me/zhengjie/modules/maint/repository/DeployRepository.java | 2 +-
.../modules/maint/repository/ServerDeployRepository.java | 2 +-
.../main/java/me/zhengjie/modules/maint/rest/AppController.java | 2 +-
.../java/me/zhengjie/modules/maint/rest/DatabaseController.java | 2 +-
.../java/me/zhengjie/modules/maint/rest/DeployController.java | 2 +-
.../me/zhengjie/modules/maint/rest/DeployHistoryController.java | 2 +-
.../me/zhengjie/modules/maint/rest/ServerDeployController.java | 2 +-
.../main/java/me/zhengjie/modules/maint/service/AppService.java | 2 +-
.../java/me/zhengjie/modules/maint/service/DatabaseService.java | 2 +-
.../me/zhengjie/modules/maint/service/DeployHistoryService.java | 2 +-
.../java/me/zhengjie/modules/maint/service/DeployService.java | 2 +-
.../me/zhengjie/modules/maint/service/ServerDeployService.java | 2 +-
.../main/java/me/zhengjie/modules/maint/service/dto/AppDto.java | 2 +-
.../me/zhengjie/modules/maint/service/dto/AppQueryCriteria.java | 2 +-
.../java/me/zhengjie/modules/maint/service/dto/DatabaseDto.java | 2 +-
.../modules/maint/service/dto/DatabaseQueryCriteria.java | 2 +-
.../java/me/zhengjie/modules/maint/service/dto/DeployDto.java | 2 +-
.../me/zhengjie/modules/maint/service/dto/DeployHistoryDto.java | 2 +-
.../modules/maint/service/dto/DeployHistoryQueryCriteria.java | 2 +-
.../zhengjie/modules/maint/service/dto/DeployQueryCriteria.java | 2 +-
.../me/zhengjie/modules/maint/service/dto/ServerDeployDto.java | 2 +-
.../modules/maint/service/dto/ServerDeployQueryCriteria.java | 2 +-
.../me/zhengjie/modules/maint/service/impl/AppServiceImpl.java | 2 +-
.../modules/maint/service/impl/DatabaseServiceImpl.java | 2 +-
.../modules/maint/service/impl/DeployHistoryServiceImpl.java | 2 +-
.../zhengjie/modules/maint/service/impl/DeployServiceImpl.java | 2 +-
.../modules/maint/service/impl/ServerDeployServiceImpl.java | 2 +-
.../me/zhengjie/modules/maint/service/mapstruct/AppMapper.java | 2 +-
.../modules/maint/service/mapstruct/DatabaseMapper.java | 2 +-
.../modules/maint/service/mapstruct/DeployHistoryMapper.java | 2 +-
.../zhengjie/modules/maint/service/mapstruct/DeployMapper.java | 2 +-
.../modules/maint/service/mapstruct/ServerDeployMapper.java | 2 +-
.../java/me/zhengjie/modules/maint/util/ExecuteShellUtil.java | 2 +-
.../main/java/me/zhengjie/modules/maint/util/ScpClientUtil.java | 2 +-
.../src/main/java/me/zhengjie/modules/maint/util/SqlUtils.java | 2 +-
.../main/java/me/zhengjie/modules/maint/websocket/MsgType.java | 2 +-
.../java/me/zhengjie/modules/maint/websocket/SocketMsg.java | 2 +-
.../me/zhengjie/modules/maint/websocket/WebSocketServer.java | 2 +-
.../main/java/me/zhengjie/modules/quartz/config/JobRunner.java | 2 +-
.../java/me/zhengjie/modules/quartz/config/QuartzConfig.java | 2 +-
.../main/java/me/zhengjie/modules/quartz/domain/QuartzJob.java | 2 +-
.../main/java/me/zhengjie/modules/quartz/domain/QuartzLog.java | 2 +-
.../zhengjie/modules/quartz/repository/QuartzJobRepository.java | 2 +-
.../zhengjie/modules/quartz/repository/QuartzLogRepository.java | 2 +-
.../me/zhengjie/modules/quartz/rest/QuartzJobController.java | 2 +-
.../me/zhengjie/modules/quartz/service/QuartzJobService.java | 2 +-
.../zhengjie/modules/quartz/service/dto/JobQueryCriteria.java | 2 +-
.../modules/quartz/service/impl/QuartzJobServiceImpl.java | 2 +-
.../src/main/java/me/zhengjie/modules/quartz/task/TestTask.java | 2 +-
.../java/me/zhengjie/modules/quartz/utils/ExecutionJob.java | 2 +-
.../java/me/zhengjie/modules/quartz/utils/QuartzManage.java | 2 +-
.../java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java | 2 +-
.../me/zhengjie/modules/security/config/SecurityProperties.java | 2 +-
.../zhengjie/modules/security/config/SpringSecurityConfig.java | 2 +-
.../java/me/zhengjie/modules/security/rest/AuthController.java | 2 +-
.../me/zhengjie/modules/security/rest/OnlineController.java | 2 +-
.../modules/security/security/JwtAccessDeniedHandler.java | 2 +-
.../modules/security/security/JwtAuthenticationEntryPoint.java | 2 +-
.../me/zhengjie/modules/security/security/TokenConfigurer.java | 2 +-
.../java/me/zhengjie/modules/security/security/TokenFilter.java | 2 +-
.../me/zhengjie/modules/security/security/TokenProvider.java | 2 +-
.../me/zhengjie/modules/security/service/OnlineUserService.java | 2 +-
.../me/zhengjie/modules/security/service/UserCacheManager.java | 2 +-
.../modules/security/service/UserDetailsServiceImpl.java | 2 +-
.../me/zhengjie/modules/security/service/dto/AuthUserDto.java | 2 +-
.../me/zhengjie/modules/security/service/dto/AuthorityDto.java | 2 +-
.../me/zhengjie/modules/security/service/dto/JwtUserDto.java | 2 +-
.../me/zhengjie/modules/security/service/dto/OnlineUserDto.java | 2 +-
.../src/main/java/me/zhengjie/modules/system/domain/Dept.java | 2 +-
.../src/main/java/me/zhengjie/modules/system/domain/Dict.java | 2 +-
.../main/java/me/zhengjie/modules/system/domain/DictDetail.java | 2 +-
.../src/main/java/me/zhengjie/modules/system/domain/Job.java | 2 +-
.../src/main/java/me/zhengjie/modules/system/domain/Menu.java | 2 +-
.../src/main/java/me/zhengjie/modules/system/domain/Role.java | 2 +-
.../src/main/java/me/zhengjie/modules/system/domain/User.java | 2 +-
.../java/me/zhengjie/modules/system/domain/vo/MenuMetaVo.java | 2 +-
.../main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java | 2 +-
.../java/me/zhengjie/modules/system/domain/vo/UserPassVo.java | 2 +-
.../me/zhengjie/modules/system/repository/DeptRepository.java | 2 +-
.../modules/system/repository/DictDetailRepository.java | 2 +-
.../me/zhengjie/modules/system/repository/DictRepository.java | 2 +-
.../me/zhengjie/modules/system/repository/JobRepository.java | 2 +-
.../me/zhengjie/modules/system/repository/MenuRepository.java | 2 +-
.../me/zhengjie/modules/system/repository/RoleRepository.java | 2 +-
.../me/zhengjie/modules/system/repository/UserRepository.java | 2 +-
.../java/me/zhengjie/modules/system/rest/DeptController.java | 2 +-
.../java/me/zhengjie/modules/system/rest/DictController.java | 2 +-
.../me/zhengjie/modules/system/rest/DictDetailController.java | 2 +-
.../java/me/zhengjie/modules/system/rest/JobController.java | 2 +-
.../java/me/zhengjie/modules/system/rest/LimitController.java | 2 +-
.../java/me/zhengjie/modules/system/rest/MenuController.java | 2 +-
.../java/me/zhengjie/modules/system/rest/MonitorController.java | 2 +-
.../java/me/zhengjie/modules/system/rest/RoleController.java | 2 +-
.../java/me/zhengjie/modules/system/rest/UserController.java | 2 +-
.../java/me/zhengjie/modules/system/rest/VerifyController.java | 2 +-
.../java/me/zhengjie/modules/system/service/DataService.java | 2 +-
.../java/me/zhengjie/modules/system/service/DeptService.java | 2 +-
.../me/zhengjie/modules/system/service/DictDetailService.java | 2 +-
.../java/me/zhengjie/modules/system/service/DictService.java | 2 +-
.../java/me/zhengjie/modules/system/service/JobService.java | 2 +-
.../java/me/zhengjie/modules/system/service/MenuService.java | 2 +-
.../java/me/zhengjie/modules/system/service/MonitorService.java | 2 +-
.../java/me/zhengjie/modules/system/service/RoleService.java | 2 +-
.../java/me/zhengjie/modules/system/service/UserService.java | 2 +-
.../java/me/zhengjie/modules/system/service/VerifyService.java | 2 +-
.../java/me/zhengjie/modules/system/service/dto/DeptDto.java | 2 +-
.../zhengjie/modules/system/service/dto/DeptQueryCriteria.java | 2 +-
.../me/zhengjie/modules/system/service/dto/DeptSmallDto.java | 2 +-
.../me/zhengjie/modules/system/service/dto/DictDetailDto.java | 2 +-
.../modules/system/service/dto/DictDetailQueryCriteria.java | 2 +-
.../java/me/zhengjie/modules/system/service/dto/DictDto.java | 2 +-
.../zhengjie/modules/system/service/dto/DictQueryCriteria.java | 2 +-
.../me/zhengjie/modules/system/service/dto/DictSmallDto.java | 2 +-
.../java/me/zhengjie/modules/system/service/dto/JobDto.java | 2 +-
.../zhengjie/modules/system/service/dto/JobQueryCriteria.java | 2 +-
.../me/zhengjie/modules/system/service/dto/JobSmallDto.java | 2 +-
.../java/me/zhengjie/modules/system/service/dto/MenuDto.java | 2 +-
.../zhengjie/modules/system/service/dto/MenuQueryCriteria.java | 2 +-
.../java/me/zhengjie/modules/system/service/dto/RoleDto.java | 2 +-
.../zhengjie/modules/system/service/dto/RoleQueryCriteria.java | 2 +-
.../me/zhengjie/modules/system/service/dto/RoleSmallDto.java | 2 +-
.../java/me/zhengjie/modules/system/service/dto/UserDto.java | 2 +-
.../me/zhengjie/modules/system/service/dto/UserLoginDto.java | 2 +-
.../zhengjie/modules/system/service/dto/UserQueryCriteria.java | 2 +-
.../zhengjie/modules/system/service/impl/DataServiceImpl.java | 2 +-
.../zhengjie/modules/system/service/impl/DeptServiceImpl.java | 2 +-
.../modules/system/service/impl/DictDetailServiceImpl.java | 2 +-
.../zhengjie/modules/system/service/impl/DictServiceImpl.java | 2 +-
.../me/zhengjie/modules/system/service/impl/JobServiceImpl.java | 2 +-
.../zhengjie/modules/system/service/impl/MenuServiceImpl.java | 2 +-
.../modules/system/service/impl/MonitorServiceImpl.java | 2 +-
.../zhengjie/modules/system/service/impl/RoleServiceImpl.java | 2 +-
.../zhengjie/modules/system/service/impl/UserServiceImpl.java | 2 +-
.../zhengjie/modules/system/service/impl/VerifyServiceImpl.java | 2 +-
.../zhengjie/modules/system/service/mapstruct/DeptMapper.java | 2 +-
.../modules/system/service/mapstruct/DeptSmallMapper.java | 2 +-
.../modules/system/service/mapstruct/DictDetailMapper.java | 2 +-
.../zhengjie/modules/system/service/mapstruct/DictMapper.java | 2 +-
.../modules/system/service/mapstruct/DictSmallMapper.java | 2 +-
.../me/zhengjie/modules/system/service/mapstruct/JobMapper.java | 2 +-
.../modules/system/service/mapstruct/JobSmallMapper.java | 2 +-
.../zhengjie/modules/system/service/mapstruct/MenuMapper.java | 2 +-
.../zhengjie/modules/system/service/mapstruct/RoleMapper.java | 2 +-
.../modules/system/service/mapstruct/RoleSmallMapper.java | 2 +-
.../modules/system/service/mapstruct/UserLoginMapper.java | 2 +-
.../zhengjie/modules/system/service/mapstruct/UserMapper.java | 2 +-
.../src/main/java/me/zhengjie/config/MultipartConfig.java | 2 +-
.../src/main/java/me/zhengjie/domain/AlipayConfig.java | 2 +-
eladmin-tools/src/main/java/me/zhengjie/domain/EmailConfig.java | 2 +-
.../src/main/java/me/zhengjie/domain/LocalStorage.java | 2 +-
eladmin-tools/src/main/java/me/zhengjie/domain/QiniuConfig.java | 2 +-
.../src/main/java/me/zhengjie/domain/QiniuContent.java | 2 +-
.../main/java/me/zhengjie/domain/enums/AliPayStatusEnum.java | 2 +-
eladmin-tools/src/main/java/me/zhengjie/domain/vo/EmailVo.java | 2 +-
eladmin-tools/src/main/java/me/zhengjie/domain/vo/TradeVo.java | 2 +-
.../src/main/java/me/zhengjie/repository/AliPayRepository.java | 2 +-
.../src/main/java/me/zhengjie/repository/EmailRepository.java | 2 +-
.../java/me/zhengjie/repository/LocalStorageRepository.java | 2 +-
.../main/java/me/zhengjie/repository/QiNiuConfigRepository.java | 2 +-
.../java/me/zhengjie/repository/QiniuContentRepository.java | 2 +-
.../src/main/java/me/zhengjie/rest/AliPayController.java | 2 +-
.../src/main/java/me/zhengjie/rest/EmailController.java | 2 +-
.../src/main/java/me/zhengjie/rest/LocalStorageController.java | 2 +-
.../src/main/java/me/zhengjie/rest/QiniuController.java | 2 +-
.../src/main/java/me/zhengjie/service/AliPayService.java | 2 +-
.../src/main/java/me/zhengjie/service/EmailService.java | 2 +-
.../src/main/java/me/zhengjie/service/LocalStorageService.java | 2 +-
.../src/main/java/me/zhengjie/service/QiNiuService.java | 2 +-
.../src/main/java/me/zhengjie/service/dto/LocalStorageDto.java | 2 +-
.../java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java | 2 +-
.../main/java/me/zhengjie/service/dto/PictureQueryCriteria.java | 2 +-
.../main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java | 2 +-
.../main/java/me/zhengjie/service/impl/AliPayServiceImpl.java | 2 +-
.../main/java/me/zhengjie/service/impl/EmailServiceImpl.java | 2 +-
.../java/me/zhengjie/service/impl/LocalStorageServiceImpl.java | 2 +-
.../main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java | 2 +-
.../java/me/zhengjie/service/mapstruct/LocalStorageMapper.java | 2 +-
eladmin-tools/src/main/java/me/zhengjie/utils/AlipayUtils.java | 2 +-
eladmin-tools/src/main/java/me/zhengjie/utils/QiNiuUtil.java | 2 +-
262 files changed, 262 insertions(+), 262 deletions(-)
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/DataPermission.java b/eladmin-common/src/main/java/me/zhengjie/annotation/DataPermission.java
index e037b7eb8..7f9576048 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/DataPermission.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/DataPermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/Limit.java b/eladmin-common/src/main/java/me/zhengjie/annotation/Limit.java
index 58b41cf8d..d73878a10 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/Limit.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/Limit.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java
index fe616f1cf..18bc4c4a4 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousAccess.java b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousAccess.java
index 6755eb26e..c66fcb7c1 100644
--- a/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousAccess.java
+++ b/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousAccess.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/aspect/LimitAspect.java b/eladmin-common/src/main/java/me/zhengjie/aspect/LimitAspect.java
index 63fb8211a..5cc3c6dfa 100644
--- a/eladmin-common/src/main/java/me/zhengjie/aspect/LimitAspect.java
+++ b/eladmin-common/src/main/java/me/zhengjie/aspect/LimitAspect.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/aspect/LimitType.java b/eladmin-common/src/main/java/me/zhengjie/aspect/LimitType.java
index bf3f09e2b..42d041510 100644
--- a/eladmin-common/src/main/java/me/zhengjie/aspect/LimitType.java
+++ b/eladmin-common/src/main/java/me/zhengjie/aspect/LimitType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java b/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java
index 618e100ce..2ecc43039 100644
--- a/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java
+++ b/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/base/BaseMapper.java b/eladmin-common/src/main/java/me/zhengjie/base/BaseMapper.java
index e8bb825db..6f69b1382 100644
--- a/eladmin-common/src/main/java/me/zhengjie/base/BaseMapper.java
+++ b/eladmin-common/src/main/java/me/zhengjie/base/BaseMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/AsyncExecutor.java b/eladmin-common/src/main/java/me/zhengjie/config/AsyncExecutor.java
index 8e9ffe389..ee0764062 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/AsyncExecutor.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/AsyncExecutor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/AuditorConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/AuditorConfig.java
index 006ef6b92..d693c58a7 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/AuditorConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/AuditorConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/AuthorityConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/AuthorityConfig.java
index 658e62164..e4daacd67 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/AuthorityConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/AuthorityConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/CustomP6SpyLogger.java b/eladmin-common/src/main/java/me/zhengjie/config/CustomP6SpyLogger.java
index c23de95d0..08ab5cca3 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/CustomP6SpyLogger.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/CustomP6SpyLogger.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/RedisConfiguration.java b/eladmin-common/src/main/java/me/zhengjie/config/RedisConfiguration.java
index 63998e616..1f757fe40 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/RedisConfiguration.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/RedisConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/RedissonConfiguration.java b/eladmin-common/src/main/java/me/zhengjie/config/RedissonConfiguration.java
index 8bb63eda7..cd5f28851 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/RedissonConfiguration.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/RedissonConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/properties/FileProperties.java b/eladmin-common/src/main/java/me/zhengjie/config/properties/FileProperties.java
index 2891e9b44..6b7d2b6f9 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/properties/FileProperties.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/properties/FileProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/properties/RsaProperties.java b/eladmin-common/src/main/java/me/zhengjie/config/properties/RsaProperties.java
index af557e327..9eb327c51 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/properties/RsaProperties.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/properties/RsaProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/ConfigurerAdapter.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/ConfigurerAdapter.java
index e57925018..547ae7faa 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/ConfigurerAdapter.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/ConfigurerAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
index d921196a8..cef733444 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/SwaggerConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/WebSocketConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/WebSocketConfig.java
index 1a2cdd72f..4751bb1cd 100644
--- a/eladmin-common/src/main/java/me/zhengjie/config/webConfig/WebSocketConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/WebSocketConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/exception/BadRequestException.java b/eladmin-common/src/main/java/me/zhengjie/exception/BadRequestException.java
index 900453bdf..1d6297b91 100644
--- a/eladmin-common/src/main/java/me/zhengjie/exception/BadRequestException.java
+++ b/eladmin-common/src/main/java/me/zhengjie/exception/BadRequestException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/exception/EntityExistException.java b/eladmin-common/src/main/java/me/zhengjie/exception/EntityExistException.java
index 03f9bf2ae..32d0e38f7 100644
--- a/eladmin-common/src/main/java/me/zhengjie/exception/EntityExistException.java
+++ b/eladmin-common/src/main/java/me/zhengjie/exception/EntityExistException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/exception/EntityNotFoundException.java b/eladmin-common/src/main/java/me/zhengjie/exception/EntityNotFoundException.java
index bcdc95628..4d9f4d964 100644
--- a/eladmin-common/src/main/java/me/zhengjie/exception/EntityNotFoundException.java
+++ b/eladmin-common/src/main/java/me/zhengjie/exception/EntityNotFoundException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java b/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
index 9568df8ce..aa377c4f3 100644
--- a/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
+++ b/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/exception/handler/GlobalExceptionHandler.java b/eladmin-common/src/main/java/me/zhengjie/exception/handler/GlobalExceptionHandler.java
index 23cbb383f..4e4e7165a 100644
--- a/eladmin-common/src/main/java/me/zhengjie/exception/handler/GlobalExceptionHandler.java
+++ b/eladmin-common/src/main/java/me/zhengjie/exception/handler/GlobalExceptionHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/CloseUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/CloseUtil.java
index f39919f2c..b095ec63b 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/CloseUtil.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/CloseUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/ElConstant.java b/eladmin-common/src/main/java/me/zhengjie/utils/ElConstant.java
index 479b1e697..fa58845e0 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/ElConstant.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/ElConstant.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java
index 191fdbbe9..83bf918f3 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
index 1864887da..c83249446 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java
index 56020d988..cbb99e544 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java
index 587ece985..cbb8b65f8 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java
index 76fa7f40e..21480065e 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/RequestHolder.java b/eladmin-common/src/main/java/me/zhengjie/utils/RequestHolder.java
index 71a4b9e5a..8d90ac48e 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/RequestHolder.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/RequestHolder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
index f44550c8f..fb98424ac 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/SpringBeanHolder.java b/eladmin-common/src/main/java/me/zhengjie/utils/SpringBeanHolder.java
index 2ff3bf410..ca9cdfc06 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/SpringBeanHolder.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/SpringBeanHolder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
index c10d2b539..6c1893762 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/ThrowableUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/ThrowableUtil.java
index 075a65c5f..59f1d98f4 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/ThrowableUtil.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/ThrowableUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/ValidationUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/ValidationUtil.java
index e561762b9..2e82d6c4a 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/ValidationUtil.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/ValidationUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeBiEnum.java b/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeBiEnum.java
index 944bc71c1..2c6fbb6bf 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeBiEnum.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeBiEnum.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeEnum.java b/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeEnum.java
index 916862a66..3993993f1 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeEnum.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeEnum.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/enums/DataScopeEnum.java b/eladmin-common/src/main/java/me/zhengjie/utils/enums/DataScopeEnum.java
index 465eef657..08e41f66d 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/enums/DataScopeEnum.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/enums/DataScopeEnum.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/enums/RequestMethodEnum.java b/eladmin-common/src/main/java/me/zhengjie/utils/enums/RequestMethodEnum.java
index 7de5146c5..5d9448350 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/enums/RequestMethodEnum.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/enums/RequestMethodEnum.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java b/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java
index fdb962a40..ebbff39fe 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java b/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java
index a2d67063c..a6280c0eb 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java b/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java
index 1d3967b5c..b967422f1 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/repository/ColumnInfoRepository.java b/eladmin-generator/src/main/java/me/zhengjie/repository/ColumnInfoRepository.java
index 4638be261..7a174d2d2 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/repository/ColumnInfoRepository.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/repository/ColumnInfoRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/repository/GenConfigRepository.java b/eladmin-generator/src/main/java/me/zhengjie/repository/GenConfigRepository.java
index 18c9a0c88..1513c8102 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/repository/GenConfigRepository.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/repository/GenConfigRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java b/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java
index d4cbec910..85a2a4bb3 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java b/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java
index 4a1f1e4e6..68148b942 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java b/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java
index b5711f48b..175439aba 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java b/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java
index b9c2a2f5b..51a1d6b4d 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GenConfigServiceImpl.java b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GenConfigServiceImpl.java
index bc2d061d7..36478b529 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GenConfigServiceImpl.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GenConfigServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java
index 604cf2db4..3abade196 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java b/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java
index f65d06bf0..cee76364c 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java
index 8c8a95aa8..bb5a85e43 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/resources/template/admin/Controller.ftl b/eladmin-generator/src/main/resources/template/admin/Controller.ftl
index a7d6d7542..39e372f2a 100644
--- a/eladmin-generator/src/main/resources/template/admin/Controller.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/Controller.ftl
@@ -1,5 +1,5 @@
/*
-* Copyright 2019-2020 Zheng Jie
+* Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/resources/template/admin/Dto.ftl b/eladmin-generator/src/main/resources/template/admin/Dto.ftl
index ac81d9885..8df3cefc4 100644
--- a/eladmin-generator/src/main/resources/template/admin/Dto.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/Dto.ftl
@@ -1,5 +1,5 @@
/*
-* Copyright 2019-2020 Zheng Jie
+* Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/resources/template/admin/Entity.ftl b/eladmin-generator/src/main/resources/template/admin/Entity.ftl
index 2e85cea84..71e28af3c 100644
--- a/eladmin-generator/src/main/resources/template/admin/Entity.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/Entity.ftl
@@ -1,5 +1,5 @@
/*
-* Copyright 2019-2020 Zheng Jie
+* Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/resources/template/admin/Mapper.ftl b/eladmin-generator/src/main/resources/template/admin/Mapper.ftl
index 7bd67c0ad..3a29ccde7 100644
--- a/eladmin-generator/src/main/resources/template/admin/Mapper.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/Mapper.ftl
@@ -1,5 +1,5 @@
/*
-* Copyright 2019-2020 Zheng Jie
+* Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl b/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl
index b94f0f458..fd4595365 100644
--- a/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl
@@ -1,5 +1,5 @@
/*
-* Copyright 2019-2020 Zheng Jie
+* Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/resources/template/admin/Repository.ftl b/eladmin-generator/src/main/resources/template/admin/Repository.ftl
index dac1e924a..426887167 100644
--- a/eladmin-generator/src/main/resources/template/admin/Repository.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/Repository.ftl
@@ -1,5 +1,5 @@
/*
-* Copyright 2019-2020 Zheng Jie
+* Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/resources/template/admin/Service.ftl b/eladmin-generator/src/main/resources/template/admin/Service.ftl
index 9329e8b56..17f5ece92 100644
--- a/eladmin-generator/src/main/resources/template/admin/Service.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/Service.ftl
@@ -1,5 +1,5 @@
/*
-* Copyright 2019-2020 Zheng Jie
+* Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-generator/src/main/resources/template/admin/ServiceImpl.ftl b/eladmin-generator/src/main/resources/template/admin/ServiceImpl.ftl
index e79205c26..784edd6b6 100644
--- a/eladmin-generator/src/main/resources/template/admin/ServiceImpl.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/ServiceImpl.ftl
@@ -1,5 +1,5 @@
/*
-* Copyright 2019-2020 Zheng Jie
+* Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/annotation/Log.java b/eladmin-logging/src/main/java/me/zhengjie/annotation/Log.java
index 6c001cd34..590a1738d 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/annotation/Log.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/annotation/Log.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java b/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java
index 107aefc71..b5f35fdcd 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/domain/SysLog.java b/eladmin-logging/src/main/java/me/zhengjie/domain/SysLog.java
index a6b2e4738..0ad695f85 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/domain/SysLog.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/domain/SysLog.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java b/eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java
index 805f97b30..5a68c1c5d 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/repository/LogRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java b/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java
index fa173705e..59dc4f802 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java b/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java
index 80f2d1c4b..c4a873fe6 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogErrorDto.java b/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogErrorDto.java
index 1fde4fb39..72c8eb406 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogErrorDto.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogErrorDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogQueryCriteria.java b/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogQueryCriteria.java
index 0588f646b..76db0491d 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogQueryCriteria.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogSmallDto.java b/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogSmallDto.java
index d7312cd70..836aef376 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogSmallDto.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/service/dto/SysLogSmallDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java b/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java
index 95ea4a090..866c6339a 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/mapstruct/LogErrorMapper.java b/eladmin-logging/src/main/java/me/zhengjie/service/mapstruct/LogErrorMapper.java
index c777d11a5..80e5e2f15 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/service/mapstruct/LogErrorMapper.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/service/mapstruct/LogErrorMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/mapstruct/LogSmallMapper.java b/eladmin-logging/src/main/java/me/zhengjie/service/mapstruct/LogSmallMapper.java
index eeb5433a6..284970368 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/service/mapstruct/LogSmallMapper.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/service/mapstruct/LogSmallMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/AppRun.java b/eladmin-system/src/main/java/me/zhengjie/AppRun.java
index d49745423..d9ac36bf3 100644
--- a/eladmin-system/src/main/java/me/zhengjie/AppRun.java
+++ b/eladmin-system/src/main/java/me/zhengjie/AppRun.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/App.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/App.java
index 331101856..f8b01990b 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/App.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/App.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Database.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Database.java
index cf2a7889a..a6bcff96b 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Database.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Database.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Deploy.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Deploy.java
index e9c9f5426..8c2e2d71c 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Deploy.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/Deploy.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/DeployHistory.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/DeployHistory.java
index 83fb1178a..e4de70cf5 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/DeployHistory.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/DeployHistory.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/ServerDeploy.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/ServerDeploy.java
index cf86dabc7..d7dc1d0bf 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/ServerDeploy.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/domain/ServerDeploy.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/AppRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/AppRepository.java
index 008e00f44..9dda8c26b 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/AppRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/AppRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DatabaseRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DatabaseRepository.java
index 52fac4749..2872b9901 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DatabaseRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DatabaseRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployHistoryRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployHistoryRepository.java
index 097a7acc3..54d207b46 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployHistoryRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployHistoryRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployRepository.java
index f01b29a26..0adf89897 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/DeployRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/ServerDeployRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/ServerDeployRepository.java
index 9926f54d0..ae8882b9f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/ServerDeployRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/repository/ServerDeployRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/AppController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/AppController.java
index ecf04f1da..ae931a48f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/AppController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/AppController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DatabaseController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DatabaseController.java
index 7201b4447..7e93506f7 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DatabaseController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DatabaseController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployController.java
index 346e51d13..3dfe5eb44 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployHistoryController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployHistoryController.java
index 799160278..212952646 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployHistoryController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/DeployHistoryController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/ServerDeployController.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/ServerDeployController.java
index ddbe177ed..5fde7be62 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/ServerDeployController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/rest/ServerDeployController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/AppService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/AppService.java
index 8fb56051d..2134f276f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/AppService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/AppService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DatabaseService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DatabaseService.java
index 8e45afcf0..81237fc7c 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DatabaseService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DatabaseService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployHistoryService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployHistoryService.java
index fb2efdb0a..93c60ccee 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployHistoryService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployHistoryService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployService.java
index c6ef852b8..0a5fbb138 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/DeployService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/ServerDeployService.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/ServerDeployService.java
index 20590f054..512081fb8 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/ServerDeployService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/ServerDeployService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppDto.java
index dbe183546..84d2649fb 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppQueryCriteria.java
index a3db98846..6bb6aff88 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/AppQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseDto.java
index 07797413d..ddf8d3f3a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseQueryCriteria.java
index e70e5d211..680550f59 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DatabaseQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployDto.java
index b9d14c857..ef9371c1e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryDto.java
index 8cca9d4a6..ae8ee1d7e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryQueryCriteria.java
index 87846a9ac..8326c0ebb 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployHistoryQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployQueryCriteria.java
index fbbb34716..4b050fbd7 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/DeployQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployDto.java
index a94a41dd8..656191b91 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployQueryCriteria.java
index 814d3e8bd..85a2abb0e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/dto/ServerDeployQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/AppServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/AppServiceImpl.java
index 32abdcb83..d7aeb296e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/AppServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/AppServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DatabaseServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DatabaseServiceImpl.java
index 3763aa4dd..e620edb66 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DatabaseServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DatabaseServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployHistoryServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployHistoryServiceImpl.java
index b50c155a1..a206b326c 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployHistoryServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployHistoryServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployServiceImpl.java
index 03ffdd1a5..41a259884 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/DeployServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/ServerDeployServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/ServerDeployServiceImpl.java
index ee9e5e756..5075a90b7 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/ServerDeployServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/impl/ServerDeployServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/AppMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/AppMapper.java
index 31418b056..bc2e66fb3 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/AppMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/AppMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DatabaseMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DatabaseMapper.java
index e540394a8..564438e4d 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DatabaseMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DatabaseMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployHistoryMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployHistoryMapper.java
index f83f903be..5e6f6468d 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployHistoryMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployHistoryMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployMapper.java
index 543043b47..8ed5347e9 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/DeployMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/ServerDeployMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/ServerDeployMapper.java
index e5f859a3e..27d03fa10 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/ServerDeployMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/service/mapstruct/ServerDeployMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ExecuteShellUtil.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ExecuteShellUtil.java
index fbe9c9df3..35b84d2cc 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ExecuteShellUtil.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ExecuteShellUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ScpClientUtil.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ScpClientUtil.java
index 134779a18..b2ebc2af0 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ScpClientUtil.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/ScpClientUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/SqlUtils.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/SqlUtils.java
index fcc521662..84aafb79f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/SqlUtils.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/util/SqlUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/MsgType.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/MsgType.java
index 79a998d1b..368534520 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/MsgType.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/MsgType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/SocketMsg.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/SocketMsg.java
index 7e6ebc638..97fde3c6f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/SocketMsg.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/SocketMsg.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/WebSocketServer.java b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/WebSocketServer.java
index a72fcf6f6..2441707f1 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/WebSocketServer.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/maint/websocket/WebSocketServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/JobRunner.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/JobRunner.java
index a5a9c91f4..a82e978c9 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/JobRunner.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/JobRunner.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/QuartzConfig.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/QuartzConfig.java
index d542a36a7..afc9c3ce1 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/QuartzConfig.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/QuartzConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzJob.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzJob.java
index 39e11f426..2b013fa41 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzJob.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzJob.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzLog.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzLog.java
index 4de57ec16..a5697778f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzLog.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzLog.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/repository/QuartzJobRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/repository/QuartzJobRepository.java
index 79b222be5..1334b581b 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/repository/QuartzJobRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/repository/QuartzJobRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/repository/QuartzLogRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/repository/QuartzLogRepository.java
index db724aa49..9198a6425 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/repository/QuartzLogRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/repository/QuartzLogRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java
index d6d23a195..edbb6a167 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java
index 2e93c7b85..0a6a109b8 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/dto/JobQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/dto/JobQueryCriteria.java
index 6cec0f19b..8365ccd30 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/dto/JobQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/dto/JobQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java
index 9915b0dfc..b6100aa71 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/TestTask.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/TestTask.java
index 4cf343429..f84ff8207 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/TestTask.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/TestTask.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
index 579d61d50..a2c38c2c7 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzManage.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzManage.java
index 4dbac76b0..e46206252 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzManage.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzManage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
index c75925e65..a8f708dc3 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityProperties.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityProperties.java
index ac0dd501b..53e945283 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityProperties.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SecurityProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java
index 535b245af..1aaeacc41 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java
index de3cb9b69..5665646fd 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java
index 2e46859d7..9f767f673 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java
index 6d0547332..31165f78d 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java
index dba0963a7..f6884f4e1 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java
index 40f64cb6c..da4369047 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java
index 9face7c56..c2829b2a9 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java
index ad7f11483..812f57ac2 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java
index 18096fb4f..c27a554c1 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java
index ef0e8ec2f..51b335374 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java
index 7aa0ba2b0..75d1ce21c 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthUserDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthUserDto.java
index 5219fc53e..6f5d05539 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthUserDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthUserDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthorityDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthorityDto.java
index 888cceb69..81f50fbaa 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthorityDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthorityDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java
index cf25c8aa7..4c7c88e65 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/OnlineUserDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/OnlineUserDto.java
index 290ab6d63..a7d037511 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/OnlineUserDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/OnlineUserDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dept.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dept.java
index 9f28af214..3130f19fd 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dept.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dept.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dict.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dict.java
index 689cf2e38..859daf781 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dict.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dict.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/DictDetail.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/DictDetail.java
index 554dde611..5287c960a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/DictDetail.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/DictDetail.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Job.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Job.java
index f2d358a63..343411cb4 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Job.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Job.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java
index b2ea225d0..0e6496704 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Role.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Role.java
index d33d75c1c..127a758df 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Role.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Role.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/User.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/User.java
index b4d11bda0..7e9b0aa66 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/User.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/User.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuMetaVo.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuMetaVo.java
index 647baa889..6751e122c 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuMetaVo.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuMetaVo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java
index e1efa5a83..40147aa03 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/UserPassVo.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/UserPassVo.java
index fccb100f6..fa90914cb 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/UserPassVo.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/UserPassVo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DeptRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DeptRepository.java
index 985832249..fa9ed98cc 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DeptRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DeptRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DictDetailRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DictDetailRepository.java
index d80b9702d..4b73eb7bf 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DictDetailRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DictDetailRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DictRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DictRepository.java
index f09b6d1b5..6622b428a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DictRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/DictRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/JobRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/JobRepository.java
index e39ebf00a..3454efcb8 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/JobRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/JobRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/MenuRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/MenuRepository.java
index 75fd7ff5c..56a84cdd5 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/MenuRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/MenuRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/RoleRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/RoleRepository.java
index 8e76cc553..7e3793296 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/RoleRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/RoleRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java
index f7583b04d..979f0f319 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java
index ebeb260e8..6cd96b395 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java
index 6161f5446..85faf15ac 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java
index 3cea7a1b9..a53fdf01e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java
index fa10176e0..729bfc45e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/LimitController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/LimitController.java
index 02db642ec..aa26d8c23 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/LimitController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/LimitController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java
index 18084f166..786f5f312 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MonitorController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MonitorController.java
index bb0e39b45..b360f9fad 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MonitorController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MonitorController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java
index 698843220..91a087e4f 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
index 1894238dd..4b76782e6 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/VerifyController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/VerifyController.java
index 09ba44b04..b66da8492 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/VerifyController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/VerifyController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DataService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DataService.java
index 10258d99d..77c7cd89a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DataService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DataService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java
index 902f6034f..fdfe8da4e 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java
index 7e2efb7f7..ecbaa9184 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java
index 05077b7e6..83569f9cf 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java
index dab9f586b..5543ede69 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java
index 1116d10af..894849de2 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MonitorService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MonitorService.java
index 478225aea..f7e34ad96 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MonitorService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MonitorService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
index 9901cd752..8fc1be999 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java
index a3cc4f248..7ab5d41d8 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/VerifyService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/VerifyService.java
index 4ca39b9db..cc4a6b5ea 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/VerifyService.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/VerifyService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptDto.java
index bc236a113..17b70e406 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptQueryCriteria.java
index 4d8cdf2a3..bc070df87 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptSmallDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptSmallDto.java
index 4dc64e581..2a62266bb 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptSmallDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptSmallDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDto.java
index a4b931b69..646cb0e80 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailQueryCriteria.java
index 91a01b1d4..9fc90f780 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDto.java
index 048b4a194..3e4e26362 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictQueryCriteria.java
index 7207c6169..b3972d2e2 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictSmallDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictSmallDto.java
index 98fc6eeb7..8e3e1a646 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictSmallDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictSmallDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobDto.java
index 8836d550f..47a2bdf44 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobQueryCriteria.java
index ee851dc62..4a98146ef 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobSmallDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobSmallDto.java
index 09cfa624b..5f9532a81 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobSmallDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobSmallDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuDto.java
index d60dd2903..f8baea189 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuQueryCriteria.java
index bd43e8db9..1869c2156 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleDto.java
index fc74d84b7..85a165420 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleQueryCriteria.java
index 5454fc44b..44a30ffca 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleSmallDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleSmallDto.java
index 99215e633..1fddf74ac 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleSmallDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleSmallDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserDto.java
index 923e2d427..ad37234cf 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserLoginDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserLoginDto.java
index e5b101f05..dce8f9a83 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserLoginDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserLoginDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserQueryCriteria.java
index ad8e77553..ee62949a2 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserQueryCriteria.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java
index 336a9be0b..57ddefdf3 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java
index 89233a2b9..d15e1a2da 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java
index 51ef1114c..7044585c1 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java
index 3beb828b9..6ec087136 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java
index 7c72fe627..20cdb7dbe 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java
index 2ad44d10d..b23bf58fa 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MonitorServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MonitorServiceImpl.java
index 4868bab62..803e87d8a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MonitorServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MonitorServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
index a429cc3bd..39a42aeb6 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
index d8c831777..57df17d33 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java
index e58b3eaca..ead7ba5a2 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DeptMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DeptMapper.java
index b0fb9049f..21c197632 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DeptMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DeptMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DeptSmallMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DeptSmallMapper.java
index 75076001f..5b3ba63a6 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DeptSmallMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DeptSmallMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictDetailMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictDetailMapper.java
index 3f9fe84ea..52b4020e6 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictDetailMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictDetailMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictMapper.java
index 1047b3bb7..58818acdc 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictSmallMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictSmallMapper.java
index 80ccc4e3a..a9707c595 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictSmallMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/DictSmallMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/JobMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/JobMapper.java
index 377193027..1012ab6a3 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/JobMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/JobMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/JobSmallMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/JobSmallMapper.java
index 36a59cf36..b5ad149e7 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/JobSmallMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/JobSmallMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/MenuMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/MenuMapper.java
index 6d8bffaba..666cd6fdf 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/MenuMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/MenuMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/RoleMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/RoleMapper.java
index 5dc551df6..fdabbe8cd 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/RoleMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/RoleMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/RoleSmallMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/RoleSmallMapper.java
index db034b5c3..dd8e95860 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/RoleSmallMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/RoleSmallMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/UserLoginMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/UserLoginMapper.java
index fbb881397..19b77282a 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/UserLoginMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/UserLoginMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/UserMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/UserMapper.java
index 510c21b4f..9f40d60ab 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/UserMapper.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapstruct/UserMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/config/MultipartConfig.java b/eladmin-tools/src/main/java/me/zhengjie/config/MultipartConfig.java
index cf04de5c9..56a3d3811 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/config/MultipartConfig.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/config/MultipartConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/domain/AlipayConfig.java b/eladmin-tools/src/main/java/me/zhengjie/domain/AlipayConfig.java
index def695d99..deabb360d 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/domain/AlipayConfig.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/AlipayConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/domain/EmailConfig.java b/eladmin-tools/src/main/java/me/zhengjie/domain/EmailConfig.java
index b4fc1e6d1..3f8bd18b4 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/domain/EmailConfig.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/EmailConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/domain/LocalStorage.java b/eladmin-tools/src/main/java/me/zhengjie/domain/LocalStorage.java
index 59fd0ab85..51d5cf6c9 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/domain/LocalStorage.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/LocalStorage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuConfig.java b/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuConfig.java
index 0247e6737..f9140b1d6 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuConfig.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuContent.java b/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuContent.java
index db69a6a6a..b7511db06 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuContent.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuContent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/domain/enums/AliPayStatusEnum.java b/eladmin-tools/src/main/java/me/zhengjie/domain/enums/AliPayStatusEnum.java
index 5f5b042df..23870f89e 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/domain/enums/AliPayStatusEnum.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/enums/AliPayStatusEnum.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/domain/vo/EmailVo.java b/eladmin-tools/src/main/java/me/zhengjie/domain/vo/EmailVo.java
index 1fb759f5c..1715d3966 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/domain/vo/EmailVo.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/vo/EmailVo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/domain/vo/TradeVo.java b/eladmin-tools/src/main/java/me/zhengjie/domain/vo/TradeVo.java
index 01c1c2fdd..b4f977488 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/domain/vo/TradeVo.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/domain/vo/TradeVo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/repository/AliPayRepository.java b/eladmin-tools/src/main/java/me/zhengjie/repository/AliPayRepository.java
index 61183b43d..4d8e36f4c 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/repository/AliPayRepository.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/repository/AliPayRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/repository/EmailRepository.java b/eladmin-tools/src/main/java/me/zhengjie/repository/EmailRepository.java
index 7765602c2..ba8d1da2e 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/repository/EmailRepository.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/repository/EmailRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/repository/LocalStorageRepository.java b/eladmin-tools/src/main/java/me/zhengjie/repository/LocalStorageRepository.java
index 8c1e85af0..8978b4fba 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/repository/LocalStorageRepository.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/repository/LocalStorageRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/repository/QiNiuConfigRepository.java b/eladmin-tools/src/main/java/me/zhengjie/repository/QiNiuConfigRepository.java
index 9379f55b3..494b378a0 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/repository/QiNiuConfigRepository.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/repository/QiNiuConfigRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/repository/QiniuContentRepository.java b/eladmin-tools/src/main/java/me/zhengjie/repository/QiniuContentRepository.java
index 55f813f5c..10b0e157a 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/repository/QiniuContentRepository.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/repository/QiniuContentRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java
index fe70b04ab..7a065f191 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java
index eb7832c8b..9ce5258c0 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java
index 2b61260de..beb0ec3c0 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java
index 2988c7264..f17ce3bbf 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java b/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java
index be19c9055..51e8951c9 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java b/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java
index d62cadc24..d055eed08 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java b/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java
index 71c57d27d..8b7e95cf0 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java b/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
index 5321208ec..b75a5aa16 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageDto.java b/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageDto.java
index 14221c2a2..830ab66cc 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageDto.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageDto.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java b/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java
index bea1cc7c2..e9302c553 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java b/eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java
index e7d4f1b1c..899d1bb1f 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java b/eladmin-tools/src/main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java
index f5c2240b8..0a758ad2c 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java
index c539bec46..d065d508a 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
index a2488d059..2403877c5 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java
index b1fbf5f17..5ef939d34 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java
index fe622245b..01229feb0 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/mapstruct/LocalStorageMapper.java b/eladmin-tools/src/main/java/me/zhengjie/service/mapstruct/LocalStorageMapper.java
index 4c6d9555d..0d54c53ec 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/mapstruct/LocalStorageMapper.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/mapstruct/LocalStorageMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/utils/AlipayUtils.java b/eladmin-tools/src/main/java/me/zhengjie/utils/AlipayUtils.java
index 203f7db70..1ae60382d 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/utils/AlipayUtils.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/utils/AlipayUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/eladmin-tools/src/main/java/me/zhengjie/utils/QiNiuUtil.java b/eladmin-tools/src/main/java/me/zhengjie/utils/QiNiuUtil.java
index 8091a95d5..9d9ed8958 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/utils/QiNiuUtil.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/utils/QiNiuUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2020 Zheng Jie
+ * Copyright 2019-2025 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
From 4061a0785045644d3354cd872dc28d4dbcca64ad Mon Sep 17 00:00:00 2001
From: Jie Zheng <201507802@qq.com>
Date: Wed, 15 Jan 2025 16:44:28 +0800
Subject: [PATCH 26/54] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E6=A8=A1=E6=9D=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../resources/template/admin/Controller.ftl | 6 ++--
.../main/resources/template/admin/Entity.ftl | 19 ++++++++++++
.../template/admin/QueryCriteria.ftl | 30 +++++++++++++++++++
.../system/service/impl/UserServiceImpl.java | 2 +-
4 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/eladmin-generator/src/main/resources/template/admin/Controller.ftl b/eladmin-generator/src/main/resources/template/admin/Controller.ftl
index 39e372f2a..215fc953f 100644
--- a/eladmin-generator/src/main/resources/template/admin/Controller.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/Controller.ftl
@@ -39,13 +39,12 @@ import ${package}.service.dto.${className}Dto;
**/
@RestController
@RequiredArgsConstructor
-@Api(tags = "${apiAlias}管理")
+@Api(tags = "${apiAlias}")
@RequestMapping("/api/${changeClassName}")
public class ${className}Controller {
private final ${className}Service ${changeClassName}Service;
- @Log("导出数据")
@ApiOperation("导出数据")
@GetMapping(value = "/download")
@PreAuthorize("@el.check('${changeClassName}:list')")
@@ -54,7 +53,6 @@ public class ${className}Controller {
}
@GetMapping
- @Log("查询${apiAlias}")
@ApiOperation("查询${apiAlias}")
@PreAuthorize("@el.check('${changeClassName}:list')")
public ResponseEntity> query${className}(${className}QueryCriteria criteria, Pageable pageable){
@@ -83,7 +81,7 @@ public class ${className}Controller {
@Log("删除${apiAlias}")
@ApiOperation("删除${apiAlias}")
@PreAuthorize("@el.check('${changeClassName}:del')")
- public ResponseEntity delete${className}(@RequestBody ${pkColumnType}[] ids) {
+ public ResponseEntity delete${className}(@ApiParam(value = "传ID数组[]") @RequestBody ${pkColumnType}[] ids) {
${changeClassName}Service.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
diff --git a/eladmin-generator/src/main/resources/template/admin/Entity.ftl b/eladmin-generator/src/main/resources/template/admin/Entity.ftl
index 71e28af3c..0945eef3b 100644
--- a/eladmin-generator/src/main/resources/template/admin/Entity.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/Entity.ftl
@@ -34,6 +34,25 @@ import java.sql.Timestamp;
<#if hasBigDecimal>
import java.math.BigDecimal;
#if>
+<#assign notBlankUsed = false>
+<#assign notNullUsed = false>
+<#if columns??>
+ <#list columns as column>
+ <#if column.istNotNull && column.columnKey != 'PRI'>
+ <#if column.columnType = 'String'>
+ <#assign notBlankUsed = true>
+ <#else>
+ <#assign notNullUsed = true>
+ #if>
+ #if>
+ #list>
+#if>
+<#if notBlankUsed>
+import javax.validation.constraints.NotBlank;
+#if>
+<#if notNullUsed>
+import javax.validation.constraints.NotNull;
+#if>
import java.io.Serializable;
/**
diff --git a/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl b/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl
index fd4595365..541d642e9 100644
--- a/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl
+++ b/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl
@@ -42,31 +42,61 @@ public class ${className}QueryCriteria{
<#if column.queryType = '='>
/** 精确 */
@Query
+ <#if column.remark != ''>
+ @ApiModelProperty(value = "${column.remark}")
+ <#else>
+ @ApiModelProperty(value = "${column.changeColumnName}")
+ #if>
private ${column.columnType} ${column.changeColumnName};
#if>
<#if column.queryType = 'Like'>
/** 模糊 */
@Query(type = Query.Type.INNER_LIKE)
+ <#if column.remark != ''>
+ @ApiModelProperty(value = "${column.remark}")
+ <#else>
+ @ApiModelProperty(value = "${column.changeColumnName}")
+ #if>
private ${column.columnType} ${column.changeColumnName};
#if>
<#if column.queryType = '!='>
/** 不等于 */
@Query(type = Query.Type.NOT_EQUAL)
+ <#if column.remark != ''>
+ @ApiModelProperty(value = "${column.remark}")
+ <#else>
+ @ApiModelProperty(value = "${column.changeColumnName}")
+ #if>
private ${column.columnType} ${column.changeColumnName};
#if>
<#if column.queryType = 'NotNull'>
/** 不为空 */
@Query(type = Query.Type.NOT_NULL)
+ <#if column.remark != ''>
+ @ApiModelProperty(value = "${column.remark}")
+ <#else>
+ @ApiModelProperty(value = "${column.changeColumnName}")
+ #if>
private ${column.columnType} ${column.changeColumnName};
#if>
<#if column.queryType = '>='>
/** 大于等于 */
@Query(type = Query.Type.GREATER_THAN)
+ <#if column.remark != ''>
+ @ApiModelProperty(value = "${column.remark}")
+ <#else>
+ @ApiModelProperty(value = "${column.changeColumnName}")
+ #if>
private ${column.columnType} ${column.changeColumnName};
#if>
<#if column.queryType = '<='>
/** 小于等于 */
@Query(type = Query.Type.LESS_THAN)
+ <#if column.remark != ''>
+ @ApiModelProperty(value = "${column.remark}")
+ <#else>
+ @ApiModelProperty(value = "${column.changeColumnName}")
+ #if>
private ${column.columnType} ${column.changeColumnName};
#if>
#list>
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
index 57df17d33..2b2860676 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
@@ -183,7 +183,7 @@ public UserDto findByName(String userName) {
public UserLoginDto getLoginData(String userName) {
User user = userRepository.findByUsername(userName);
if (user == null) {
- throw new EntityNotFoundException(User.class, "name", userName);
+ return null;
} else {
return userLoginMapper.toDto(user);
}
From 311396f86cd8ac9f64afb8354ce5a8c75c7c5ec6 Mon Sep 17 00:00:00 2001
From: Jie Zheng <201507802@qq.com>
Date: Wed, 15 Jan 2025 18:14:14 +0800
Subject: [PATCH 27/54] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=E5=86=97?=
=?UTF-8?q?=E4=BD=99=E7=B1=BB=EF=BC=8C=E4=BC=98=E5=8C=96DTO=E5=92=8C?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=B3=A8=E8=A7=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/me/zhengjie/base/BaseDTO.java | 9 ++
.../java/me/zhengjie/base/BaseEntity.java | 7 +-
.../config/webConfig}/MultipartConfig.java | 4 +-
.../exception/BadConfigurationException.java | 98 -------------------
.../java/me/zhengjie/domain/vo/TableInfo.java | 15 +--
.../me/zhengjie/service/GeneratorService.java | 1 -
.../src/main/resources/template/admin/Dto.ftl | 5 +-
.../template/admin/QueryCriteria.ftl | 1 +
.../main/java/me/zhengjie/domain/SysLog.java | 25 +++--
.../zhengjie/service/dto/SysLogErrorDto.java | 10 ++
.../service/dto/SysLogQueryCriteria.java | 5 +
.../zhengjie/service/dto/SysLogSmallDto.java | 7 ++
.../modules/maint/domain/Database.java | 10 +-
.../{util => domain/enums}/DataTypeEnum.java | 2 +-
.../modules/maint/service/dto/AppDto.java | 34 ++-----
.../maint/service/dto/AppQueryCriteria.java | 6 +-
.../maint/service/dto/DatabaseDto.java | 21 ++--
.../service/dto/DatabaseQueryCriteria.java | 10 +-
.../modules/maint/service/dto/DeployDto.java | 15 ++-
.../maint/service/dto/DeployHistoryDto.java | 25 ++---
.../dto/DeployHistoryQueryCriteria.java | 7 +-
.../service/dto/DeployQueryCriteria.java | 6 +-
.../maint/service/dto/ServerDeployDto.java | 7 ++
.../dto/ServerDeployQueryCriteria.java | 6 +-
.../modules/maint/util/ExecuteShellUtil.java | 5 +-
.../modules/maint/util/ScpClientUtil.java | 25 +++--
.../zhengjie/modules/maint/util/SqlUtils.java | 66 +++++++------
.../quartz/service/dto/JobQueryCriteria.java | 4 +
.../service/impl/QuartzJobServiceImpl.java | 2 -
.../modules/quartz/task/TestTask.java | 2 +-
.../modules/quartz/utils/ExecutionJob.java | 12 +--
.../security/config/enums/LoginCodeEnum.java | 7 +-
.../security/service/dto/AuthUserDto.java | 5 +
.../security/service/dto/AuthorityDto.java | 2 +
.../security/service/dto/JwtUserDto.java | 3 +
.../security/service/dto/OnlineUserDto.java | 35 ++-----
.../modules/system/domain/vo/MenuMetaVo.java | 4 +
.../modules/system/domain/vo/MenuVo.java | 9 ++
.../modules/system/domain/vo/UserPassVo.java | 3 +
.../modules/system/service/dto/DeptDto.java | 11 +++
.../system/service/dto/DeptQueryCriteria.java | 6 ++
.../system/service/dto/DeptSmallDto.java | 3 +
.../system/service/dto/DictDetailDto.java | 6 ++
.../service/dto/DictDetailQueryCriteria.java | 3 +
.../modules/system/service/dto/DictDto.java | 5 +
.../system/service/dto/DictQueryCriteria.java | 2 +
.../system/service/dto/DictSmallDto.java | 2 +
.../modules/system/service/dto/JobDto.java | 5 +
.../system/service/dto/JobQueryCriteria.java | 4 +
.../system/service/dto/JobSmallDto.java | 3 +
.../modules/system/service/dto/MenuDto.java | 19 ++++
.../system/service/dto/MenuQueryCriteria.java | 5 +
.../modules/system/service/dto/RoleDto.java | 8 ++
.../system/service/dto/RoleQueryCriteria.java | 3 +
.../system/service/dto/RoleSmallDto.java | 5 +
.../modules/system/service/dto/UserDto.java | 17 ++++
.../system/service/dto/UserLoginDto.java | 3 +
.../system/service/dto/UserQueryCriteria.java | 7 ++
.../system/service/impl/DataServiceImpl.java | 3 +-
.../service/impl/MonitorServiceImpl.java | 4 +-
.../java/me/zhengjie/domain/vo/EmailVo.java | 5 +-
.../java/me/zhengjie/domain/vo/TradeVo.java | 21 ++--
.../repository/QiNiuConfigRepository.java | 2 +-
.../zhengjie/service/LocalStorageService.java | 2 +-
.../zhengjie/service/dto/LocalStorageDto.java | 7 ++
.../dto/LocalStorageQueryCriteria.java | 3 +
.../service/dto/PictureQueryCriteria.java | 40 --------
.../service/dto/QiniuQueryCriteria.java | 3 +
68 files changed, 371 insertions(+), 356 deletions(-)
rename {eladmin-tools/src/main/java/me/zhengjie/config => eladmin-common/src/main/java/me/zhengjie/config/webConfig}/MultipartConfig.java (91%)
delete mode 100644 eladmin-common/src/main/java/me/zhengjie/exception/BadConfigurationException.java
rename eladmin-system/src/main/java/me/zhengjie/modules/maint/{util => domain/enums}/DataTypeEnum.java (98%)
delete mode 100644 eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java
diff --git a/eladmin-common/src/main/java/me/zhengjie/base/BaseDTO.java b/eladmin-common/src/main/java/me/zhengjie/base/BaseDTO.java
index e9e7cc238..84dad94d1 100644
--- a/eladmin-common/src/main/java/me/zhengjie/base/BaseDTO.java
+++ b/eladmin-common/src/main/java/me/zhengjie/base/BaseDTO.java
@@ -1,5 +1,7 @@
package me.zhengjie.base;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -15,14 +17,21 @@
@Setter
public class BaseDTO implements Serializable {
+ @ApiModelProperty(value = "创建人")
private String createBy;
+ @ApiModelProperty(value = "修改人")
private String updateBy;
+ @ApiModelProperty(value = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true)
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
+ @ApiModelProperty(value = "更新时间: yyyy-MM-dd HH:mm:ss", hidden = true)
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp updateTime;
+
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this);
diff --git a/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java b/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java
index 2ecc43039..a774e0362 100644
--- a/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java
+++ b/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java
@@ -15,6 +15,7 @@
*/
package me.zhengjie.base;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@@ -54,12 +55,14 @@ public class BaseEntity implements Serializable {
@CreationTimestamp
@Column(name = "create_time", updatable = false)
- @ApiModelProperty(value = "创建时间", hidden = true)
+ @ApiModelProperty(value = "创建时间: yyyy-MM-dd HH:mm:ss", hidden = true)
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@UpdateTimestamp
@Column(name = "update_time")
- @ApiModelProperty(value = "更新时间", hidden = true)
+ @ApiModelProperty(value = "更新时间: yyyy-MM-dd HH:mm:ss", hidden = true)
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp updateTime;
/* 分组校验 */
diff --git a/eladmin-tools/src/main/java/me/zhengjie/config/MultipartConfig.java b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/MultipartConfig.java
similarity index 91%
rename from eladmin-tools/src/main/java/me/zhengjie/config/MultipartConfig.java
rename to eladmin-common/src/main/java/me/zhengjie/config/webConfig/MultipartConfig.java
index 56a3d3811..acd59601c 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/config/MultipartConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/config/webConfig/MultipartConfig.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package me.zhengjie.config;
+package me.zhengjie.config.webConfig;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
@@ -23,7 +23,7 @@
/**
* @date 2018-12-28
- * @author https://blog.csdn.net/llibin1024530411/article/details/79474953
+ * @author ...
*/
@Configuration
public class MultipartConfig {
diff --git a/eladmin-common/src/main/java/me/zhengjie/exception/BadConfigurationException.java b/eladmin-common/src/main/java/me/zhengjie/exception/BadConfigurationException.java
deleted file mode 100644
index ede3691f2..000000000
--- a/eladmin-common/src/main/java/me/zhengjie/exception/BadConfigurationException.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2019-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package me.zhengjie.exception;
-
-/**
- * 统一关于错误配置信息 异常
- *
- * @author: liaojinlong
- * @date: 2020/6/10 18:06
- */
-public class BadConfigurationException extends RuntimeException {
- /**
- * Constructs a new runtime exception with {@code null} as its
- * detail message. The cause is not initialized, and may subsequently be
- * initialized by a call to {@link #initCause}.
- */
- public BadConfigurationException() {
- super();
- }
-
- /**
- * Constructs a new runtime exception with the specified detail message.
- * The cause is not initialized, and may subsequently be initialized by a
- * call to {@link #initCause}.
- *
- * @param message the detail message. The detail message is saved for
- * later retrieval by the {@link #getMessage()} method.
- */
- public BadConfigurationException(String message) {
- super(message);
- }
-
- /**
- * Constructs a new runtime exception with the specified detail message and
- * cause.