From 276e8bf9ff33cdc3f44bcc774267264e26ccc846 Mon Sep 17 00:00:00 2001 From: Leslie Date: Fri, 29 Aug 2025 00:24:09 +0800 Subject: [PATCH 01/16] =?UTF-8?q?fixed:=20=E4=BF=AE=E5=A4=8D=E5=9B=A0?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E9=A1=BA=E5=BA=8F=E5=BD=B1=E5=93=8D=E5=88=B0?= =?UTF-8?q?=E8=B7=A8=E5=9F=9F=E9=85=8D=E7=BD=AE=E4=B8=8D=E7=94=9F=E6=95=88?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yudao/framework/web/config/YudaoWebAutoConfiguration.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java index 9126c7e8ea..763bab95c7 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java +++ b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java @@ -18,6 +18,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; +import org.springframework.core.annotation.Order; import org.springframework.util.AntPathMatcher; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @@ -80,6 +81,7 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { /** * 创建 CorsFilter Bean,解决跨域问题 */ + @Order(value = 0) @Bean public FilterRegistrationBean corsFilterBean() { // 创建 CorsConfiguration 对象 From 8402441a559f58be58f51878a9778be37d33b0d2 Mon Sep 17 00:00:00 2001 From: Leslie Date: Tue, 2 Sep 2025 10:38:17 +0800 Subject: [PATCH 02/16] =?UTF-8?q?refactor:=20=E8=B7=A8=E5=9F=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=A1=BA=E5=BA=8F=E4=BD=BF=E7=94=A8=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yudao/framework/web/config/YudaoWebAutoConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java index 763bab95c7..32bc4ace76 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java +++ b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java @@ -81,7 +81,7 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { /** * 创建 CorsFilter Bean,解决跨域问题 */ - @Order(value = 0) + @Order(value = WebFilterOrderEnum.CORS_FILTER) @Bean public FilterRegistrationBean corsFilterBean() { // 创建 CorsConfiguration 对象 From bb7eaa214c96a5e9638605fdb11a2cc7f1eeccd0 Mon Sep 17 00:00:00 2001 From: Leslie Date: Tue, 14 Oct 2025 01:45:18 +0800 Subject: [PATCH 03/16] =?UTF-8?q?fixed(pay):=20=E5=85=BC=E5=AE=B9=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E6=94=AF=E4=BB=98=E5=85=AC=E9=92=A5=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=B9=B6=E8=A7=A3=E5=86=B3=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/core/client/impl/weixin/AbstractWxPayClient.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java index 4ee904bbb1..1db6bd146a 100644 --- a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java +++ b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java @@ -72,6 +72,11 @@ public abstract class AbstractWxPayClient extends AbstractPayClient Date: Thu, 27 Nov 2025 15:42:41 +0800 Subject: [PATCH 04/16] =?UTF-8?q?fix:=20=E3=80=90infra=20=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E8=AE=BE=E6=96=BD=E3=80=91S3FileClient=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=9A=84=20region=20>=20=E4=BB=8E=20endpoint=20?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E7=9A=84=20region=20>=20=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC=20us-east-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/core/client/s3/S3FileClient.java | 76 ++++++++++++++++++- .../core/client/s3/S3FileClientConfig.java | 12 +++ 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java index 94ba6a3ebb..e7b8b9789a 100644 --- a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java +++ b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java @@ -47,7 +47,9 @@ public class S3FileClient extends AbstractFileClient { config.setDomain(buildDomain()); } // 初始化 S3 客户端 - Region region = Region.of("us-east-1"); // 必须填,但填什么都行,常见的值有 "us-east-1",不填会报错 + // 优先级:配置的 region > 从 endpoint 解析的 region > 默认值 us-east-1 + String regionStr = resolveRegion(); + Region region = Region.of(regionStr); AwsCredentialsProvider credentialsProvider = StaticCredentialsProvider.create( AwsBasicCredentials.create(config.getAccessKey(), config.getAccessSecret())); URI endpoint = URI.create(buildEndpoint()); @@ -159,4 +161,76 @@ public class S3FileClient extends AbstractFileClient { return StrUtil.format("https://{}", config.getEndpoint()); } + /** + * 解析 AWS 区域 + * 优先级:配置的 region > 从 endpoint 解析的 region > 默认值 us-east-1 + * + * @return 区域字符串 + */ + private String resolveRegion() { + // 1. 如果配置了 region,直接使用 + if (StrUtil.isNotEmpty(config.getRegion())) { + return config.getRegion(); + } + + // 2. 尝试从 endpoint 中解析 region + String endpoint = config.getEndpoint(); + if (StrUtil.isEmpty(endpoint)) { + return "us-east-1"; + } + + // 移除协议头(http:// 或 https://) + String host = endpoint; + if (HttpUtil.isHttp(endpoint) || HttpUtil.isHttps(endpoint)) { + try { + host = URI.create(endpoint).getHost(); + } catch (Exception e) { + // 解析失败,使用默认值 + return "us-east-1"; + } + } + + if (StrUtil.isEmpty(host)) { + return "us-east-1"; + } + + // 3. AWS S3 格式:s3.us-west-2.amazonaws.com 或 s3.amazonaws.com + if (host.contains("amazonaws.com")) { + // 匹配 s3.{region}.amazonaws.com 格式 + if (host.startsWith("s3.") && host.contains(".amazonaws.com")) { + String regionPart = host.substring(3, host.indexOf(".amazonaws.com")); + if (StrUtil.isNotEmpty(regionPart) && !regionPart.equals("accelerate")) { + return regionPart; + } + } + // s3.amazonaws.com 或 s3-accelerate.amazonaws.com 使用默认值 + return "us-east-1"; + } + + // 4. 阿里云 OSS 格式:oss-cn-beijing.aliyuncs.com + if (host.contains(S3FileClientConfig.ENDPOINT_ALIYUN)) { + // 匹配 oss-{region}.aliyuncs.com 格式 + if (host.startsWith("oss-") && host.contains("." + S3FileClientConfig.ENDPOINT_ALIYUN)) { + String regionPart = host.substring(4, host.indexOf("." + S3FileClientConfig.ENDPOINT_ALIYUN)); + if (StrUtil.isNotEmpty(regionPart)) { + return regionPart; + } + } + } + + // 5. 腾讯云 COS 格式:cos.ap-shanghai.myqcloud.com + if (host.contains(S3FileClientConfig.ENDPOINT_TENCENT)) { + // 匹配 cos.{region}.myqcloud.com 格式 + if (host.startsWith("cos.") && host.contains("." + S3FileClientConfig.ENDPOINT_TENCENT)) { + String regionPart = host.substring(4, host.indexOf("." + S3FileClientConfig.ENDPOINT_TENCENT)); + if (StrUtil.isNotEmpty(regionPart)) { + return regionPart; + } + } + } + + // 6. 其他情况(MinIO、七牛云等)使用默认值 + return "us-east-1"; + } + } diff --git a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java index 216197964a..a0760c40f2 100644 --- a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java +++ b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java @@ -82,6 +82,18 @@ public class S3FileClientConfig implements FileClientConfig { @NotNull(message = "是否公开访问不能为空") private Boolean enablePublicAccess; + /** + * AWS 区域 + * 1. AWS S3:https://docs.aws.amazon.com/general/latest/gr/s3.html 例如说,us-east-1、us-west-2 + * 2. MinIO:可以填任意值,通常使用 us-east-1 + * 3. 阿里云:不需要填写,会自动识别 + * 4. 腾讯云:不需要填写,会自动识别 + * 5. 七牛云:不需要填写,会自动识别 + * 6. 华为云:不需要填写,会自动识别 + * 7. 火山云:不需要填写,会自动识别 + */ + private String region; + @SuppressWarnings("RedundantIfStatement") @AssertTrue(message = "domain 不能为空") @JsonIgnore From aee514cf33bf22be56489f62c3b0ccaad669b662 Mon Sep 17 00:00:00 2001 From: zz Date: Fri, 28 Nov 2025 11:41:43 +0800 Subject: [PATCH 05/16] =?UTF-8?q?fix(bpm):=20=E6=9B=B4=E6=94=B9=20moveActi?= =?UTF-8?q?vityIdsToSingleActivityId=20=E4=BC=A0=E5=85=A5=E7=9A=84?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/bpm/service/task/BpmTaskServiceImpl.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java index acd437b570..e562fef918 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java @@ -922,16 +922,16 @@ public class BpmTaskServiceImpl implements BpmTaskService { List returnUserTaskList = BpmnModelUtils.iteratorFindChildUserTasks(targetElement, runTaskKeyList, null, null); List returnTaskKeyList = convertList(returnUserTaskList, UserTask::getId); - List runExecutionIds = new ArrayList<>(); +// List runExecutionIds = new ArrayList<>(); // 2. 给当前要被退回的 task 数组,设置退回意见 taskList.forEach(task -> { // 需要排除掉,不需要设置退回意见的任务 if (!returnTaskKeyList.contains(task.getTaskDefinitionKey())) { return; } - if (task.getExecutionId() != null) { - runExecutionIds.add(task.getExecutionId()); - } +// if (task.getExecutionId() != null) { +// runExecutionIds.add(task.getExecutionId()); +// } // 判断是否分配给自己任务,因为会签任务,一个节点会有多个任务 if (isAssignUserTask(userId, task)) { // 情况一:自己的任务,进行 RETURN 标记 @@ -953,9 +953,12 @@ public class BpmTaskServiceImpl implements BpmTaskService { // 相关 issue: https://github.com/flowable/flowable-engine/issues/3944 // ② flowable 7.2.0 版本后,继续使用 moveActivityIdsToSingleActivityId 方法。原因:flowable 7.2.0 版本修复了该问题。 // 相关 issue:https://github.com/YunaiV/ruoyi-vue-pro/issues/1018 + // ③ moveExecutionsToSingleActivityId 基于运行时执行实例层面的精确控制,它的操作对象(第一个参数)是 executionId,需要收集到 runExecutionIds + // moveActivityIdsToSingleActivityId 基于 BPMN 模型层面的节点迁移,它的操作对象(第一个参数)是 taskKey runtimeService.createChangeActivityStateBuilder() .processInstanceId(currentTask.getProcessInstanceId()) - .moveActivityIdsToSingleActivityId(runExecutionIds, reqVO.getTargetTaskDefinitionKey()) +// .moveExecutionsToSingleActivityId(runExecutionIds, reqVO.getTargetTaskDefinitionKey()) + .moveActivityIdsToSingleActivityId(returnTaskKeyList, reqVO.getTargetTaskDefinitionKey()) // 设置需要预测的任务 ids 的流程变量,用于辅助预测 .processVariable(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_NEED_SIMULATE_TASK_IDS, needSimulateTaskDefinitionKeys) // 设置流程变量(local)节点退回标记, 用于退回到节点,不执行 BpmUserTaskAssignStartUserHandlerTypeEnum 策略,导致自动通过 From 35b6f9d31c9052af7e1bc783eddaf35bb50a9f53 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 29 Nov 2025 12:10:55 +0800 Subject: [PATCH 06/16] =?UTF-8?q?feat=EF=BC=9A=E3=80=90infra=E3=80=91s3=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20region=20=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/core/client/s3/S3FileClient.java | 15 ++++++--------- .../file/core/client/s3/S3FileClientConfig.java | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java index e7b8b9789a..d2213f5328 100644 --- a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java +++ b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java @@ -173,13 +173,13 @@ public class S3FileClient extends AbstractFileClient { return config.getRegion(); } - // 2. 尝试从 endpoint 中解析 region + // 2.1 尝试从 endpoint 中解析 region String endpoint = config.getEndpoint(); if (StrUtil.isEmpty(endpoint)) { return "us-east-1"; } - // 移除协议头(http:// 或 https://) + // 2.2 移除协议头(http:// 或 https://) String host = endpoint; if (HttpUtil.isHttp(endpoint) || HttpUtil.isHttps(endpoint)) { try { @@ -189,12 +189,11 @@ public class S3FileClient extends AbstractFileClient { return "us-east-1"; } } - if (StrUtil.isEmpty(host)) { return "us-east-1"; } - // 3. AWS S3 格式:s3.us-west-2.amazonaws.com 或 s3.amazonaws.com + // 3.1 AWS S3 格式:s3.us-west-2.amazonaws.com 或 s3.amazonaws.com if (host.contains("amazonaws.com")) { // 匹配 s3.{region}.amazonaws.com 格式 if (host.startsWith("s3.") && host.contains(".amazonaws.com")) { @@ -206,8 +205,7 @@ public class S3FileClient extends AbstractFileClient { // s3.amazonaws.com 或 s3-accelerate.amazonaws.com 使用默认值 return "us-east-1"; } - - // 4. 阿里云 OSS 格式:oss-cn-beijing.aliyuncs.com + // 3.2 阿里云 OSS 格式:oss-cn-beijing.aliyuncs.com if (host.contains(S3FileClientConfig.ENDPOINT_ALIYUN)) { // 匹配 oss-{region}.aliyuncs.com 格式 if (host.startsWith("oss-") && host.contains("." + S3FileClientConfig.ENDPOINT_ALIYUN)) { @@ -217,8 +215,7 @@ public class S3FileClient extends AbstractFileClient { } } } - - // 5. 腾讯云 COS 格式:cos.ap-shanghai.myqcloud.com + // 3.3 腾讯云 COS 格式:cos.ap-shanghai.myqcloud.com if (host.contains(S3FileClientConfig.ENDPOINT_TENCENT)) { // 匹配 cos.{region}.myqcloud.com 格式 if (host.startsWith("cos.") && host.contains("." + S3FileClientConfig.ENDPOINT_TENCENT)) { @@ -229,7 +226,7 @@ public class S3FileClient extends AbstractFileClient { } } - // 6. 其他情况(MinIO、七牛云等)使用默认值 + // 3.4 其他情况(MinIO、七牛云等)使用默认值 return "us-east-1"; } diff --git a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java index a0760c40f2..3300a3ef6e 100644 --- a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java +++ b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClientConfig.java @@ -83,7 +83,7 @@ public class S3FileClientConfig implements FileClientConfig { private Boolean enablePublicAccess; /** - * AWS 区域 + * 区域 * 1. AWS S3:https://docs.aws.amazon.com/general/latest/gr/s3.html 例如说,us-east-1、us-west-2 * 2. MinIO:可以填任意值,通常使用 us-east-1 * 3. 阿里云:不需要填写,会自动识别 From a2ff100c14930ac77fb69b46875eda9d05f5e527 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 29 Nov 2025 16:21:10 +0800 Subject: [PATCH 07/16] =?UTF-8?q?fix=EF=BC=9Apgsql=20=E7=9A=84=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=EF=BC=8C=E8=87=AA=E5=A2=9E=20id=20=E6=9C=89=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C=E5=AF=B9=E5=BA=94=20https://gitee.com/zhijia?= =?UTF-8?q?ntianya/yudao-cloud/issues/ID97FH?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/postgresql/ruoyi-vue-pro.sql | 260 +++++++++++++++---------------- 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/sql/postgresql/ruoyi-vue-pro.sql b/sql/postgresql/ruoyi-vue-pro.sql index d41080d654..5fe221ae4b 100644 --- a/sql/postgresql/ruoyi-vue-pro.sql +++ b/sql/postgresql/ruoyi-vue-pro.sql @@ -27,6 +27,10 @@ COMMENT ON TABLE dual IS '数据库连接的表'; INSERT INTO dual VALUES (1); -- @formatter:on +DROP SEQUENCE IF EXISTS infra_api_access_log_seq; +CREATE SEQUENCE infra_api_access_log_seq + START 1; + -- ---------------------------- -- Table structure for infra_api_access_log -- ---------------------------- @@ -92,8 +96,8 @@ COMMENT ON COLUMN infra_api_access_log.deleted IS '是否删除'; COMMENT ON COLUMN infra_api_access_log.tenant_id IS '租户编号'; COMMENT ON TABLE infra_api_access_log IS 'API 访问日志表'; -DROP SEQUENCE IF EXISTS infra_api_access_log_seq; -CREATE SEQUENCE infra_api_access_log_seq +DROP SEQUENCE IF EXISTS infra_api_error_log_seq; +CREATE SEQUENCE infra_api_error_log_seq START 1; -- ---------------------------- @@ -165,8 +169,8 @@ COMMENT ON COLUMN infra_api_error_log.deleted IS '是否删除'; COMMENT ON COLUMN infra_api_error_log.tenant_id IS '租户编号'; COMMENT ON TABLE infra_api_error_log IS '系统异常日志'; -DROP SEQUENCE IF EXISTS infra_api_error_log_seq; -CREATE SEQUENCE infra_api_error_log_seq +DROP SEQUENCE IF EXISTS infra_codegen_column_seq; +CREATE SEQUENCE infra_codegen_column_seq START 1; -- ---------------------------- @@ -228,8 +232,8 @@ COMMENT ON COLUMN infra_codegen_column.update_time IS '更新时间'; COMMENT ON COLUMN infra_codegen_column.deleted IS '是否删除'; COMMENT ON TABLE infra_codegen_column IS '代码生成表字段定义'; -DROP SEQUENCE IF EXISTS infra_codegen_column_seq; -CREATE SEQUENCE infra_codegen_column_seq +DROP SEQUENCE IF EXISTS infra_codegen_table_seq; +CREATE SEQUENCE infra_codegen_table_seq START 1; -- ---------------------------- @@ -293,8 +297,9 @@ COMMENT ON COLUMN infra_codegen_table.update_time IS '更新时间'; COMMENT ON COLUMN infra_codegen_table.deleted IS '是否删除'; COMMENT ON TABLE infra_codegen_table IS '代码生成表定义'; -DROP SEQUENCE IF EXISTS infra_codegen_table_seq; -CREATE SEQUENCE infra_codegen_table_seq + +DROP SEQUENCE IF EXISTS infra_config_seq; +CREATE SEQUENCE infra_config_seq START 1; -- ---------------------------- @@ -352,9 +357,9 @@ INSERT INTO infra_config (id, category, type, name, config_key, value, visible, COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS infra_config_seq; -CREATE SEQUENCE infra_config_seq - START 14; +DROP SEQUENCE IF EXISTS infra_data_source_config_seq; +CREATE SEQUENCE infra_data_source_config_seq + START 1; -- ---------------------------- -- Table structure for infra_data_source_config @@ -389,8 +394,8 @@ COMMENT ON COLUMN infra_data_source_config.update_time IS '更新时间'; COMMENT ON COLUMN infra_data_source_config.deleted IS '是否删除'; COMMENT ON TABLE infra_data_source_config IS '数据源配置表'; -DROP SEQUENCE IF EXISTS infra_data_source_config_seq; -CREATE SEQUENCE infra_data_source_config_seq +DROP SEQUENCE IF EXISTS infra_file_seq; +CREATE SEQUENCE infra_file_seq START 1; -- ---------------------------- @@ -430,9 +435,9 @@ COMMENT ON COLUMN infra_file.update_time IS '更新时间'; COMMENT ON COLUMN infra_file.deleted IS '是否删除'; COMMENT ON TABLE infra_file IS '文件表'; -DROP SEQUENCE IF EXISTS infra_file_seq; -CREATE SEQUENCE infra_file_seq - START 1; +DROP SEQUENCE IF EXISTS infra_file_config_seq; +CREATE SEQUENCE infra_file_config_seq + START 31; -- ---------------------------- -- Table structure for infra_file_config @@ -486,9 +491,9 @@ INSERT INTO infra_file_config (id, name, storage, remark, master, config, creato COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS infra_file_config_seq; -CREATE SEQUENCE infra_file_config_seq - START 31; +DROP SEQUENCE IF EXISTS infra_file_content_seq; +CREATE SEQUENCE infra_file_content_seq + START 1; -- ---------------------------- -- Table structure for infra_file_content @@ -521,8 +526,8 @@ COMMENT ON COLUMN infra_file_content.update_time IS '更新时间'; COMMENT ON COLUMN infra_file_content.deleted IS '是否删除'; COMMENT ON TABLE infra_file_content IS '文件表'; -DROP SEQUENCE IF EXISTS infra_file_content_seq; -CREATE SEQUENCE infra_file_content_seq +DROP SEQUENCE IF EXISTS infra_job_seq; +CREATE SEQUENCE infra_job_seq START 1; -- ---------------------------- @@ -587,9 +592,9 @@ INSERT INTO infra_job (id, name, status, handler_name, handler_param, cron_expre COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS infra_job_seq; -CREATE SEQUENCE infra_job_seq - START 36; +DROP SEQUENCE IF EXISTS infra_job_log_seq; +CREATE SEQUENCE infra_job_log_seq + START 1; -- ---------------------------- -- Table structure for infra_job_log @@ -634,8 +639,8 @@ COMMENT ON COLUMN infra_job_log.update_time IS '更新时间'; COMMENT ON COLUMN infra_job_log.deleted IS '是否删除'; COMMENT ON TABLE infra_job_log IS '定时任务日志表'; -DROP SEQUENCE IF EXISTS infra_job_log_seq; -CREATE SEQUENCE infra_job_log_seq +DROP SEQUENCE IF EXISTS system_dept_seq; +CREATE SEQUENCE system_dept_seq START 1; -- ---------------------------- @@ -701,9 +706,9 @@ INSERT INTO system_dept (id, name, parent_id, sort, leader_user_id, phone, email COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_dept_seq; -CREATE SEQUENCE system_dept_seq - START 114; +DROP SEQUENCE IF EXISTS system_dict_data_seq; +CREATE SEQUENCE system_dict_data_seq + START 1; -- ---------------------------- -- Table structure for system_dict_data @@ -1354,13 +1359,12 @@ INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_t INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-05-02 12:01:15', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', '0'); -INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3035, 40, '支付宝小程序', '40', 'system_social_type', 0, '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', '0'); COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_dict_data_seq; -CREATE SEQUENCE system_dict_data_seq - START 3003; +DROP SEQUENCE IF EXISTS system_dict_type_seq; +CREATE SEQUENCE system_dict_type_seq + START 1; -- ---------------------------- -- Table structure for system_dict_type @@ -1512,9 +1516,9 @@ INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_ti COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_dict_type_seq; -CREATE SEQUENCE system_dict_type_seq - START 1014; +DROP SEQUENCE IF EXISTS system_login_log_seq; +CREATE SEQUENCE system_login_log_seq + START 1; -- ---------------------------- -- Table structure for system_login_log @@ -1559,8 +1563,8 @@ COMMENT ON COLUMN system_login_log.deleted IS '是否删除'; COMMENT ON COLUMN system_login_log.tenant_id IS '租户编号'; COMMENT ON TABLE system_login_log IS '系统访问记录'; -DROP SEQUENCE IF EXISTS system_login_log_seq; -CREATE SEQUENCE system_login_log_seq +DROP SEQUENCE IF EXISTS system_mail_account_seq; +CREATE SEQUENCE system_mail_account_seq START 1; -- ---------------------------- @@ -1614,9 +1618,9 @@ INSERT INTO system_mail_account (id, mail, username, password, host, port, ssl_e COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_mail_account_seq; -CREATE SEQUENCE system_mail_account_seq - START 5; +DROP SEQUENCE IF EXISTS system_mail_log_seq; +CREATE SEQUENCE system_mail_log_seq + START 1; -- ---------------------------- -- Table structure for system_mail_log @@ -1673,8 +1677,8 @@ COMMENT ON COLUMN system_mail_log.update_time IS '更新时间'; COMMENT ON COLUMN system_mail_log.deleted IS '是否删除'; COMMENT ON TABLE system_mail_log IS '邮件日志表'; -DROP SEQUENCE IF EXISTS system_mail_log_seq; -CREATE SEQUENCE system_mail_log_seq +DROP SEQUENCE IF EXISTS system_mail_template_seq; +CREATE SEQUENCE system_mail_template_seq START 1; -- ---------------------------- @@ -1731,9 +1735,9 @@ INSERT INTO system_mail_template (id, name, code, account_id, nickname, title, c COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_mail_template_seq; -CREATE SEQUENCE system_mail_template_seq - START 16; +DROP SEQUENCE IF EXISTS system_menu_seq; +CREATE SEQUENCE system_menu_seq + START 1; -- ---------------------------- -- Table structure for system_menu @@ -2705,9 +2709,9 @@ INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_menu_seq; -CREATE SEQUENCE system_menu_seq - START 5013; +DROP SEQUENCE IF EXISTS system_notice_seq; +CREATE SEQUENCE system_notice_seq + START 1; -- ---------------------------- -- Table structure for system_notice @@ -2755,9 +2759,9 @@ INSERT INTO system_notice (id, title, content, type, status, creator, create_tim COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_notice_seq; -CREATE SEQUENCE system_notice_seq - START 5; +DROP SEQUENCE IF EXISTS system_notify_message_seq; +CREATE SEQUENCE system_notify_message_seq + START 1; -- ---------------------------- -- Table structure for system_notify_message @@ -2823,9 +2827,9 @@ INSERT INTO system_notify_message (id, user_id, user_type, template_id, template COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_notify_message_seq; -CREATE SEQUENCE system_notify_message_seq - START 11; +DROP SEQUENCE IF EXISTS system_notify_template_seq; +CREATE SEQUENCE system_notify_template_seq + START 1; -- ---------------------------- -- Table structure for system_notify_template @@ -2868,8 +2872,8 @@ COMMENT ON COLUMN system_notify_template.update_time IS '更新时间'; COMMENT ON COLUMN system_notify_template.deleted IS '是否删除'; COMMENT ON TABLE system_notify_template IS '站内信模板表'; -DROP SEQUENCE IF EXISTS system_notify_template_seq; -CREATE SEQUENCE system_notify_template_seq +DROP SEQUENCE IF EXISTS system_oauth2_access_token_seq; +CREATE SEQUENCE system_oauth2_access_token_seq START 1; -- ---------------------------- @@ -2918,8 +2922,8 @@ COMMENT ON COLUMN system_oauth2_access_token.deleted IS '是否删除'; COMMENT ON COLUMN system_oauth2_access_token.tenant_id IS '租户编号'; COMMENT ON TABLE system_oauth2_access_token IS 'OAuth2 访问令牌'; -DROP SEQUENCE IF EXISTS system_oauth2_access_token_seq; -CREATE SEQUENCE system_oauth2_access_token_seq +DROP SEQUENCE IF EXISTS system_oauth2_approve_seq; +CREATE SEQUENCE system_oauth2_approve_seq START 1; -- ---------------------------- @@ -2961,8 +2965,8 @@ COMMENT ON COLUMN system_oauth2_approve.deleted IS '是否删除'; COMMENT ON COLUMN system_oauth2_approve.tenant_id IS '租户编号'; COMMENT ON TABLE system_oauth2_approve IS 'OAuth2 批准表'; -DROP SEQUENCE IF EXISTS system_oauth2_approve_seq; -CREATE SEQUENCE system_oauth2_approve_seq +DROP SEQUENCE IF EXISTS system_oauth2_client_seq; +CREATE SEQUENCE system_oauth2_client_seq START 1; -- ---------------------------- @@ -3032,9 +3036,9 @@ INSERT INTO system_oauth2_client (id, client_id, secret, name, logo, description COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_oauth2_client_seq; -CREATE SEQUENCE system_oauth2_client_seq - START 43; +DROP SEQUENCE IF EXISTS system_oauth2_code_seq; +CREATE SEQUENCE system_oauth2_code_seq + START 1; -- ---------------------------- -- Table structure for system_oauth2_code @@ -3079,8 +3083,8 @@ COMMENT ON COLUMN system_oauth2_code.deleted IS '是否删除'; COMMENT ON COLUMN system_oauth2_code.tenant_id IS '租户编号'; COMMENT ON TABLE system_oauth2_code IS 'OAuth2 授权码表'; -DROP SEQUENCE IF EXISTS system_oauth2_code_seq; -CREATE SEQUENCE system_oauth2_code_seq +DROP SEQUENCE IF EXISTS system_oauth2_refresh_token_seq; +CREATE SEQUENCE system_oauth2_refresh_token_seq START 1; -- ---------------------------- @@ -3122,8 +3126,8 @@ COMMENT ON COLUMN system_oauth2_refresh_token.deleted IS '是否删除'; COMMENT ON COLUMN system_oauth2_refresh_token.tenant_id IS '租户编号'; COMMENT ON TABLE system_oauth2_refresh_token IS 'OAuth2 刷新令牌'; -DROP SEQUENCE IF EXISTS system_oauth2_refresh_token_seq; -CREATE SEQUENCE system_oauth2_refresh_token_seq +DROP SEQUENCE IF EXISTS system_operate_log_seq; +CREATE SEQUENCE system_operate_log_seq START 1; -- ---------------------------- @@ -3179,8 +3183,8 @@ COMMENT ON COLUMN system_operate_log.deleted IS '是否删除'; COMMENT ON COLUMN system_operate_log.tenant_id IS '租户编号'; COMMENT ON TABLE system_operate_log IS '操作日志记录 V2 版本'; -DROP SEQUENCE IF EXISTS system_operate_log_seq; -CREATE SEQUENCE system_operate_log_seq +DROP SEQUENCE IF EXISTS system_post_seq; +CREATE SEQUENCE system_post_seq START 1; -- ---------------------------- @@ -3232,9 +3236,9 @@ INSERT INTO system_post (id, code, name, sort, status, remark, creator, create_t COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_post_seq; -CREATE SEQUENCE system_post_seq - START 6; +DROP SEQUENCE IF EXISTS system_role_seq; +CREATE SEQUENCE system_role_seq + START 1; -- ---------------------------- -- Table structure for system_role @@ -3295,9 +3299,9 @@ INSERT INTO system_role (id, name, code, sort, data_scope, data_scope_dept_ids, COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_role_seq; -CREATE SEQUENCE system_role_seq - START 159; +DROP SEQUENCE IF EXISTS system_role_menu_seq; +CREATE SEQUENCE system_role_menu_seq + START 1; -- ---------------------------- -- Table structure for system_role_menu @@ -4201,9 +4205,9 @@ INSERT INTO system_role_menu (id, role_id, menu_id, creator, create_time, update COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_role_menu_seq; -CREATE SEQUENCE system_role_menu_seq - START 6139; +DROP SEQUENCE IF EXISTS system_sms_channel_seq; +CREATE SEQUENCE system_sms_channel_seq + START 1; -- ---------------------------- -- Table structure for system_sms_channel @@ -4255,9 +4259,9 @@ INSERT INTO system_sms_channel (id, signature, code, status, remark, api_key, ap COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_sms_channel_seq; -CREATE SEQUENCE system_sms_channel_seq - START 8; +DROP SEQUENCE IF EXISTS system_sms_code_seq; +CREATE SEQUENCE system_sms_code_seq + START 1; -- ---------------------------- -- Table structure for system_sms_code @@ -4304,8 +4308,8 @@ COMMENT ON COLUMN system_sms_code.deleted IS '是否删除'; COMMENT ON COLUMN system_sms_code.tenant_id IS '租户编号'; COMMENT ON TABLE system_sms_code IS '手机验证码'; -DROP SEQUENCE IF EXISTS system_sms_code_seq; -CREATE SEQUENCE system_sms_code_seq +DROP SEQUENCE IF EXISTS system_sms_log_seq; +CREATE SEQUENCE system_sms_log_seq START 1; -- ---------------------------- @@ -4375,8 +4379,8 @@ COMMENT ON COLUMN system_sms_log.update_time IS '更新时间'; COMMENT ON COLUMN system_sms_log.deleted IS '是否删除'; COMMENT ON TABLE system_sms_log IS '短信日志'; -DROP SEQUENCE IF EXISTS system_sms_log_seq; -CREATE SEQUENCE system_sms_log_seq +DROP SEQUENCE IF EXISTS system_sms_template_seq; +CREATE SEQUENCE system_sms_template_seq START 1; -- ---------------------------- @@ -4447,9 +4451,9 @@ INSERT INTO system_sms_template (id, type, status, code, name, content, params, COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_sms_template_seq; -CREATE SEQUENCE system_sms_template_seq - START 20; +DROP SEQUENCE IF EXISTS system_social_client_seq; +CREATE SEQUENCE system_social_client_seq + START 1; -- ---------------------------- -- Table structure for system_social_client @@ -4462,8 +4466,8 @@ CREATE TABLE system_social_client social_type int2 NOT NULL, user_type int2 NOT NULL, client_id varchar(255) NOT NULL, - client_secret varchar(2048) NOT NULL, - public_key varchar(2048) NULL DEFAULT NULL, + client_secret varchar(255) NOT NULL, + public_key varchar(255) NULL DEFAULT NULL, agent_id varchar(255) NULL DEFAULT NULL, status int2 NOT NULL, creator varchar(64) NULL DEFAULT '', @@ -4483,7 +4487,7 @@ COMMENT ON COLUMN system_social_client.social_type IS '社交平台的类型'; COMMENT ON COLUMN system_social_client.user_type IS '用户类型'; COMMENT ON COLUMN system_social_client.client_id IS '客户端编号'; COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥'; -COMMENT ON COLUMN system_social_client.public_key IS 'publicKey公钥'; +COMMENT ON COLUMN system_social_client.public_key IS 'publicKey 公钥'; COMMENT ON COLUMN system_social_client.agent_id IS '代理编号'; COMMENT ON COLUMN system_social_client.status IS '状态'; COMMENT ON COLUMN system_social_client.creator IS '创建者'; @@ -4507,9 +4511,9 @@ INSERT INTO system_social_client (id, name, social_type, user_type, client_id, c COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_social_client_seq; -CREATE SEQUENCE system_social_client_seq - START 45; +DROP SEQUENCE IF EXISTS system_social_user_seq; +CREATE SEQUENCE system_social_user_seq + START 1; -- ---------------------------- -- Table structure for system_social_user @@ -4556,8 +4560,8 @@ COMMENT ON COLUMN system_social_user.deleted IS '是否删除'; COMMENT ON COLUMN system_social_user.tenant_id IS '租户编号'; COMMENT ON TABLE system_social_user IS '社交用户表'; -DROP SEQUENCE IF EXISTS system_social_user_seq; -CREATE SEQUENCE system_social_user_seq +DROP SEQUENCE IF EXISTS system_social_user_bind_seq; +CREATE SEQUENCE system_social_user_bind_seq START 1; -- ---------------------------- @@ -4595,8 +4599,8 @@ COMMENT ON COLUMN system_social_user_bind.deleted IS '是否删除'; COMMENT ON COLUMN system_social_user_bind.tenant_id IS '租户编号'; COMMENT ON TABLE system_social_user_bind IS '社交绑定表'; -DROP SEQUENCE IF EXISTS system_social_user_bind_seq; -CREATE SEQUENCE system_social_user_bind_seq +DROP SEQUENCE IF EXISTS system_tenant_seq; +CREATE SEQUENCE system_tenant_seq START 1; -- ---------------------------- @@ -4653,9 +4657,9 @@ INSERT INTO system_tenant (id, name, contact_user_id, contact_name, contact_mobi COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_tenant_seq; -CREATE SEQUENCE system_tenant_seq - START 123; +DROP SEQUENCE IF EXISTS system_tenant_package_seq; +CREATE SEQUENCE system_tenant_package_seq + START 1; -- ---------------------------- -- Table structure for system_tenant_package @@ -4700,9 +4704,9 @@ INSERT INTO system_tenant_package (id, name, status, remark, menu_ids, creator, COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_tenant_package_seq; -CREATE SEQUENCE system_tenant_package_seq - START 113; +DROP SEQUENCE IF EXISTS system_user_post_seq; +CREATE SEQUENCE system_user_post_seq + START 1; -- ---------------------------- -- Table structure for system_user_post @@ -4752,9 +4756,9 @@ INSERT INTO system_user_post (id, user_id, post_id, creator, create_time, update COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_user_post_seq; -CREATE SEQUENCE system_user_post_seq - START 126; +DROP SEQUENCE IF EXISTS system_user_role_seq; +CREATE SEQUENCE system_user_role_seq + START 1; -- ---------------------------- -- Table structure for system_user_role @@ -4812,9 +4816,9 @@ INSERT INTO system_user_role (id, user_id, role_id, creator, create_time, update COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_user_role_seq; -CREATE SEQUENCE system_user_role_seq - START 49; +DROP SEQUENCE IF EXISTS system_users_seq; +CREATE SEQUENCE system_users_seq + START 1; -- ---------------------------- -- Table structure for system_users @@ -4895,9 +4899,9 @@ INSERT INTO system_users (id, username, password, nickname, remark, dept_id, pos COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS system_users_seq; -CREATE SEQUENCE system_users_seq - START 142; +DROP SEQUENCE IF EXISTS yudao_demo01_contact_seq; +CREATE SEQUENCE yudao_demo01_contact_seq + START 1; -- ---------------------------- -- Table structure for yudao_demo01_contact @@ -4945,9 +4949,9 @@ INSERT INTO yudao_demo01_contact (id, name, sex, birthday, description, avatar, COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS yudao_demo01_contact_seq; -CREATE SEQUENCE yudao_demo01_contact_seq - START 2; +DROP SEQUENCE IF EXISTS yudao_demo02_category_seq; +CREATE SEQUENCE yudao_demo02_category_seq + START 1; -- ---------------------------- -- Table structure for yudao_demo02_category @@ -4994,9 +4998,9 @@ INSERT INTO yudao_demo02_category (id, name, parent_id, creator, create_time, up COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS yudao_demo02_category_seq; -CREATE SEQUENCE yudao_demo02_category_seq - START 7; +DROP SEQUENCE IF EXISTS yudao_demo03_course_seq; +CREATE SEQUENCE yudao_demo03_course_seq + START 1; -- ---------------------------- -- Table structure for yudao_demo03_course @@ -5056,9 +5060,9 @@ INSERT INTO yudao_demo03_course (id, student_id, name, score, creator, create_ti COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS yudao_demo03_course_seq; -CREATE SEQUENCE yudao_demo03_course_seq - START 21; +DROP SEQUENCE IF EXISTS yudao_demo03_grade_seq; +CREATE SEQUENCE yudao_demo03_grade_seq + START 1; -- ---------------------------- -- Table structure for yudao_demo03_grade @@ -5104,9 +5108,9 @@ INSERT INTO yudao_demo03_grade (id, student_id, name, teacher, creator, create_t COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS yudao_demo03_grade_seq; -CREATE SEQUENCE yudao_demo03_grade_seq - START 10; +DROP SEQUENCE IF EXISTS yudao_demo03_student_seq; +CREATE SEQUENCE yudao_demo03_student_seq + START 1; -- ---------------------------- -- Table structure for yudao_demo03_student @@ -5154,7 +5158,3 @@ INSERT INTO yudao_demo03_student (id, name, sex, birthday, description, creator, COMMIT; -- @formatter:on -DROP SEQUENCE IF EXISTS yudao_demo03_student_seq; -CREATE SEQUENCE yudao_demo03_student_seq - START 10; - From cdc4255da1539cd5d9016973f7b531d77cf8f774 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 29 Nov 2025 18:56:42 +0800 Subject: [PATCH 08/16] =?UTF-8?q?fix=EF=BC=9A=E3=80=90bpm=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=20moveActivityIdsToSingleActivityId=20?= =?UTF-8?q?=E4=BC=A0=E5=85=A5=E7=9A=84=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=8F=82?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E5=AF=B9=E5=BA=94=20https://gitee.com/zhijia?= =?UTF-8?q?ntianya/ruoyi-vue-pro/pulls/1466/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/bpm/service/task/BpmTaskServiceImpl.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java index e562fef918..8bb9486594 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java @@ -922,16 +922,12 @@ public class BpmTaskServiceImpl implements BpmTaskService { List returnUserTaskList = BpmnModelUtils.iteratorFindChildUserTasks(targetElement, runTaskKeyList, null, null); List returnTaskKeyList = convertList(returnUserTaskList, UserTask::getId); -// List runExecutionIds = new ArrayList<>(); // 2. 给当前要被退回的 task 数组,设置退回意见 taskList.forEach(task -> { // 需要排除掉,不需要设置退回意见的任务 if (!returnTaskKeyList.contains(task.getTaskDefinitionKey())) { return; } -// if (task.getExecutionId() != null) { -// runExecutionIds.add(task.getExecutionId()); -// } // 判断是否分配给自己任务,因为会签任务,一个节点会有多个任务 if (isAssignUserTask(userId, task)) { // 情况一:自己的任务,进行 RETURN 标记 @@ -953,11 +949,8 @@ public class BpmTaskServiceImpl implements BpmTaskService { // 相关 issue: https://github.com/flowable/flowable-engine/issues/3944 // ② flowable 7.2.0 版本后,继续使用 moveActivityIdsToSingleActivityId 方法。原因:flowable 7.2.0 版本修复了该问题。 // 相关 issue:https://github.com/YunaiV/ruoyi-vue-pro/issues/1018 - // ③ moveExecutionsToSingleActivityId 基于运行时执行实例层面的精确控制,它的操作对象(第一个参数)是 executionId,需要收集到 runExecutionIds - // moveActivityIdsToSingleActivityId 基于 BPMN 模型层面的节点迁移,它的操作对象(第一个参数)是 taskKey runtimeService.createChangeActivityStateBuilder() .processInstanceId(currentTask.getProcessInstanceId()) -// .moveExecutionsToSingleActivityId(runExecutionIds, reqVO.getTargetTaskDefinitionKey()) .moveActivityIdsToSingleActivityId(returnTaskKeyList, reqVO.getTargetTaskDefinitionKey()) // 设置需要预测的任务 ids 的流程变量,用于辅助预测 .processVariable(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_NEED_SIMULATE_TASK_IDS, needSimulateTaskDefinitionKeys) @@ -1470,7 +1463,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { return; } - // 自动去重,通过自动审批的方式 TODO @芋艿 驳回的情况得考虑一下;@lesan:驳回后,又自动审批么? + // 自动去重,通过自动审批的方式 BpmProcessDefinitionInfoDO processDefinitionInfo = bpmProcessDefinitionService.getProcessDefinitionInfo(task.getProcessDefinitionId()); if (processDefinitionInfo == null) { log.error("[processTaskAssigned][taskId({}) 没有找到流程定义({})]", task.getId(), task.getProcessDefinitionId()); From 8aaead39bca6759dea3911a7abc83701cd12e906 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Tue, 2 Dec 2025 17:42:28 +0800 Subject: [PATCH 09/16] =?UTF-8?q?feat=EF=BC=9A=E3=80=90infra=E3=80=91s3=20?= =?UTF-8?q?=E7=94=9F=E6=88=90=20presignGetUrl=20=E6=97=B6=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E5=AF=B9=20path=20=E8=BF=9B=E8=A1=8C=E8=A7=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E8=A7=A3=E5=86=B3=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E6=98=AF=E4=B8=AD=E6=96=87=E6=97=B6=E8=AE=BF=E9=97=AE=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yudao/framework/common/util/http/HttpUtils.java | 11 +++++++++++ .../framework/file/core/client/s3/S3FileClient.java | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/http/HttpUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/http/HttpUtils.java index 85a644f1f1..10744d76bc 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/http/HttpUtils.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/http/HttpUtils.java @@ -13,6 +13,7 @@ import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; import java.net.URI; +import java.net.URLDecoder; import java.net.URLEncoder; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; @@ -35,6 +36,16 @@ public class HttpUtils { return URLEncoder.encode(value, StandardCharsets.UTF_8); } + /** + * 解码 URL 参数 + * + * @param value 参数 + * @return 解码后的参数 + */ + public static String decodeUtf8(String value) { + return URLDecoder.decode(value, StandardCharsets.UTF_8); + } + @SuppressWarnings("unchecked") public static String replaceUrlQuery(String url, String key, String value) { UrlBuilder builder = UrlBuilder.of(url, Charset.defaultCharset()); diff --git a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java index d2213f5328..74a9361f99 100644 --- a/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java +++ b/yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/client/s3/S3FileClient.java @@ -116,7 +116,7 @@ public class S3FileClient extends AbstractFileClient { public String presignGetUrl(String url, Integer expirationSeconds) { // 1. 将 url 转换为 path String path = StrUtil.removePrefix(url, config.getDomain() + "/"); - path = HttpUtils.removeUrlQuery(path); + path = HttpUtils.decodeUtf8(HttpUtils.removeUrlQuery(path)); // 2.1 情况一:公开访问:无需签名 // 考虑到老版本的兼容,所以必须是 config.getEnablePublicAccess() 为 false 时,才进行签名 From 0df951079be8e3dcf1d7186f41a7a95a1c33ab4a Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 6 Dec 2025 09:28:00 +0800 Subject: [PATCH 10/16] =?UTF-8?q?fix=EF=BC=9A=E3=80=90=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E3=80=91TimestampLocalDateTimeSerializer=20=E7=9A=84=20fieldNa?= =?UTF-8?q?me=20=E4=B8=BA=E7=A9=BA=E7=9A=84=E6=83=85=E5=86=B5=EF=BC=8C?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=20https://github.com/YunaiV/ruoyi-vue-pro/is?= =?UTF-8?q?sues/1032?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TimestampLocalDateTimeSerializer.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeSerializer.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeSerializer.java index bed47e93bb..baefa50015 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeSerializer.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/json/databind/TimestampLocalDateTimeSerializer.java @@ -23,16 +23,18 @@ public class TimestampLocalDateTimeSerializer extends JsonSerializer clazz = gen.getOutputContext().getCurrentValue().getClass(); - Field field = ReflectUtil.getField(clazz, fieldName); // 情况一:有 JsonFormat 自定义注解,则使用它。https://github.com/YunaiV/ruoyi-vue-pro/pull/1019 - JsonFormat[] jsonFormats = field.getAnnotationsByType(JsonFormat.class); - if (jsonFormats.length > 0) { - String pattern = jsonFormats[0].pattern(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); - gen.writeString(formatter.format(value)); - return; + String fieldName = gen.getOutputContext().getCurrentName(); + if (fieldName != null) { + Class clazz = gen.getOutputContext().getCurrentValue().getClass(); + Field field = ReflectUtil.getField(clazz, fieldName); + JsonFormat[] jsonFormats = field.getAnnotationsByType(JsonFormat.class); + if (jsonFormats.length > 0) { + String pattern = jsonFormats[0].pattern(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); + gen.writeString(formatter.format(value)); + return; + } } // 情况二:默认将 LocalDateTime 对象,转换为 Long 时间戳 From d12abb4e5a9ed55cca9164ac7bb8dc80d633d6ac Mon Sep 17 00:00:00 2001 From: Leslie Date: Sat, 6 Dec 2025 22:56:19 +0800 Subject: [PATCH 11/16] =?UTF-8?q?fixed:=20=E5=BC=BA=E5=88=B6=E6=8C=87?= =?UTF-8?q?=E5=AE=9Aquartz=E7=89=88=E6=9C=AC=EF=BC=8C=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E4=BD=BF=E7=94=A8Postgres=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E4=B8=8Equartz2.5.2=E7=89=88=E6=9C=AC=E4=BA=A7?= =?UTF-8?q?=E7=94=9F=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 1de1b27e92..e00876b545 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,13 @@ pom import + + + + org.quartz-scheduler + quartz + 2.5.0 + From 08aba06eff1505e09253fe586e3d998240ce8080 Mon Sep 17 00:00:00 2001 From: Leslie Date: Sat, 6 Dec 2025 23:00:11 +0800 Subject: [PATCH 12/16] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yudao/framework/web/config/YudaoWebAutoConfiguration.java | 1 - 1 file changed, 1 deletion(-) diff --git a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java index 38748930cc..c0d1344392 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java +++ b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java @@ -103,7 +103,6 @@ public class YudaoWebAutoConfiguration { /** * 创建 CorsFilter Bean,解决跨域问题 */ - @Order(value = WebFilterOrderEnum.CORS_FILTER) @Bean @Order(value = WebFilterOrderEnum.CORS_FILTER) // 特殊:修复因执行顺序影响到跨域配置不生效问题 public FilterRegistrationBean corsFilterBean() { From ea283f117fad68bb5e76a4624c79dea9a5781a12 Mon Sep 17 00:00:00 2001 From: Leslie Date: Sat, 6 Dec 2025 23:00:38 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E4=BB=A3=E7=A0=81=E7=89=87=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/core/client/impl/weixin/AbstractWxPayClient.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java index 71ffa320ca..3b54862a7d 100644 --- a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java +++ b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/weixin/AbstractWxPayClient.java @@ -72,11 +72,6 @@ public abstract class AbstractWxPayClient extends AbstractPayClient Date: Sat, 6 Dec 2025 23:08:17 +0800 Subject: [PATCH 14/16] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0quartz=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=87=B32.5.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e00876b545..52bf76cc72 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ org.quartz-scheduler quartz - 2.5.0 + 2.5.2 From 0531651efcbf14824cedb360dd6b23a7822198d4 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 7 Dec 2025 10:21:00 +0800 Subject: [PATCH 15/16] =?UTF-8?q?fix=EF=BC=9A=E6=9C=80=E5=A4=A7=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E4=BB=8E=20100->=20200=EF=BC=8C=E6=9B=B4=E5=A5=BD?= =?UTF-8?q?=E7=9A=84=E9=80=82=E5=BA=94=20vben=EF=BC=8C=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=20issue=EF=BC=9Ahttps://github.com/yudaocode/yudao-ui-admin-vb?= =?UTF-8?q?en/issues/176?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/iocoder/yudao/framework/common/pojo/PageParam.java | 2 +- .../controller/admin/kefu/vo/message/KeFuMessageListReqVO.java | 2 +- .../controller/app/kefu/vo/message/AppKeFuMessagePageReqVO.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java index 268d117f95..65356e31d7 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java @@ -30,7 +30,7 @@ public class PageParam implements Serializable { @Schema(description = "每页条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") @NotNull(message = "每页条数不能为空") @Min(value = 1, message = "每页条数最小值为 1") - @Max(value = 100, message = "每页条数最大值为 100") + @Max(value = 200, message = "每页条数最大值为 200") private Integer pageSize = PAGE_SIZE; } diff --git a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/kefu/vo/message/KeFuMessageListReqVO.java b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/kefu/vo/message/KeFuMessageListReqVO.java index 25b8f499ce..a7d76f8542 100644 --- a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/kefu/vo/message/KeFuMessageListReqVO.java +++ b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/kefu/vo/message/KeFuMessageListReqVO.java @@ -28,7 +28,7 @@ public class KeFuMessageListReqVO { @Schema(description = "每次查询条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") @NotNull(message = "每次查询条数不能为空") @Min(value = 1, message = "每次查询条数最小值为 1") - @Max(value = 100, message = "每次查询最大值为 100") + @Max(value = 200, message = "每次查询最大值为 200") private Integer limit = LIMIT; } \ No newline at end of file diff --git a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/vo/message/AppKeFuMessagePageReqVO.java b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/vo/message/AppKeFuMessagePageReqVO.java index 78b105aeac..6eae3f9738 100644 --- a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/vo/message/AppKeFuMessagePageReqVO.java +++ b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/vo/message/AppKeFuMessagePageReqVO.java @@ -27,7 +27,7 @@ public class AppKeFuMessagePageReqVO { @Schema(description = "每次查询条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") @NotNull(message = "每次查询条数不能为空") @Min(value = 1, message = "每次查询条数最小值为 1") - @Max(value = 100, message = "每次查询最大值为 100") + @Max(value = 200, message = "每次查询最大值为 200") private Integer limit = LIMIT; } \ No newline at end of file From ff129c2ed26e73495bcd3cd55dcd289455104565 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 7 Dec 2025 10:38:20 +0800 Subject: [PATCH 16/16] =?UTF-8?q?fix=EF=BC=9Aquartz=20=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=A4=B1=E6=95=88=E9=97=AE=E9=A2=98=EF=BC=88?= =?UTF-8?q?=E4=BB=85=20postgresql=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 52bf76cc72..5f859b0fd1 100644 --- a/pom.xml +++ b/pom.xml @@ -58,6 +58,7 @@ + org.quartz-scheduler quartz