diff --git a/pom.xml b/pom.xml
index c84dc05d7..763441c2a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,18 +155,21 @@
import
+
org.springdoc
springdoc-openapi-starter-webmvc-api
${springdoc.version}
+
com.github.therapi
therapi-runtime-javadoc
${therapi-javadoc.version}
+
org.projectlombok
lombok
@@ -194,30 +197,35 @@
${dynamic-ds.version}
+
org.mybatis
mybatis
${mybatis.version}
+
com.baomidou
mybatis-plus-spring-boot4-starter
${mybatis-plus.version}
+
com.baomidou
mybatis-plus-jsqlparser
${mybatis-plus.version}
+
com.baomidou
mybatis-plus-annotation
${mybatis-plus.version}
+
com.github.yulichang
mybatis-plus-join-boot-starter
@@ -256,11 +264,13 @@
${sms4j.version}
+
de.codecentric
spring-boot-admin-starter-server
${spring-boot-admin.version}
+
de.codecentric
spring-boot-admin-starter-client
@@ -274,6 +284,7 @@
${redisson.version}
+
com.baomidou
lock4j-redisson-spring-boot-starter
@@ -286,23 +297,27 @@
snail-job-client-starter
${snailjob.version}
+
com.aizuda
snail-job-client-retry-core
${snailjob.version}
+
com.aizuda
snail-job-client-job-core
${snailjob.version}
+
com.aizuda
snail-ai-agent-starter
${snailai.version}
+
com.aizuda
snail-ai-openapi-starter
@@ -316,6 +331,7 @@
${bouncycastle.version}
+
io.github.linpeilie
mapstruct-plus-spring-boot-starter
@@ -328,30 +344,35 @@
warm-flow-mybatis-plus-sb3-starter
${warm-flow.version}
+
org.dromara.warm
warm-flow-plugin-ui-sb-web
${warm-flow.version}
+
org.dromara.mica-mqtt
mica-mqtt-client-spring-boot-starter
${mica-mqtt.version}
+
org.dromara.easy-es
easy-es-boot-starter
${easy-es.version}
+
co.elastic.clients
elasticsearch-java
${elasticsearch-client.version}
+
org.elasticsearch.client
elasticsearch-rest-client
@@ -372,36 +393,42 @@
${ip2region.version}
+
com.alibaba
fastjson
${fastjson.version}
+
org.dromara
ruoyi-system
${revision}
+
org.dromara
ruoyi-job
${revision}
+
org.dromara
ruoyi-ai
${revision}
+
org.dromara
ruoyi-gen
${revision}
+
org.dromara
ruoyi-demo
@@ -426,10 +453,15 @@
+
ruoyi-admin
+
ruoyi-common
+
ruoyi-extend
+
ruoyi-modules
+
ruoyi-api
pom
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 0a26a3aaa..acc0ea544 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -50,36 +50,43 @@
ruoyi-common-doc
+
org.dromara
ruoyi-common-social
+
org.dromara
ruoyi-common-mail
+
org.dromara
ruoyi-common-mcp
+
org.dromara
ruoyi-api
+
org.dromara
ruoyi-system
+
org.dromara
ruoyi-job
+
org.dromara
ruoyi-ai
@@ -97,11 +104,13 @@
ruoyi-workflow
+
de.codecentric
spring-boot-admin-starter-client
+
org.springframework.boot
spring-boot-starter-test
diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml
index 876de8831..04ca41714 100644
--- a/ruoyi-api/pom.xml
+++ b/ruoyi-api/pom.xml
@@ -16,6 +16,7 @@
+
org.dromara
ruoyi-common-core
diff --git a/ruoyi-api/src/main/java/org/dromara/system/api/domain/PushPayloadDTO.java b/ruoyi-api/src/main/java/org/dromara/system/api/domain/PushPayloadDTO.java
index dca62d17e..a405d93e9 100644
--- a/ruoyi-api/src/main/java/org/dromara/system/api/domain/PushPayloadDTO.java
+++ b/ruoyi-api/src/main/java/org/dromara/system/api/domain/PushPayloadDTO.java
@@ -54,6 +54,15 @@ public class PushPayloadDTO implements Serializable {
*/
private Long timestamp;
+ /**
+ * 构建推送消息体,缺省消息类型与来源时使用系统默认值。
+ *
+ * @param type 消息类型
+ * @param source 消息来源
+ * @param message 文本消息
+ * @param data 扩展数据
+ * @return 推送消息体
+ */
public static PushPayloadDTO of(String type, String source, String message, Object data) {
PushPayloadDTO payload = new PushPayloadDTO();
payload.setType(StringUtils.defaultIfBlank(type, PushTypeEnum.MESSAGE.getType()));
@@ -64,6 +73,15 @@ public class PushPayloadDTO implements Serializable {
return payload;
}
+ /**
+ * 通过枚举值构建推送消息体。
+ *
+ * @param type 消息类型枚举
+ * @param source 消息来源枚举
+ * @param message 文本消息
+ * @param data 扩展数据
+ * @return 推送消息体
+ */
public static PushPayloadDTO of(PushTypeEnum type, PushSourceEnum source, String message, Object data) {
return of(
type == null ? null : type.getType(),
@@ -73,6 +91,16 @@ public class PushPayloadDTO implements Serializable {
);
}
+ /**
+ * 构建带前端跳转路径的推送消息体。
+ *
+ * @param type 消息类型枚举
+ * @param source 消息来源枚举
+ * @param message 文本消息
+ * @param data 扩展数据
+ * @param path 前端跳转路径
+ * @return 推送消息体
+ */
public static PushPayloadDTO of(PushTypeEnum type, PushSourceEnum source, String message, Object data, String path) {
PushPayloadDTO payload = of(type, source, message, data);
payload.setPath(path);
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 2d1faa988..86e7947c5 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -16,29 +16,53 @@
+
ruoyi-common-bom
+
ruoyi-common-social
+
ruoyi-common-core
+
ruoyi-common-doc
+
ruoyi-common-excel
+
ruoyi-common-job
+
ruoyi-common-log
+
ruoyi-common-mail
+
ruoyi-common-mybatis
+
ruoyi-common-oss
+
ruoyi-common-redis
+
ruoyi-common-satoken
+
ruoyi-common-security
+
ruoyi-common-sms
+
ruoyi-common-elasticsearch
+
ruoyi-common-web
+
ruoyi-common-translation
+
ruoyi-common-sensitive
+
ruoyi-common-json
+
ruoyi-common-encrypt
+
ruoyi-common-push
+
ruoyi-common-mqtt
+
ruoyi-common-ai
+
ruoyi-common-mcp
diff --git a/ruoyi-common/ruoyi-common-ai/pom.xml b/ruoyi-common/ruoyi-common-ai/pom.xml
index 34f028163..0d3b4852b 100644
--- a/ruoyi-common/ruoyi-common-ai/pom.xml
+++ b/ruoyi-common/ruoyi-common-ai/pom.xml
@@ -17,16 +17,19 @@
+
org.dromara
ruoyi-common-core
+
com.aizuda
snail-ai-agent-starter
+
com.aizuda
snail-ai-openapi-starter
diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml
index bac27af57..f51c84ca8 100644
--- a/ruoyi-common/ruoyi-common-core/pom.xml
+++ b/ruoyi-common/ruoyi-common-core/pom.xml
@@ -34,6 +34,7 @@
spring-boot-starter-validation
+
org.springframework.boot
spring-boot-starter-aspectj
@@ -51,21 +52,25 @@
jakarta.servlet-api
+
cn.hutool
hutool-core
+
cn.hutool
hutool-http
+
cn.hutool
hutool-extra
+
org.projectlombok
lombok
@@ -77,12 +82,14 @@
spring-boot-configuration-processor
+
org.springframework.boot
spring-boot-properties-migrator
runtime
+
io.github.linpeilie
mapstruct-plus-spring-boot-starter
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/dicts/DictPattern.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/dicts/DictPattern.java
index 0176106e4..38aa462a2 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/dicts/DictPattern.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/dicts/DictPattern.java
@@ -33,8 +33,14 @@ public @interface DictPattern {
*/
String message() default "字典值无效";
+ /**
+ * Bean Validation 分组。
+ */
Class>[] groups() default {};
+ /**
+ * Bean Validation 负载信息。
+ */
Class extends Payload>[] payload() default {};
}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/enums/EnumPattern.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/enums/EnumPattern.java
index b2cdd6098..552682df9 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/enums/EnumPattern.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/enums/EnumPattern.java
@@ -32,16 +32,32 @@ public @interface EnumPattern {
*/
String fieldName();
+ /**
+ * 校验失败时返回的错误消息。
+ */
String message() default "输入值不在枚举范围内";
+ /**
+ * Bean Validation 分组。
+ */
Class>[] groups() default {};
+ /**
+ * Bean Validation 负载信息。
+ */
Class extends Payload>[] payload() default {};
+ /**
+ * 支持在同一元素上重复声明多个枚举校验规则。
+ */
@Documented
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
@Retention(RUNTIME)
@interface List {
+
+ /**
+ * 重复声明的枚举校验规则集合。
+ */
EnumPattern[] value();
}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java
index eed495f45..d2516c155 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java
@@ -17,10 +17,19 @@ import java.lang.annotation.Target;
@Constraint(validatedBy = {XssValidator.class})
public @interface Xss {
+ /**
+ * 校验失败时返回的错误消息。
+ */
String message() default "不允许任何脚本运行";
+ /**
+ * Bean Validation 分组。
+ */
Class>[] groups() default {};
+ /**
+ * Bean Validation 负载信息。
+ */
Class extends Payload>[] payload() default {};
}
diff --git a/ruoyi-common/ruoyi-common-doc/pom.xml b/ruoyi-common/ruoyi-common-doc/pom.xml
index 06027ead8..36ff8d1dc 100644
--- a/ruoyi-common/ruoyi-common-doc/pom.xml
+++ b/ruoyi-common/ruoyi-common-doc/pom.xml
@@ -16,26 +16,31 @@
+
org.dromara
ruoyi-common-core
+
org.springframework.boot
spring-boot-web-server
+
org.springdoc
springdoc-openapi-starter-webmvc-api
+
com.github.therapi
therapi-runtime-javadoc
+
com.fasterxml.jackson.module
jackson-module-kotlin
diff --git a/ruoyi-common/ruoyi-common-elasticsearch/pom.xml b/ruoyi-common/ruoyi-common-elasticsearch/pom.xml
index a7332817d..5df238cbe 100644
--- a/ruoyi-common/ruoyi-common-elasticsearch/pom.xml
+++ b/ruoyi-common/ruoyi-common-elasticsearch/pom.xml
@@ -16,6 +16,7 @@
+
org.dromara.easy-es
easy-es-boot-starter
diff --git a/ruoyi-common/ruoyi-common-encrypt/pom.xml b/ruoyi-common/ruoyi-common-encrypt/pom.xml
index ff9722f7d..090c66bc5 100644
--- a/ruoyi-common/ruoyi-common-encrypt/pom.xml
+++ b/ruoyi-common/ruoyi-common-encrypt/pom.xml
@@ -17,26 +17,31 @@
+
org.dromara
ruoyi-common-core
+
org.bouncycastle
bcpkix-jdk18on
+
cn.hutool
hutool-crypto
+
org.springframework
spring-webmvc
+
com.baomidou
mybatis-plus-spring-boot4-starter
diff --git a/ruoyi-common/ruoyi-common-excel/pom.xml b/ruoyi-common/ruoyi-common-excel/pom.xml
index 8f02dd6fa..1ae034f05 100644
--- a/ruoyi-common/ruoyi-common-excel/pom.xml
+++ b/ruoyi-common/ruoyi-common-excel/pom.xml
@@ -16,11 +16,13 @@
+
org.dromara
ruoyi-common-json
+
org.apache.fesod
fesod-sheet
diff --git a/ruoyi-common/ruoyi-common-job/pom.xml b/ruoyi-common/ruoyi-common-job/pom.xml
index 3a4a0cbd8..3aedf44f8 100644
--- a/ruoyi-common/ruoyi-common-job/pom.xml
+++ b/ruoyi-common/ruoyi-common-job/pom.xml
@@ -17,6 +17,7 @@
+
org.springframework.boot
spring-boot-autoconfigure
@@ -27,16 +28,19 @@
com.aizuda
snail-job-client-starter
+
com.aizuda
snail-job-client-job-core
+
org.projectlombok
lombok
+
org.dromara
ruoyi-common-core
diff --git a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java b/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java
index cba375348..5b157694a 100644
--- a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java
+++ b/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java
@@ -24,6 +24,11 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableSnailJob
public class SnailJobConfig {
+ /**
+ * Snail Job 客户端启动时挂载远程日志 appender。
+ *
+ * @param event 客户端启动事件
+ */
@EventListener(SnailClientStartingEvent.class)
public void onStarting(SnailClientStartingEvent event) {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
diff --git a/ruoyi-common/ruoyi-common-json/pom.xml b/ruoyi-common/ruoyi-common-json/pom.xml
index c6469b3d1..f674c9059 100644
--- a/ruoyi-common/ruoyi-common-json/pom.xml
+++ b/ruoyi-common/ruoyi-common-json/pom.xml
@@ -16,11 +16,13 @@
+
org.dromara
ruoyi-common-core
+
org.springframework.boot
spring-boot-starter-jackson
diff --git a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JsonEnhancementConfig.java b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JsonEnhancementConfig.java
index e572f2b9d..39cf340e8 100644
--- a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JsonEnhancementConfig.java
+++ b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JsonEnhancementConfig.java
@@ -14,6 +14,13 @@ import java.util.List;
@AutoConfiguration
public class JsonEnhancementConfig {
+ /**
+ * 创建 JSON 字段增强处理器入口。
+ *
+ * @param jsonMapper JSON 映射器
+ * @param processors 字段处理器集合
+ * @return JSON 值增强器
+ */
@Bean
public JsonValueEnhancer jsonValueEnhancer(JsonMapper jsonMapper, List processors) {
return new JsonValueEnhancer(jsonMapper, processors);
diff --git a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/validate/JsonPattern.java b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/validate/JsonPattern.java
index 9b9538fc9..a9b6d2378 100644
--- a/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/validate/JsonPattern.java
+++ b/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/validate/JsonPattern.java
@@ -26,8 +26,14 @@ public @interface JsonPattern {
*/
String message() default "不是有效的 JSON 格式";
+ /**
+ * Bean Validation 分组。
+ */
Class>[] groups() default {};
+ /**
+ * Bean Validation 负载信息。
+ */
Class extends Payload>[] payload() default {};
}
diff --git a/ruoyi-common/ruoyi-common-log/pom.xml b/ruoyi-common/ruoyi-common-log/pom.xml
index 3ce039570..c2012ccad 100644
--- a/ruoyi-common/ruoyi-common-log/pom.xml
+++ b/ruoyi-common/ruoyi-common-log/pom.xml
@@ -17,16 +17,19 @@
+
org.dromara
ruoyi-common-satoken
+
org.dromara
ruoyi-common-json
+
org.dromara
ruoyi-api
diff --git a/ruoyi-common/ruoyi-common-mail/pom.xml b/ruoyi-common/ruoyi-common-mail/pom.xml
index c0e1b2e4a..30da40454 100644
--- a/ruoyi-common/ruoyi-common-mail/pom.xml
+++ b/ruoyi-common/ruoyi-common-mail/pom.xml
@@ -16,15 +16,18 @@
+
org.dromara
ruoyi-common-core
+
jakarta.mail
jakarta.mail-api
+
org.eclipse.angus
jakarta.mail
diff --git a/ruoyi-common/ruoyi-common-mcp/pom.xml b/ruoyi-common/ruoyi-common-mcp/pom.xml
index 9c3ba8ab5..31d4f8151 100644
--- a/ruoyi-common/ruoyi-common-mcp/pom.xml
+++ b/ruoyi-common/ruoyi-common-mcp/pom.xml
@@ -16,16 +16,19 @@
+
org.dromara
ruoyi-common-core
+
org.springframework.ai
spring-ai-starter-mcp-server-webmvc
+
org.springframework.ai
spring-ai-starter-mcp-client
diff --git a/ruoyi-common/ruoyi-common-mcp/src/main/java/org/dromara/common/mcp/core/McpResourceReadResult.java b/ruoyi-common/ruoyi-common-mcp/src/main/java/org/dromara/common/mcp/core/McpResourceReadResult.java
index afdaab154..499f9d503 100644
--- a/ruoyi-common/ruoyi-common-mcp/src/main/java/org/dromara/common/mcp/core/McpResourceReadResult.java
+++ b/ruoyi-common/ruoyi-common-mcp/src/main/java/org/dromara/common/mcp/core/McpResourceReadResult.java
@@ -14,6 +14,13 @@ public record McpResourceReadResult(
List contents
) {
+ /**
+ * 将 MCP SDK 资源读取结果转换为带服务端名称的项目结果对象。
+ *
+ * @param serverName MCP 服务端名称
+ * @param result MCP SDK 资源读取结果
+ * @return MCP 资源读取结果
+ */
public static McpResourceReadResult of(String serverName, McpSchema.ReadResourceResult result) {
return new McpResourceReadResult(serverName, result.contents());
}
diff --git a/ruoyi-common/ruoyi-common-mcp/src/main/java/org/dromara/common/mcp/core/McpToolCallResult.java b/ruoyi-common/ruoyi-common-mcp/src/main/java/org/dromara/common/mcp/core/McpToolCallResult.java
index 80bd2d4cb..a67d298aa 100644
--- a/ruoyi-common/ruoyi-common-mcp/src/main/java/org/dromara/common/mcp/core/McpToolCallResult.java
+++ b/ruoyi-common/ruoyi-common-mcp/src/main/java/org/dromara/common/mcp/core/McpToolCallResult.java
@@ -16,6 +16,13 @@ public record McpToolCallResult(
Object structuredContent
) {
+ /**
+ * 将 MCP SDK 工具调用结果转换为带服务端名称的项目结果对象。
+ *
+ * @param serverName MCP 服务端名称
+ * @param result MCP SDK 工具调用结果
+ * @return MCP 工具调用结果
+ */
public static McpToolCallResult of(String serverName, McpSchema.CallToolResult result) {
return new McpToolCallResult(
serverName,
diff --git a/ruoyi-common/ruoyi-common-mqtt/pom.xml b/ruoyi-common/ruoyi-common-mqtt/pom.xml
index 25a6d0679..568149aea 100644
--- a/ruoyi-common/ruoyi-common-mqtt/pom.xml
+++ b/ruoyi-common/ruoyi-common-mqtt/pom.xml
@@ -16,16 +16,19 @@
+
org.dromara
ruoyi-common-core
+
org.dromara
ruoyi-common-json
+
org.dromara.mica-mqtt
mica-mqtt-client-spring-boot-starter
diff --git a/ruoyi-common/ruoyi-common-mqtt/src/main/java/org/dromara/common/mqtt/config/MqttAutoConfiguration.java b/ruoyi-common/ruoyi-common-mqtt/src/main/java/org/dromara/common/mqtt/config/MqttAutoConfiguration.java
index 11f352988..b59878c76 100644
--- a/ruoyi-common/ruoyi-common-mqtt/src/main/java/org/dromara/common/mqtt/config/MqttAutoConfiguration.java
+++ b/ruoyi-common/ruoyi-common-mqtt/src/main/java/org/dromara/common/mqtt/config/MqttAutoConfiguration.java
@@ -31,11 +31,22 @@ import java.util.concurrent.TimeUnit;
@ConditionalOnProperty(value = "mqtt.client.enabled", havingValue = "true")
public class MqttAutoConfiguration {
+ /**
+ * 创建 MQTT 客户端连接监听器。
+ *
+ * @param mqttClientCreator MQTT 客户端创建器
+ * @return MQTT 客户端连接监听器
+ */
@Bean
public MqttClientConnectListener mqttClientConnectListener(MqttClientCreator mqttClientCreator) {
return new MqttClientConnectListener(mqttClientCreator);
}
+ /**
+ * 创建 MQTT 全局消息监听器。
+ *
+ * @return MQTT 全局消息监听器
+ */
@Bean
public MqttClientGlobalMessageListener mqttClientGlobalMessageListener() {
return new MqttClientGlobalMessageListener();
diff --git a/ruoyi-common/ruoyi-common-mybatis/pom.xml b/ruoyi-common/ruoyi-common-mybatis/pom.xml
index c81d3f47d..f2bf5d8c9 100644
--- a/ruoyi-common/ruoyi-common-mybatis/pom.xml
+++ b/ruoyi-common/ruoyi-common-mybatis/pom.xml
@@ -16,16 +16,19 @@
+
org.dromara
ruoyi-common-core
+
org.dromara
ruoyi-common-satoken
+
org.dromara
ruoyi-api
@@ -37,16 +40,19 @@
dynamic-datasource-spring-boot4-starter
+
com.baomidou
mybatis-plus-spring-boot4-starter
+
com.baomidou
mybatis-plus-jsqlparser
+
com.github.yulichang
mybatis-plus-join-boot-starter
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java
index 5c20b20a4..b58a6bebe 100644
--- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/github/yulichang/injector/MPJSqlInjector.java
@@ -143,6 +143,12 @@ public class MPJSqlInjector extends DefaultSqlInjector {
TableHelper.init(modelClass, supplier.get());
}
+ /**
+ * 兼容旧版泛型解析逻辑,提取 Mapper 绑定的实体类型。
+ *
+ * @param mapperClass Mapper 类型
+ * @return Mapper 泛型中的实体类型,无法解析时返回 null
+ */
@SuppressWarnings("IfStatementWithIdenticalBranches")
protected Class> extractModelClassOld(Class> mapperClass) {
Type[] types = mapperClass.getGenericInterfaces();
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
index f061989f4..9b1a610c6 100644
--- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
@@ -32,6 +32,11 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@PropertySource(value = "classpath:common-mybatis.yml", factory = YmlPropertySourceFactory.class)
public class MybatisPlusConfig {
+ /**
+ * 组装 MyBatis-Plus 核心拦截器链。
+ *
+ * @return MyBatis-Plus 拦截器
+ */
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
diff --git a/ruoyi-common/ruoyi-common-oss/pom.xml b/ruoyi-common/ruoyi-common-oss/pom.xml
index bd19cc8d2..df24a1112 100644
--- a/ruoyi-common/ruoyi-common-oss/pom.xml
+++ b/ruoyi-common/ruoyi-common-oss/pom.xml
@@ -16,11 +16,13 @@
+
org.dromara
ruoyi-common-json
+
org.dromara
ruoyi-common-redis
diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/model/GetObjectResult.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/model/GetObjectResult.java
index a486b1274..6170bd198 100644
--- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/model/GetObjectResult.java
+++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/model/GetObjectResult.java
@@ -31,6 +31,21 @@ public record GetObjectResult(
Map metadata
) {
+ /**
+ * 构建文件对象获取结果。
+ *
+ * @param key 对象 Key
+ * @param eTag 对象 ETag
+ * @param lastModified 最后修改时间
+ * @param size 对象大小
+ * @param contentType 内容类型
+ * @param contentDisposition 内容处置方式
+ * @param contentRange 内容范围
+ * @param contentEncoding 内容编码
+ * @param contentLanguage 内容语言
+ * @param metadata 自定义元数据
+ * @return 文件对象获取结果
+ */
public static GetObjectResult form(String key, String eTag, LocalDateTime lastModified, long size
, String contentType, String contentDisposition, String contentRange, String contentEncoding, String contentLanguage
, Map metadata) {
diff --git a/ruoyi-common/ruoyi-common-push/pom.xml b/ruoyi-common/ruoyi-common-push/pom.xml
index 5a5d64cc3..f86a27f3a 100644
--- a/ruoyi-common/ruoyi-common-push/pom.xml
+++ b/ruoyi-common/ruoyi-common-push/pom.xml
@@ -16,26 +16,32 @@
+
org.dromara
ruoyi-common-core
+
org.dromara
ruoyi-common-redis
+
org.dromara
ruoyi-common-satoken
+
org.dromara
ruoyi-common-json
+
org.dromara
ruoyi-api
+
org.springframework.boot
spring-boot-starter-websocket
diff --git a/ruoyi-common/ruoyi-common-redis/pom.xml b/ruoyi-common/ruoyi-common-redis/pom.xml
index f8a5a477f..633e7d3ee 100644
--- a/ruoyi-common/ruoyi-common-redis/pom.xml
+++ b/ruoyi-common/ruoyi-common-redis/pom.xml
@@ -22,6 +22,7 @@
ruoyi-common-core
+
org.dromara
ruoyi-common-json
@@ -33,32 +34,38 @@
redisson-spring-boot-starter
+
org.redisson
redisson-spring-cache
${redisson.version}
+
com.baomidou
lock4j-redisson-spring-boot-starter
+
com.github.ben-manes.caffeine
caffeine
+
tools.jackson.core
jackson-databind
+
cn.hutool
hutool-crypto
+
cn.dev33
sa-token-core
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/annotation/RepeatSubmit.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/annotation/RepeatSubmit.java
index c7fc9a1ad..292087082 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/annotation/RepeatSubmit.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/annotation/RepeatSubmit.java
@@ -19,6 +19,9 @@ public @interface RepeatSubmit {
*/
int interval() default 5000;
+ /**
+ * 重复提交间隔时间单位。
+ */
TimeUnit timeUnit() default TimeUnit.MILLISECONDS;
/**
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/aspectj/RateLimiterAspect.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/aspectj/RateLimiterAspect.java
index 81fd9876f..5b2a5fb9b 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/aspectj/RateLimiterAspect.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/aspectj/RateLimiterAspect.java
@@ -50,6 +50,12 @@ public class RateLimiterAspect {
private final ParameterNameDiscoverer pnd = new DefaultParameterNameDiscoverer();
+ /**
+ * 在限流注解方法执行前扣减令牌,令牌不足时阻断请求。
+ *
+ * @param point 切点信息
+ * @param rateLimiter 限流注解配置
+ */
@Before("@annotation(rateLimiter)")
public void doBefore(JoinPoint point, RateLimiter rateLimiter) {
int time = rateLimiter.time();
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/IdempotentConfig.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/IdempotentConfig.java
index 9996a91ea..2f03cfb01 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/IdempotentConfig.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/IdempotentConfig.java
@@ -13,6 +13,11 @@ import org.springframework.data.redis.connection.RedisConfiguration;
@AutoConfiguration(after = RedisConfiguration.class)
public class IdempotentConfig {
+ /**
+ * 创建重复提交切面。
+ *
+ * @return 重复提交切面
+ */
@Bean
public RepeatSubmitAspect repeatSubmitAspect() {
return new RepeatSubmitAspect();
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RateLimiterConfig.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RateLimiterConfig.java
index 8a18379e0..127c98af6 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RateLimiterConfig.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RateLimiterConfig.java
@@ -6,12 +6,19 @@ import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConfiguration;
/**
+ * 限流功能配置。
+ *
* @author guangxin
* @date 2023/1/18
*/
@AutoConfiguration(after = RedisConfiguration.class)
public class RateLimiterConfig {
+ /**
+ * 创建限流切面。
+ *
+ * @return 限流切面
+ */
@Bean
public RateLimiterAspect rateLimiterAspect() {
return new RateLimiterAspect();
diff --git a/ruoyi-common/ruoyi-common-satoken/pom.xml b/ruoyi-common/ruoyi-common-satoken/pom.xml
index 1376fddef..5197d8537 100644
--- a/ruoyi-common/ruoyi-common-satoken/pom.xml
+++ b/ruoyi-common/ruoyi-common-satoken/pom.xml
@@ -13,6 +13,7 @@
+
org.dromara
ruoyi-common-core
@@ -24,6 +25,7 @@
ruoyi-common-redis
+
org.dromara
ruoyi-api
@@ -53,6 +55,7 @@
+
com.github.ben-manes.caffeine
caffeine
diff --git a/ruoyi-common/ruoyi-common-security/pom.xml b/ruoyi-common/ruoyi-common-security/pom.xml
index 5b39df293..0b382162d 100644
--- a/ruoyi-common/ruoyi-common-security/pom.xml
+++ b/ruoyi-common/ruoyi-common-security/pom.xml
@@ -16,6 +16,7 @@
+
org.dromara
ruoyi-common-satoken
diff --git a/ruoyi-common/ruoyi-common-sensitive/pom.xml b/ruoyi-common/ruoyi-common-sensitive/pom.xml
index fecdf0911..4f098bfed 100644
--- a/ruoyi-common/ruoyi-common-sensitive/pom.xml
+++ b/ruoyi-common/ruoyi-common-sensitive/pom.xml
@@ -16,6 +16,7 @@
+
org.dromara
ruoyi-common-json
diff --git a/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/config/SensitiveConfig.java b/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/config/SensitiveConfig.java
index ac32211ee..b721655ab 100644
--- a/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/config/SensitiveConfig.java
+++ b/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/config/SensitiveConfig.java
@@ -10,6 +10,11 @@ import org.springframework.context.annotation.Bean;
@AutoConfiguration
public class SensitiveConfig {
+ /**
+ * 创建脱敏 JSON 字段处理器。
+ *
+ * @return 脱敏 JSON 字段处理器
+ */
@Bean
public SensitiveJsonFieldProcessor sensitiveJsonFieldProcessor() {
return new SensitiveJsonFieldProcessor();
diff --git a/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/core/SensitiveStrategy.java b/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/core/SensitiveStrategy.java
index 30de412a8..66a908f6f 100644
--- a/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/core/SensitiveStrategy.java
+++ b/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/core/SensitiveStrategy.java
@@ -105,8 +105,16 @@ public enum SensitiveStrategy {
//可自行添加其他脱敏策略
+ /**
+ * 当前策略对应的脱敏函数。
+ */
private final Function desensitizer;
+ /**
+ * 获取当前策略对应的脱敏函数。
+ *
+ * @return 脱敏函数
+ */
public Function desensitizer() {
return desensitizer;
}
diff --git a/ruoyi-common/ruoyi-common-sms/pom.xml b/ruoyi-common/ruoyi-common-sms/pom.xml
index 932cb9d52..1ca17a776 100644
--- a/ruoyi-common/ruoyi-common-sms/pom.xml
+++ b/ruoyi-common/ruoyi-common-sms/pom.xml
@@ -17,6 +17,7 @@
+
org.dromara.sms4j
sms4j-spring-boot-starter
diff --git a/ruoyi-common/ruoyi-common-sms/src/main/java/org/dromara/common/sms/config/SmsAutoConfiguration.java b/ruoyi-common/ruoyi-common-sms/src/main/java/org/dromara/common/sms/config/SmsAutoConfiguration.java
index d73cca467..09c788454 100644
--- a/ruoyi-common/ruoyi-common-sms/src/main/java/org/dromara/common/sms/config/SmsAutoConfiguration.java
+++ b/ruoyi-common/ruoyi-common-sms/src/main/java/org/dromara/common/sms/config/SmsAutoConfiguration.java
@@ -16,6 +16,11 @@ import org.springframework.context.annotation.Primary;
@AutoConfiguration(after = {DataRedisAutoConfiguration.class})
public class SmsAutoConfiguration {
+ /**
+ * 创建 sms4j 使用的短信缓存访问对象。
+ *
+ * @return 短信缓存访问对象
+ */
@Primary
@Bean
public SmsDao smsDao() {
diff --git a/ruoyi-common/ruoyi-common-social/pom.xml b/ruoyi-common/ruoyi-common-social/pom.xml
index 9f9a965e3..8b73d0cfc 100644
--- a/ruoyi-common/ruoyi-common-social/pom.xml
+++ b/ruoyi-common/ruoyi-common-social/pom.xml
@@ -16,16 +16,19 @@
+
me.zhyd.oauth
JustAuth
+
org.dromara
ruoyi-common-json
+
org.dromara
ruoyi-common-redis
diff --git a/ruoyi-common/ruoyi-common-translation/pom.xml b/ruoyi-common/ruoyi-common-translation/pom.xml
index 7bb728b63..5b4d6fb22 100644
--- a/ruoyi-common/ruoyi-common-translation/pom.xml
+++ b/ruoyi-common/ruoyi-common-translation/pom.xml
@@ -17,11 +17,13 @@
+
org.dromara
ruoyi-common-json
+
org.dromara
ruoyi-api
diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java
index b56776093..02780398c 100644
--- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java
+++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java
@@ -15,6 +15,12 @@ import java.util.List;
@AutoConfiguration
public class TranslationConfig {
+ /**
+ * 创建翻译 JSON 字段处理器。
+ *
+ * @param list 翻译实现集合
+ * @return 翻译 JSON 字段处理器
+ */
@Bean
public TranslationJsonFieldProcessor translationJsonFieldProcessor(List> list) {
return new TranslationJsonFieldProcessor(list);
diff --git a/ruoyi-common/ruoyi-common-web/pom.xml b/ruoyi-common/ruoyi-common-web/pom.xml
index cb6e35cd7..0b601defc 100644
--- a/ruoyi-common/ruoyi-common-web/pom.xml
+++ b/ruoyi-common/ruoyi-common-web/pom.xml
@@ -16,6 +16,7 @@
+
org.dromara
ruoyi-common-json
@@ -38,16 +39,19 @@
spring-boot-starter-jetty
+
org.springframework.boot
spring-boot-starter-actuator
+
cn.hutool
hutool-captcha
+
cn.hutool
hutool-crypto
diff --git a/ruoyi-extend/pom.xml b/ruoyi-extend/pom.xml
index d084361de..f7006a3dd 100644
--- a/ruoyi-extend/pom.xml
+++ b/ruoyi-extend/pom.xml
@@ -12,8 +12,11 @@
pom
+
ruoyi-monitor-admin
+
ruoyi-snailai-server
+
ruoyi-snailjob-server
diff --git a/ruoyi-extend/ruoyi-monitor-admin/pom.xml b/ruoyi-extend/ruoyi-monitor-admin/pom.xml
index cb9b917ad..b0a3708d5 100644
--- a/ruoyi-extend/ruoyi-monitor-admin/pom.xml
+++ b/ruoyi-extend/ruoyi-monitor-admin/pom.xml
@@ -35,16 +35,19 @@
spring-boot-starter-security
+
de.codecentric
spring-boot-admin-starter-server
+
de.codecentric
spring-boot-admin-starter-client
+
org.projectlombok
lombok
diff --git a/ruoyi-extend/ruoyi-snailai-server/pom.xml b/ruoyi-extend/ruoyi-snailai-server/pom.xml
index 13f698cb8..6e892bacc 100644
--- a/ruoyi-extend/ruoyi-snailai-server/pom.xml
+++ b/ruoyi-extend/ruoyi-snailai-server/pom.xml
@@ -12,12 +12,14 @@
ruoyi-snailai-server
+
com.aizuda
snail-ai-starter
${snailai.version}
+
de.codecentric
spring-boot-admin-starter-client
diff --git a/ruoyi-extend/ruoyi-snailai-server/src/main/java/com/aizuda/snail/ai/starter/filter/ActuatorAuthFilter.java b/ruoyi-extend/ruoyi-snailai-server/src/main/java/com/aizuda/snail/ai/starter/filter/ActuatorAuthFilter.java
index 688775541..c84013e7b 100644
--- a/ruoyi-extend/ruoyi-snailai-server/src/main/java/com/aizuda/snail/ai/starter/filter/ActuatorAuthFilter.java
+++ b/ruoyi-extend/ruoyi-snailai-server/src/main/java/com/aizuda/snail/ai/starter/filter/ActuatorAuthFilter.java
@@ -13,11 +13,22 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
+/**
+ * Actuator Basic Auth 认证过滤器。
+ *
+ * @author Lion Li
+ */
public class ActuatorAuthFilter implements Filter {
private final String username;
private final String password;
+ /**
+ * 创建 Actuator 认证过滤器。
+ *
+ * @param username 认证用户名
+ * @param password 认证密码
+ */
public ActuatorAuthFilter(String username, String password) {
this.username = username;
this.password = password;
diff --git a/ruoyi-extend/ruoyi-snailai-server/src/main/java/com/aizuda/snail/ai/starter/filter/SecurityConfig.java b/ruoyi-extend/ruoyi-snailai-server/src/main/java/com/aizuda/snail/ai/starter/filter/SecurityConfig.java
index cbeebc4b1..3674e668f 100644
--- a/ruoyi-extend/ruoyi-snailai-server/src/main/java/com/aizuda/snail/ai/starter/filter/SecurityConfig.java
+++ b/ruoyi-extend/ruoyi-snailai-server/src/main/java/com/aizuda/snail/ai/starter/filter/SecurityConfig.java
@@ -18,6 +18,11 @@ public class SecurityConfig {
@Value("${spring.boot.admin.client.password}")
private String password;
+ /**
+ * 注册 Actuator Basic Auth 过滤器。
+ *
+ * @return Actuator 过滤器注册对象
+ */
@Bean
public FilterRegistrationBean actuatorFilterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean<>();
diff --git a/ruoyi-extend/ruoyi-snailjob-server/pom.xml b/ruoyi-extend/ruoyi-snailjob-server/pom.xml
index a392e5dbc..ddbaf89e1 100644
--- a/ruoyi-extend/ruoyi-snailjob-server/pom.xml
+++ b/ruoyi-extend/ruoyi-snailjob-server/pom.xml
@@ -12,6 +12,7 @@
ruoyi-snailjob-server
+
com.aizuda
snail-job-server-starter
@@ -24,12 +25,14 @@
+
org.scala-lang
scala-library
2.13.9
+
de.codecentric
spring-boot-admin-starter-client
diff --git a/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/ActuatorAuthFilter.java b/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/ActuatorAuthFilter.java
index 00f6eee13..3e08f3346 100644
--- a/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/ActuatorAuthFilter.java
+++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/ActuatorAuthFilter.java
@@ -8,11 +8,22 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
+/**
+ * Actuator Basic Auth 认证过滤器。
+ *
+ * @author Lion Li
+ */
public class ActuatorAuthFilter implements Filter {
private final String username;
private final String password;
+ /**
+ * 创建 Actuator 认证过滤器。
+ *
+ * @param username 认证用户名
+ * @param password 认证密码
+ */
public ActuatorAuthFilter(String username, String password) {
this.username = username;
this.password = password;
diff --git a/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/SecurityConfig.java b/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/SecurityConfig.java
index 5196c77ef..57cb77dda 100644
--- a/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/SecurityConfig.java
+++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/SecurityConfig.java
@@ -18,6 +18,11 @@ public class SecurityConfig {
@Value("${spring.boot.admin.client.password}")
private String password;
+ /**
+ * 注册 Actuator Basic Auth 过滤器。
+ *
+ * @return Actuator 过滤器注册对象
+ */
@Bean
public FilterRegistrationBean actuatorFilterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean<>();
diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml
index 4a79d2500..4e5998742 100644
--- a/ruoyi-modules/pom.xml
+++ b/ruoyi-modules/pom.xml
@@ -16,11 +16,17 @@
+
ruoyi-demo
+
ruoyi-gen
+
ruoyi-job
+
ruoyi-system
+
ruoyi-workflow
+
ruoyi-ai
diff --git a/ruoyi-modules/ruoyi-ai/pom.xml b/ruoyi-modules/ruoyi-ai/pom.xml
index e44919b00..aa139b1ca 100644
--- a/ruoyi-modules/ruoyi-ai/pom.xml
+++ b/ruoyi-modules/ruoyi-ai/pom.xml
@@ -17,22 +17,27 @@
+
org.dromara
ruoyi-common-core
+
org.dromara
ruoyi-api
+
org.dromara
ruoyi-common-ai
+
org.dromara
ruoyi-common-satoken
+
org.dromara
ruoyi-common-web
diff --git a/ruoyi-modules/ruoyi-demo/pom.xml b/ruoyi-modules/ruoyi-demo/pom.xml
index f3800ccda..06eaf3651 100644
--- a/ruoyi-modules/ruoyi-demo/pom.xml
+++ b/ruoyi-modules/ruoyi-demo/pom.xml
@@ -23,86 +23,103 @@
ruoyi-common-core
+
org.dromara
ruoyi-api
+
org.dromara
ruoyi-common-doc
+
org.dromara
ruoyi-common-sms
+
org.dromara
ruoyi-common-mail
+
org.dromara
ruoyi-common-redis
+
org.dromara
ruoyi-common-mybatis
+
org.dromara
ruoyi-common-log
+
org.dromara
ruoyi-common-excel
+
org.dromara
ruoyi-common-security
+
org.dromara
ruoyi-common-web
+
org.dromara
ruoyi-common-translation
+
org.dromara
ruoyi-common-sensitive
+
org.dromara
ruoyi-common-encrypt
+
org.dromara
ruoyi-common-elasticsearch
+
org.dromara
ruoyi-common-push
+
org.dromara
ruoyi-common-mqtt
+
org.dromara
ruoyi-common-mcp
diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/MqttController.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/MqttController.java
index 2e0e8c27a..56dc4d0a3 100644
--- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/MqttController.java
+++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/MqttController.java
@@ -36,22 +36,45 @@ public class MqttController {
@Autowired
private MqttClientTemplate client;
+ /**
+ * 发布一条 MQTT 测试消息。
+ *
+ * @return 是否发送成功
+ */
@GetMapping("/send")
public boolean send() {
client.publish("/test/client", "测试测试".getBytes(StandardCharsets.UTF_8));
return true;
}
+ /**
+ * 订阅 QoS0 测试主题并打印原始消息。
+ *
+ * @param topic 消息主题
+ * @param payload 消息内容
+ */
@MqttClientSubscribe("/test/#")
public void subQos0(String topic, byte[] payload) {
log.info("topic:{} payload:{}", topic, new String(payload, StandardCharsets.UTF_8));
}
+ /**
+ * 订阅 QoS1 测试主题并打印原始消息。
+ *
+ * @param topic 消息主题
+ * @param payload 消息内容
+ */
@MqttClientSubscribe(value = "/qos1/#", qos = MqttQoS.QOS1)
public void subQos1(String topic, byte[] payload) {
log.info("topic:{} payload:{}", topic, new String(payload, StandardCharsets.UTF_8));
}
+ /**
+ * 订阅带产品和设备占位符的注册主题。
+ *
+ * @param topic 消息主题
+ * @param payload 消息内容
+ */
@MqttClientSubscribe("/sys/${productKey}/${deviceName}/thing/sub/register")
public void thingSubRegister(String topic, byte[] payload) {
// 1.3.8 开始支持,@MqttClientSubscribe 注解支持 ${} 变量替换,会默认替换成 +
@@ -59,6 +82,13 @@ public class MqttController {
log.info("topic:{} payload:{}", topic, new String(payload, StandardCharsets.UTF_8));
}
+ /**
+ * 订阅 JSON 测试主题并演示自定义反序列化。
+ *
+ * @param topic 消息主题
+ * @param message MQTT 原始消息
+ * @param data 反序列化后的演示数据
+ */
@MqttClientSubscribe(
value = "/test/json",
deserialize = MqttJsonDeserializer.class // 2.4.5 开始支持 自定义序列化,默认 json 序列化
diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemoEncrypt.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemoEncrypt.java
index 40acef101..771f3fadb 100644
--- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemoEncrypt.java
+++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemoEncrypt.java
@@ -6,6 +6,11 @@ import org.dromara.common.encrypt.enums.AlgorithmType;
import lombok.Data;
import lombok.EqualsAndHashCode;
+/**
+ * 测试加密字段实体。
+ *
+ * @author Lion Li
+ */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("test_demo")
diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/esmapper/DocumentMapper.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/esmapper/DocumentMapper.java
index 63c982366..8655d8ecf 100644
--- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/esmapper/DocumentMapper.java
+++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/esmapper/DocumentMapper.java
@@ -3,5 +3,10 @@ package org.dromara.demo.esmapper;
import org.dromara.demo.domain.Document;
import org.dromara.easyes.core.kernel.BaseEsMapper;
+/**
+ * Easy-Es 文档 Mapper。
+ *
+ * @author Lion Li
+ */
public interface DocumentMapper extends BaseEsMapper {
}
diff --git a/ruoyi-modules/ruoyi-gen/pom.xml b/ruoyi-modules/ruoyi-gen/pom.xml
index b5c29d7c9..ac4a5661e 100644
--- a/ruoyi-modules/ruoyi-gen/pom.xml
+++ b/ruoyi-modules/ruoyi-gen/pom.xml
@@ -22,21 +22,25 @@
ruoyi-common-core
+
org.dromara
ruoyi-common-doc
+
org.dromara
ruoyi-common-mybatis
+
org.dromara
ruoyi-common-web
+
org.dromara
ruoyi-common-log
@@ -48,12 +52,14 @@
velocity-engine-core
+
org.anyline
anyline-environment-spring-data-jdbc
${anyline.version}
+
org.anyline
anyline-data-jdbc-mysql
diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml
index f2c37dd81..d0e3cc4b2 100644
--- a/ruoyi-modules/ruoyi-job/pom.xml
+++ b/ruoyi-modules/ruoyi-job/pom.xml
@@ -23,6 +23,7 @@
ruoyi-common-json
+
org.dromara
ruoyi-common-job
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/AlipayBillTask.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/AlipayBillTask.java
index 75ddfb002..8f28c9885 100644
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/AlipayBillTask.java
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/AlipayBillTask.java
@@ -22,6 +22,13 @@ import java.math.BigDecimal;
@JobExecutor(name = "alipayBillTask")
public class AlipayBillTask {
+ /**
+ * 执行支付宝账单模拟任务,并将结果写入工作流上下文。
+ *
+ * @param jobArgs 任务执行参数
+ * @return 执行结果
+ * @throws InterruptedException 任务被中断时抛出
+ */
public ExecuteResult jobExecute(JobArgs jobArgs) throws InterruptedException {
// 设置清算日期
String settlementDate = (String) jobArgs.getWfContext().get("settlementDate");
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/SummaryBillTask.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/SummaryBillTask.java
index 405a4d419..9800d8bdd 100644
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/SummaryBillTask.java
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/SummaryBillTask.java
@@ -21,6 +21,13 @@ import java.math.BigDecimal;
@JobExecutor(name = "summaryBillTask")
public class SummaryBillTask {
+ /**
+ * 汇总工作流上下文中的微信与支付宝账单金额。
+ *
+ * @param jobArgs 任务执行参数
+ * @return 汇总执行结果
+ * @throws InterruptedException 任务被中断时抛出
+ */
public ExecuteResult jobExecute(JobArgs jobArgs) throws InterruptedException {
// 获得微信账单
BigDecimal wechatAmount = BigDecimal.valueOf(0);
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestBroadcastJob.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestBroadcastJob.java
index 9cb830936..690d835e5 100644
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestBroadcastJob.java
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestBroadcastJob.java
@@ -23,6 +23,12 @@ public class TestBroadcastJob {
@Value("${snail-job.port}")
private int clientPort;
+ /**
+ * 执行广播任务示例,随机模拟成功或失败。
+ *
+ * @param jobArgs 任务执行参数
+ * @return 执行结果
+ */
public ExecuteResult jobExecute(JobArgs jobArgs) {
int randomInt = RandomUtil.randomInt(100);
log.info("随机数: {}", randomInt);
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestMapJobAnnotation.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestMapJobAnnotation.java
index b00b35d0e..14b37de7b 100644
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestMapJobAnnotation.java
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestMapJobAnnotation.java
@@ -26,6 +26,13 @@ import java.util.stream.IntStream;
@JobExecutor(name = "testMapJobAnnotation")
public class TestMapJobAnnotation {
+ /**
+ * 根 Map 任务,将示例数据拆分为多个分片任务。
+ *
+ * @param mapArgs Map 任务参数
+ * @param mapHandler 分片调度处理器
+ * @return 分片调度结果
+ */
@MapExecutor
public ExecuteResult doJobMapExecute(MapArgs mapArgs, MapHandler mapHandler) {
// 生成1~200数值并分片
@@ -39,6 +46,12 @@ public class TestMapJobAnnotation {
return mapHandler.doMap(partition, "doCalc");
}
+ /**
+ * 执行单个分片的累加计算。
+ *
+ * @param mapArgs 分片任务参数
+ * @return 分片计算结果
+ */
@MapExecutor(taskName = "doCalc")
public ExecuteResult doCalc(MapArgs mapArgs) {
List sourceList = (List) mapArgs.getMapResult();
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestMapReduceAnnotation1.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestMapReduceAnnotation1.java
index 5a5ee4e47..31f6c4219 100644
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestMapReduceAnnotation1.java
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestMapReduceAnnotation1.java
@@ -28,6 +28,13 @@ import java.util.stream.IntStream;
@JobExecutor(name = "testMapReduceAnnotation1")
public class TestMapReduceAnnotation1 {
+ /**
+ * 根 Map 任务,将示例数据拆分为多个分片任务。
+ *
+ * @param mapArgs Map 任务参数
+ * @param mapHandler 分片调度处理器
+ * @return 分片调度结果
+ */
@MapExecutor
public ExecuteResult rootMapExecute(MapArgs mapArgs, MapHandler mapHandler) {
int partitionSize = 50;
@@ -40,6 +47,12 @@ public class TestMapReduceAnnotation1 {
return mapHandler.doMap(partition, "doCalc");
}
+ /**
+ * 执行单个分片的累加计算。
+ *
+ * @param mapArgs 分片任务参数
+ * @return 分片计算结果
+ */
@MapExecutor(taskName = "doCalc")
public ExecuteResult doCalc(MapArgs mapArgs) {
List sourceList = (List) mapArgs.getMapResult();
@@ -51,6 +64,12 @@ public class TestMapReduceAnnotation1 {
return ExecuteResult.success(partitionTotal);
}
+ /**
+ * 汇总所有 Map 分片的计算结果。
+ *
+ * @param reduceArgs Reduce 任务参数
+ * @return 汇总结果
+ */
@ReduceExecutor
public ExecuteResult reduceExecute(ReduceArgs reduceArgs) {
int reduceTotal = reduceArgs.getMapResult().stream().mapToInt(i -> Integer.parseInt((String) i)).sum();
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestStaticShardingJob.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestStaticShardingJob.java
index 060fcd4d6..0f4e6e79c 100644
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestStaticShardingJob.java
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestStaticShardingJob.java
@@ -17,6 +17,12 @@ import org.springframework.stereotype.Component;
@JobExecutor(name = "testStaticShardingJob")
public class TestStaticShardingJob {
+ /**
+ * 执行静态分片任务示例。
+ *
+ * @param jobArgs 任务执行参数
+ * @return 执行结果
+ */
public ExecuteResult jobExecute(JobArgs jobArgs) {
String jobParams = Convert.toStr(jobArgs.getJobParams());
SnailJobLog.LOCAL.info("开始执行分片任务,参数:{}", jobParams);
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WechatBillTask.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WechatBillTask.java
index 9b13c52da..a162cea90 100644
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WechatBillTask.java
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WechatBillTask.java
@@ -22,6 +22,13 @@ import java.math.BigDecimal;
@JobExecutor(name = "wechatBillTask")
public class WechatBillTask {
+ /**
+ * 执行微信账单模拟任务,并将结果写入工作流上下文。
+ *
+ * @param jobArgs 任务执行参数
+ * @return 执行结果
+ * @throws InterruptedException 任务被中断时抛出
+ */
public ExecuteResult jobExecute(JobArgs jobArgs) throws InterruptedException {
// 从上下文中获得清算日期并设置,如果上下文中清算日期
// 是sysdate设置为当前日期;否则取管理页面设置的值
diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml
index d69956ec0..03aa0b95d 100644
--- a/ruoyi-modules/ruoyi-system/pom.xml
+++ b/ruoyi-modules/ruoyi-system/pom.xml
@@ -22,21 +22,25 @@
ruoyi-common-core
+
org.dromara
ruoyi-api
+
org.dromara
ruoyi-common-doc
+
org.dromara
ruoyi-common-mybatis
+
org.dromara
ruoyi-common-translation
@@ -48,6 +52,7 @@
ruoyi-common-oss
+
org.dromara
ruoyi-common-log
@@ -65,26 +70,31 @@
ruoyi-common-sms
+
org.dromara
ruoyi-common-security
+
org.dromara
ruoyi-common-web
+
org.dromara
ruoyi-common-sensitive
+
org.dromara
ruoyi-common-encrypt
+
org.dromara
ruoyi-common-push
diff --git a/ruoyi-modules/ruoyi-workflow/pom.xml b/ruoyi-modules/ruoyi-workflow/pom.xml
index 35a592ba5..347cb897b 100644
--- a/ruoyi-modules/ruoyi-workflow/pom.xml
+++ b/ruoyi-modules/ruoyi-workflow/pom.xml
@@ -18,63 +18,84 @@
+
org.dromara
ruoyi-common-push
+
org.dromara
ruoyi-common-doc
+
org.dromara
ruoyi-common-mail
+
org.dromara
ruoyi-common-sms
+
org.dromara
ruoyi-common-mybatis
+
+
org.dromara
ruoyi-common-web
+
+
org.dromara
ruoyi-common-log
+
+
org.dromara
ruoyi-common-excel
+
+
org.dromara
ruoyi-common-translation
+
+
org.dromara
ruoyi-common-security
+
+
org.dromara
ruoyi-api
+
+
org.dromara.warm
warm-flow-mybatis-plus-sb3-starter
+
+
org.dromara.warm
warm-flow-plugin-ui-sb-web
+
-