Merge branch 'dev' into 2.0.x

# Conflicts:
#	continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/request/UserRequest.java
#	continew-admin-webapi/src/main/resources/application.yml
This commit is contained in:
Charles7c 2023-03-31 22:22:50 +08:00
commit 7dda38d2b8
6 changed files with 162 additions and 167 deletions

View File

@ -142,7 +142,8 @@ public class QueryHelper {
String property = queryAnnotation.property(); String property = queryAnnotation.property();
fieldName = StrUtil.blankToDefault(property, fieldName); fieldName = StrUtil.blankToDefault(property, fieldName);
String columnName = StrUtil.toUnderlineCase(fieldName); String columnName = StrUtil.toUnderlineCase(fieldName);
switch (queryAnnotation.type()) { Query.Type queryType = queryAnnotation.type();
switch (queryType) {
case EQUAL: case EQUAL:
queryWrapper.eq(columnName, fieldValue); queryWrapper.eq(columnName, fieldValue);
break; break;
@ -163,7 +164,9 @@ public class QueryHelper {
break; break;
case BETWEEN: case BETWEEN:
List<Object> between = new ArrayList<>((List<Object>)fieldValue); List<Object> between = new ArrayList<>((List<Object>)fieldValue);
queryWrapper.between(columnName, between.get(0), between.get(1)); if (between.size() >= 2) {
queryWrapper.between(columnName, between.get(0), between.get(1));
}
break; break;
case LEFT_LIKE: case LEFT_LIKE:
queryWrapper.likeLeft(columnName, fieldValue); queryWrapper.likeLeft(columnName, fieldValue);
@ -191,7 +194,7 @@ public class QueryHelper {
queryWrapper.isNotNull(columnName); queryWrapper.isNotNull(columnName);
break; break;
default: default:
break; throw new IllegalArgumentException(String.format("暂不支持 [%s] 查询类型", queryType));
} }
} }
} }

View File

@ -19,6 +19,7 @@ package top.charles7c.cnadmin.system.model.request;
import java.util.List; import java.util.List;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Pattern;
@ -86,12 +87,14 @@ public class UserRequest extends BaseRequest {
* 所属部门 * 所属部门
*/ */
@Schema(description = "所属部门") @Schema(description = "所属部门")
@NotNull(message = "所属部门不能为空")
private Long deptId; private Long deptId;
/** /**
* 所属角色 * 所属角色
*/ */
@Schema(description = "所属角色") @Schema(description = "所属角色")
@NotEmpty(message = "所属角色不能为空")
private List<Long> roleIds; private List<Long> roleIds;
/** /**

View File

@ -554,8 +554,8 @@
rules: { rules: {
username: [{ required: true, message: '请输入用户名' }], username: [{ required: true, message: '请输入用户名' }],
nickname: [{ required: true, message: '请输入昵称' }], nickname: [{ required: true, message: '请输入昵称' }],
roleIds: [{ required: true, message: '请选择所属角色' }],
deptId: [{ required: true, message: '请选择所属部门' }], deptId: [{ required: true, message: '请选择所属部门' }],
roleIds: [{ required: true, message: '请选择所属角色' }],
}, },
}); });
const { queryParams, form, rules } = toRefs(data); const { queryParams, form, rules } = toRefs(data);

View File

@ -4,45 +4,44 @@ server:
port: 8000 port: 8000
--- ### 数据源配置 --- ### 数据源配置
spring: spring.datasource:
datasource: type: com.zaxxer.hikari.HikariDataSource
type: com.zaxxer.hikari.HikariDataSource ## 动态数据源配置可配多主多从m1、s1...、纯粹多库mysql、oracle...、混合配置m1、s1、oracle...
## 动态数据源配置可配多主多从m1、s1...、纯粹多库mysql、oracle...、混合配置m1、s1、oracle... dynamic:
dynamic: # 是否启用 P6SpySQL 性能分析组件,默认 false该插件有性能损耗不建议生产环境使用
# 是否启用 P6SpySQL 性能分析组件,默认 false该插件有性能损耗不建议生产环境使用 p6spy: true
p6spy: true # 设置默认的数据源或者数据源组(默认 master
# 设置默认的数据源或者数据源组(默认 master primary: master
primary: master # 严格匹配数据源true 未匹配到指定数据源时抛异常false 使用默认数据源;默认 false
# 严格匹配数据源true 未匹配到指定数据源时抛异常false 使用默认数据源;默认 false strict: false
strict: false datasource:
datasource: # 主库配置(可配多个,构成多主)
# 主库配置(可配多个,构成多主) master:
master: url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false username: ${DB_USER:root}
username: ${DB_USER:root} password: ${DB_PWD:123456}
password: ${DB_PWD:123456} driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver # 从库配置(可配多个,构成多从)
# 从库配置(可配多个,构成多从) slave_1:
slave_1: url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false username:
username: password:
password: lazy: true
lazy: true driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver type: ${spring.datasource.type}
type: ${spring.datasource.type} # Hikari 连接池配置完整配置请参阅https://github.com/brettwooldridge/HikariCP
# Hikari 连接池配置完整配置请参阅https://github.com/brettwooldridge/HikariCP hikari:
hikari: # 最大连接数量(默认 10根据实际环境调整
# 最大连接数量(默认 10根据实际环境调整 # 注意:当连接达到上限,并且没有空闲连接可用时,获取连接将在超时前阻塞最多 connectionTimeout 毫秒
# 注意:当连接达到上限,并且没有空闲连接可用时,获取连接将在超时前阻塞最多 connectionTimeout 毫秒 max-pool-size: 20
max-pool-size: 20 # 获取连接超时时间(默认 30000 毫秒30 秒)
# 获取连接超时时间(默认 30000 毫秒30 秒) connection-timeout: 30000
connection-timeout: 30000 # 空闲连接最大存活时间(默认 600000 毫秒10 分钟)
# 空闲连接最大存活时间(默认 600000 毫秒10 分钟) idle-timeout: 600000
idle-timeout: 600000 # 保持连接活动的频率,以防止它被数据库或网络基础设施超时。该值必须小于 maxLifetime默认 0禁用
# 保持连接活动的频率,以防止它被数据库或网络基础设施超时。该值必须小于 maxLifetime默认 0禁用 keepaliveTime: 30000
keepaliveTime: 30000 # 连接最大生存时间(默认 1800000 毫秒30 分钟)
# 连接最大生存时间(默认 1800000 毫秒30 分钟) max-lifetime: 1800000
max-lifetime: 1800000
--- ### Liquibase 配置 --- ### Liquibase 配置
spring.liquibase: spring.liquibase:
@ -69,21 +68,20 @@ spring:
ssl: false ssl: false
--- ### 邮件配置 --- ### 邮件配置
spring: spring.mail:
mail: # 根据需要更换
# 根据需要更换 host: smtp.126.com
host: smtp.126.com port: 465
port: 465 username: 你的邮箱
username: 你的邮箱 password: 你的邮箱授权码
password: 你的邮箱授权码 default-encoding: utf-8
default-encoding: utf-8 properties:
properties: mail:
mail: smtp:
smtp: auth: true
auth: true socketFactory:
socketFactory: class: javax.net.ssl.SSLSocketFactory
class: javax.net.ssl.SSLSocketFactory port: 465
port: 465
--- ### 验证码配置 --- ### 验证码配置
captcha: captcha:
@ -110,26 +108,24 @@ captcha:
# 模板路径 # 模板路径
templatePath: mail/captcha.ftl templatePath: mail/captcha.ftl
--- ### 安全配置 --- ### 安全配置-排除路径配置
security: security.excludes:
# 排除路径配置 # 静态资源
excludes: - /*.html
# 静态资源 - /**/*.html
- /*.html - /**/*.css
- /**/*.html - /**/*.js
- /**/*.css - /webSocket/**
- /**/*.js # 接口文档相关资源
- /webSocket/** - /favicon.ico
# 接口文档相关资源 - /doc.html
- /favicon.ico - /webjars/**
- /doc.html - /swagger-ui/**
- /webjars/** - /swagger-resources/**
- /swagger-ui/** - /*/api-docs/**
- /swagger-resources/** # 本地存储资源
- /*/api-docs/** - /avatar/**
# 本地存储资源 - /file/**
- /avatar/**
- /file/**
--- ### 非对称加密配置(例如:密码加密传输,前端公钥加密,后端私钥解密;在线生成 RSA 密钥对http://web.chacuo.net/netrsakeypair --- ### 非对称加密配置(例如:密码加密传输,前端公钥加密,后端私钥解密;在线生成 RSA 密钥对http://web.chacuo.net/netrsakeypair
rsa: rsa:
@ -142,14 +138,13 @@ springdoc:
enabled: true enabled: true
--- ### 文件上传配置 --- ### 文件上传配置
spring: spring.servlet:
servlet: multipart:
multipart: enabled: true
enabled: true # 单文件上传大小限制
# 单文件上传大小限制 max-file-size: 10MB
max-file-size: 10MB # 单次总上传文件大小限制
# 单次总上传文件大小限制 max-request-size: 20MB
max-request-size: 20MB
--- ### 本地存储配置 --- ### 本地存储配置
local-storage: local-storage:

View File

@ -4,45 +4,44 @@ server:
port: 18000 port: 18000
--- ### 数据源配置 --- ### 数据源配置
spring: spring.datasource:
datasource: type: com.zaxxer.hikari.HikariDataSource
type: com.zaxxer.hikari.HikariDataSource ## 动态数据源配置可配多主多从m1、s1...、纯粹多库mysql、oracle...、混合配置m1、s1、oracle...
## 动态数据源配置可配多主多从m1、s1...、纯粹多库mysql、oracle...、混合配置m1、s1、oracle... dynamic:
dynamic: # 是否启用 P6SpySQL 性能分析组件,默认 false该插件有性能损耗不建议生产环境使用
# 是否启用 P6SpySQL 性能分析组件,默认 false该插件有性能损耗不建议生产环境使用 p6spy: false
p6spy: false # 设置默认的数据源或者数据源组(默认 master
# 设置默认的数据源或者数据源组(默认 master primary: master
primary: master # 严格匹配数据源true 未匹配到指定数据源时抛异常false 使用默认数据源;默认 false
# 严格匹配数据源true 未匹配到指定数据源时抛异常false 使用默认数据源;默认 false strict: false
strict: false datasource:
datasource: # 主库配置(可配多个,构成多主)
# 主库配置(可配多个,构成多主) master:
master: url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false
url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false username: ${DB_USER:root}
username: ${DB_USER:root} password: ${DB_PWD:123456}
password: ${DB_PWD:123456} driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver # 从库配置(可配多个,构成多从)
# 从库配置(可配多个,构成多从) slave_1:
slave_1: url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false
url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:continew_admin}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true&autoReconnect=true&maxReconnects=10&failOverReadOnly=false username:
username: password:
password: lazy: true
lazy: true driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver type: ${spring.datasource.type}
type: ${spring.datasource.type} # Hikari 连接池配置完整配置请参阅https://github.com/brettwooldridge/HikariCP
# Hikari 连接池配置完整配置请参阅https://github.com/brettwooldridge/HikariCP hikari:
hikari: # 最大连接数量(默认 10根据实际环境调整
# 最大连接数量(默认 10根据实际环境调整 # 注意:当连接达到上限,并且没有空闲连接可用时,获取连接将在超时前阻塞最多 connectionTimeout 毫秒
# 注意:当连接达到上限,并且没有空闲连接可用时,获取连接将在超时前阻塞最多 connectionTimeout 毫秒 max-pool-size: 20
max-pool-size: 20 # 获取连接超时时间(默认 30000 毫秒30 秒)
# 获取连接超时时间(默认 30000 毫秒30 秒) connection-timeout: 30000
connection-timeout: 30000 # 空闲连接最大存活时间(默认 600000 毫秒10 分钟)
# 空闲连接最大存活时间(默认 600000 毫秒10 分钟) idle-timeout: 600000
idle-timeout: 600000 # 保持连接活动的频率,以防止它被数据库或网络基础设施超时。该值必须小于 maxLifetime默认 0禁用
# 保持连接活动的频率,以防止它被数据库或网络基础设施超时。该值必须小于 maxLifetime默认 0禁用 keepaliveTime: 30000
keepaliveTime: 30000 # 连接最大生存时间(默认 1800000 毫秒30 分钟)
# 连接最大生存时间(默认 1800000 毫秒30 分钟) max-lifetime: 1800000
max-lifetime: 1800000
--- ### Liquibase 配置 --- ### Liquibase 配置
spring.liquibase: spring.liquibase:
@ -69,21 +68,20 @@ spring:
ssl: false ssl: false
--- ### 邮件配置 --- ### 邮件配置
spring: spring.mail:
mail: # 根据需要更换
# 根据需要更换 host: smtp.126.com
host: smtp.126.com port: 465
port: 465 username: 你的邮箱
username: 你的邮箱 password: 你的邮箱授权码
password: 你的邮箱授权码 default-encoding: utf-8
default-encoding: utf-8 properties:
properties: mail:
mail: smtp:
smtp: auth: true
auth: true socketFactory:
socketFactory: class: javax.net.ssl.SSLSocketFactory
class: javax.net.ssl.SSLSocketFactory port: 465
port: 465
--- ### 验证码配置 --- ### 验证码配置
captcha: captcha:
@ -110,19 +108,17 @@ captcha:
# 模板路径 # 模板路径
templatePath: mail/captcha.ftl templatePath: mail/captcha.ftl
--- ### 安全配置 --- ### 安全配置-排除路径配置
security: security.excludes:
# 排除路径配置 # 静态资源
excludes: - /*.html
# 静态资源 - /**/*.html
- /*.html - /**/*.css
- /**/*.html - /**/*.js
- /**/*.css - /webSocket/**
- /**/*.js # 本地存储资源
- /webSocket/** - /avatar/**
# 本地存储资源 - /file/**
- /avatar/**
- /file/**
--- ### 非对称加密配置(例如:密码加密传输,前端公钥加密,后端私钥解密;在线生成 RSA 密钥对http://web.chacuo.net/netrsakeypair --- ### 非对称加密配置(例如:密码加密传输,前端公钥加密,后端私钥解密;在线生成 RSA 密钥对http://web.chacuo.net/netrsakeypair
rsa: rsa:
@ -135,14 +131,13 @@ springdoc:
enabled: false enabled: false
--- ### 文件上传配置 --- ### 文件上传配置
spring: spring.servlet:
servlet: multipart:
multipart: enabled: true
enabled: true # 单文件上传大小限制
# 单文件上传大小限制 max-file-size: 10MB
max-file-size: 10MB # 单次总上传文件大小限制
# 单次总上传文件大小限制 max-request-size: 20MB
max-request-size: 20MB
--- ### 本地存储配置 --- ### 本地存储配置
local-storage: local-storage:

View File

@ -189,11 +189,10 @@ spring:
FAIL_ON_UNKNOWN_PROPERTIES: false FAIL_ON_UNKNOWN_PROPERTIES: false
--- ### 健康检查配置 --- ### 健康检查配置
management: management.health:
health: mail:
mail: # 关闭邮箱健康检查(邮箱配置错误或邮箱服务器不可用时,健康检查会报错)
# 关闭邮箱健康检查(邮箱配置错误或邮箱服务器不可用时,健康检查会报错) enabled: false
enabled: false
--- ### 线程池配置 --- ### 线程池配置
thread-pool: thread-pool: