!221 发布 2.3.0 正式版

Merge pull request !221 from 疯狂的狮子Li/dev
This commit is contained in:
疯狂的狮子Li
2025-03-27 02:52:31 +00:00
committed by Gitee
28 changed files with 112 additions and 41 deletions

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-auth" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-auth:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-auth:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-auth/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-gateway" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-gateway:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-gateway:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-gateway/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-gen" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-gen:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-gen:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-gen/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-job" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-job:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-job:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-job/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-monitor" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-monitor:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-monitor:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-monitor/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-nacos" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-nacos:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-nacos:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-nacos/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-resource" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-resource:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-resource:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-resource/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-seata-server" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-seata-server:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-seata-server:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-seata-server/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-sentinel-dashboard" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-sentinel-dashboard:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-sentinel-dashboard:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-sentinel-dashboard/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-snailjob-server" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-snailjob-server:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-snailjob-server:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-visual/ruoyi-snailjob-server/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-system" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-system:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-system:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-system/Dockerfile" />
</settings>

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="ruoyi-workflow" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-workflow:2.3.0-BETA2" />
<option name="imageTag" value="ruoyi/ruoyi-workflow:2.3.0" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-modules/ruoyi-workflow/Dockerfile" />
</settings>

View File

@@ -10,7 +10,7 @@
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://gitee.com/dromara/RuoYi-Cloud-Plus/blob/master/LICENSE)
[![使用IntelliJ IDEA开发维护](https://img.shields.io/badge/IntelliJ%20IDEA-提供支持-blue.svg)](https://www.jetbrains.com/?from=RuoYi-Cloud-Plus)
<br>
[![RuoYi-Cloud-Plus](https://img.shields.io/badge/RuoYi_Cloud_Plus-2.3.0--BETA2-success.svg)](https://gitee.com/dromara/RuoYi-Cloud-Plus)
[![RuoYi-Cloud-Plus](https://img.shields.io/badge/RuoYi_Cloud_Plus-2.3.0-success.svg)](https://gitee.com/dromara/RuoYi-Cloud-Plus)
[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.4-blue.svg)]()
[![JDK-17](https://img.shields.io/badge/JDK-17-green.svg)]()
[![JDK-21](https://img.shields.io/badge/JDK-21-green.svg)]()

View File

@@ -13,7 +13,7 @@
<description>Dromara RuoYi-Cloud-Plus微服务系统</description>
<properties>
<revision>2.3.0-BETA2</revision>
<revision>2.3.0</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version>
@@ -21,7 +21,7 @@
<spring-cloud.version>2024.0.0</spring-cloud.version>
<spring-boot-admin.version>3.4.5</spring-boot-admin.version>
<mybatis.version>3.5.16</mybatis.version>
<mybatis-plus.version>3.5.10.1</mybatis-plus.version>
<mybatis-plus.version>3.5.11</mybatis-plus.version>
<p6spy.version>3.9.1</p6spy.version>
<dynamic-ds.version>4.3.1</dynamic-ds.version>
<velocity.version>2.3</velocity.version>
@@ -32,7 +32,7 @@
<hutool.version>5.8.35</hutool.version>
<redisson.version>3.45.1</redisson.version>
<lock4j.version>2.2.7</lock4j.version>
<snailjob.version>1.4.0-beta2</snailjob.version>
<snailjob.version>1.4.0</snailjob.version>
<satoken.version>1.40.0</satoken.version>
<lombok.version>1.18.36</lombok.version>
<logstash.version>7.4</logstash.version>

View File

@@ -15,7 +15,7 @@
</description>
<properties>
<revision>2.3.0-BETA2</revision>
<revision>2.3.0</revision>
</properties>
<dependencyManagement>

View File

@@ -19,14 +19,14 @@ public class PasswordLoginBody extends LoginBody {
* 用户名
*/
@NotBlank(message = "{user.username.not.blank}")
@Length(min = 2, max = 20, message = "{user.username.length.valid}")
@Length(min = 2, max = 30, message = "{user.username.length.valid}")
private String username;
/**
* 用户密码
*/
@NotBlank(message = "{user.password.not.blank}")
@Length(min = 5, max = 20, message = "{user.password.length.valid}")
@Length(min = 5, max = 30, message = "{user.password.length.valid}")
private String password;
}

View File

@@ -14,7 +14,7 @@
</description>
<properties>
<revision>2.3.0-BETA2</revision>
<revision>2.3.0</revision>
<spring-cloud-alibaba.version>2023.0.1.2</spring-cloud-alibaba.version>
<sentinel.version>1.8.8</sentinel.version>
<seata.version>2.3.0</seata.version>

View File

@@ -14,7 +14,7 @@
</description>
<properties>
<revision>2.3.0-BETA2</revision>
<revision>2.3.0</revision>
</properties>
<dependencyManagement>

View File

@@ -1,5 +1,6 @@
package org.dromara.common.dubbo.config;
import org.apache.dubbo.common.constants.CommonConstants;
import org.dromara.common.core.utils.StringUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
@@ -35,7 +36,7 @@ public class CustomBeanFactoryPostProcessor implements BeanFactoryPostProcessor,
*/
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
String property = System.getProperty("DUBBO_IP_TO_REGISTRY");
String property = System.getProperty(CommonConstants.DubboProperty.DUBBO_IP_TO_REGISTRY);
if (StringUtils.isNotBlank(property)) {
return;
}
@@ -59,6 +60,6 @@ public class CustomBeanFactoryPostProcessor implements BeanFactoryPostProcessor,
}
}
// 设置系统属性 DUBBO_IP_TO_REGISTRY 为获取到的 IP 地址
System.setProperty("DUBBO_IP_TO_REGISTRY", ip);
System.setProperty(CommonConstants.DubboProperty.DUBBO_IP_TO_REGISTRY, ip);
}
}

View File

@@ -245,9 +245,10 @@ public class ExcelUtil {
.registerWriteHandler(new DataWriteHandler(data.get(0).getClass()))
.build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
// 单表多数据导出 模板格式为 {.属性}
for (T d : data) {
excelWriter.fill(d, writeSheet);
excelWriter.fill(d, fillConfig, writeSheet);
}
excelWriter.finish();
}
@@ -320,7 +321,7 @@ public class ExcelUtil {
// 多表导出必须使用 FillWrapper
excelWriter.fill(new FillWrapper(map.getKey(), (Collection<?>) map.getValue()), fillConfig, writeSheet);
} else {
excelWriter.fill(map.getValue(), writeSheet);
excelWriter.fill(map.getValue(), fillConfig, writeSheet);
}
}
excelWriter.finish();

View File

@@ -0,0 +1 @@
# 覆盖sentinel内置配置 不可删除

View File

@@ -264,7 +264,7 @@ springdoc:
# seata配置
seata:
# 是否启用
enabled: true
enabled: false
# Seata 应用编号,默认为应用名
application-id: ${spring.application.name}
# Seata 事务组编号,用于 TC 集群名

View File

@@ -31,8 +31,6 @@ snail-job:
job-pull-page-size: 1000
# 服务器端口
server-port: 17888
# 号段模式下步长配置
step: 100
# 日志保存时间(单位: day)
log-storage: 90
log-storage: 7
rpc-type: grpc

View File

@@ -27,7 +27,7 @@ services:
network_mode: "host"
nacos:
image: ruoyi/ruoyi-nacos:2.3.0-BETA2
image: ruoyi/ruoyi-nacos:2.3.0
container_name: nacos
ports:
- "8848:8848"
@@ -94,7 +94,7 @@ services:
network_mode: "host"
seata-server:
image: ruoyi/ruoyi-seata-server:2.3.0-BETA2
image: ruoyi/ruoyi-seata-server:2.3.0
container_name: seata-server
ports:
- "7091:7091"
@@ -133,7 +133,7 @@ services:
network_mode: "host"
sentinel:
image: ruoyi/ruoyi-sentinel-dashboard:2.3.0-BETA2
image: ruoyi/ruoyi-sentinel-dashboard:2.3.0
container_name: sentinel
environment:
TZ: Asia/Shanghai
@@ -148,7 +148,7 @@ services:
network_mode: "host"
ruoyi-monitor:
image: ruoyi/ruoyi-monitor:2.3.0-BETA2
image: ruoyi/ruoyi-monitor:2.3.0
container_name: ruoyi-monitor
environment:
# 时区上海
@@ -164,7 +164,7 @@ services:
network_mode: "host"
ruoyi-snailjob-server:
image: ruoyi/ruoyi-snailjob-server:2.3.0-BETA2
image: ruoyi/ruoyi-snailjob-server:2.3.0
container_name: ruoyi-snailjob-server
environment:
# 时区上海
@@ -178,7 +178,7 @@ services:
network_mode: "host"
ruoyi-gateway:
image: ruoyi/ruoyi-gateway:2.3.0-BETA2
image: ruoyi/ruoyi-gateway:2.3.0
container_name: ruoyi-gateway
environment:
# 时区上海
@@ -194,7 +194,7 @@ services:
network_mode: "host"
ruoyi-auth:
image: ruoyi/ruoyi-auth:2.3.0-BETA2
image: ruoyi/ruoyi-auth:2.3.0
container_name: ruoyi-auth
environment:
# 时区上海
@@ -210,7 +210,7 @@ services:
network_mode: "host"
ruoyi-system:
image: ruoyi/ruoyi-system:2.3.0-BETA2
image: ruoyi/ruoyi-system:2.3.0
container_name: ruoyi-system
environment:
# 时区上海
@@ -226,7 +226,7 @@ services:
network_mode: "host"
ruoyi-gen:
image: ruoyi/ruoyi-gen:2.3.0-BETA2
image: ruoyi/ruoyi-gen:2.3.0
container_name: ruoyi-gen
environment:
# 时区上海
@@ -242,7 +242,7 @@ services:
network_mode: "host"
ruoyi-job:
image: ruoyi/ruoyi-job:2.3.0-BETA2
image: ruoyi/ruoyi-job:2.3.0
container_name: ruoyi-job
environment:
# 时区上海
@@ -258,7 +258,7 @@ services:
network_mode: "host"
ruoyi-resource:
image: ruoyi/ruoyi-resource:2.3.0-BETA2
image: ruoyi/ruoyi-resource:2.3.0
container_name: ruoyi-resource
environment:
# 时区上海
@@ -274,7 +274,7 @@ services:
network_mode: "host"
ruoyi-workflow:
image: ruoyi/ruoyi-workflow:2.3.0-BETA2
image: ruoyi/ruoyi-workflow:2.3.0
container_name: ruoyi-workflow
environment:
# 时区上海

View File

@@ -363,3 +363,31 @@ COMMENT ON COLUMN test_leave.create_by IS '创建者';
COMMENT ON COLUMN test_leave.create_time IS '创建时间';
COMMENT ON COLUMN test_leave.update_by IS '更新者';
COMMENT ON COLUMN test_leave.update_time IS '更新时间';
-- for AT mode you must to init this sql for you business database. the seata server not need it.
CREATE TABLE undo_log
(
id NUMBER(19) NOT NULL,
branch_id NUMBER(19) NOT NULL,
xid VARCHAR2(128) NOT NULL,
context VARCHAR2(128) NOT NULL,
rollback_info BLOB NOT NULL,
log_status NUMBER(10) NOT NULL,
log_created TIMESTAMP(0) NOT NULL,
log_modified TIMESTAMP(0) NOT NULL,
PRIMARY KEY (id),
CONSTRAINT ux_undo_log UNIQUE (xid, branch_id)
);
CREATE INDEX ix_log_created ON undo_log(log_created);
COMMENT ON TABLE undo_log IS 'AT transaction mode undo table';
COMMENT ON COLUMN undo_log.branch_id is 'branch transaction id';
COMMENT ON COLUMN undo_log.xid is 'global transaction id';
COMMENT ON COLUMN undo_log.context is 'undo_log context,such as serialization';
COMMENT ON COLUMN undo_log.rollback_info is 'rollback info';
COMMENT ON COLUMN undo_log.log_status is '0:normal status,1:defense status';
COMMENT ON COLUMN undo_log.log_created is 'create datetime';
COMMENT ON COLUMN undo_log.log_modified is 'modify datetime';
-- Generate ID using sequence and trigger
CREATE SEQUENCE UNDO_LOG_SEQ START WITH 1 INCREMENT BY 1;

View File

@@ -356,3 +356,31 @@ COMMENT ON COLUMN test_leave.create_by IS '创建者';
COMMENT ON COLUMN test_leave.create_time IS '创建时间';
COMMENT ON COLUMN test_leave.update_by IS '更新者';
COMMENT ON COLUMN test_leave.update_time IS '更新时间';
-- for AT mode you must to init this sql for you business database. the seata server not need it.
CREATE TABLE IF NOT EXISTS public.undo_log
(
id SERIAL NOT NULL,
branch_id BIGINT NOT NULL,
xid VARCHAR(128) NOT NULL,
context VARCHAR(128) NOT NULL,
rollback_info BYTEA NOT NULL,
log_status INT NOT NULL,
log_created TIMESTAMP(0) NOT NULL,
log_modified TIMESTAMP(0) NOT NULL,
CONSTRAINT pk_undo_log PRIMARY KEY (id),
CONSTRAINT ux_undo_log UNIQUE (xid, branch_id)
);
CREATE INDEX ix_log_created ON undo_log(log_created);
COMMENT ON TABLE public.undo_log IS 'AT transaction mode undo table';
COMMENT ON COLUMN public.undo_log.branch_id IS 'branch transaction id';
COMMENT ON COLUMN public.undo_log.xid IS 'global transaction id';
COMMENT ON COLUMN public.undo_log.context IS 'undo_log context,such as serialization';
COMMENT ON COLUMN public.undo_log.rollback_info IS 'rollback info';
COMMENT ON COLUMN public.undo_log.log_status IS '0:normal status,1:defense status';
COMMENT ON COLUMN public.undo_log.log_created IS 'create datetime';
COMMENT ON COLUMN public.undo_log.log_modified IS 'modify datetime';
CREATE SEQUENCE IF NOT EXISTS undo_log_id_seq INCREMENT BY 1 MINVALUE 1 ;

View File

@@ -201,3 +201,17 @@ create table test_leave
update_time datetime null comment '更新时间',
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB COMMENT = '请假申请表';
-- for AT mode you must to init this sql for you business database. the seata server not need it.
CREATE TABLE IF NOT EXISTS undo_log
(
branch_id BIGINT(20) NOT NULL COMMENT 'branch transaction id',
xid VARCHAR(100) NOT NULL COMMENT 'global transaction id',
context VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization',
rollback_info LONGBLOB NOT NULL COMMENT 'rollback info',
log_status INT(11) NOT NULL COMMENT '0:normal status,1:defense status',
log_created DATETIME(6) NOT NULL COMMENT 'create datetime',
log_modified DATETIME(6) NOT NULL COMMENT 'modify datetime',
UNIQUE KEY ux_undo_log (xid, branch_id)
) ENGINE = InnoDB COMMENT ='AT transaction mode undo table';