提交 8d28e410 作者: 方治民

合并分支 '3.x' 到 'beta'

3.x

查看合并请求 !20
流水线 #2030 已失败 于阶段
in 18 秒
......@@ -22,6 +22,13 @@
---
## 说明
```shell
# 1. Spotless 依赖下载失败, 可尝试清理本地缓存
npm cache clean --force
```
## TODO
<!-- prettier-ignore -->
......
......@@ -3,17 +3,17 @@ env:
# host: 192.168.0.156
host: 127.0.0.1
prod: false
extra:
props:
# username: admin
password: 123456
username: postgres
password: 123456
# ----------------------------------------------
spring:
datasource:
url: jdbc:postgresql://${env.host}:5432/basic_app
username: ${env.extra.username}
password: ${env.extra.password}
username: ${env.props.username}
password: ${env.props.password}
jpa:
database-platform: org.hibernate.dialect.PostgreSQLDialect
open-in-view: true
......@@ -37,7 +37,7 @@ spring:
database: 5
port: 6379
host: ${env.host}
password: ${env.extra.password}
password: ${env.props.password}
# ----------------------------------------------
# ----------------------------------------------
......@@ -54,8 +54,8 @@ knife4j:
enable: true
basic:
enable: false
username: ${env.extra.username}
password: ${env.extra.password}
username: ${env.props.username}
password: ${env.props.password}
setting:
language: zh_cn
enableOpenApi: true
......
......@@ -26,8 +26,8 @@ public class InjectAuditorAware implements AuditorAware<String> {
@Override
public @NonNull Optional<String> getCurrentAuditor() {
String loginId = StpUtil.getLoginIdAsString();
if (loginId != null) {
if (StpUtil.isLogin()) {
String loginId = StpUtil.getLoginIdAsString();
Optional<User> optional = userRepository.findById(loginId);
if (optional.isPresent()) {
return Optional.of(optional.get().getId());
......
......@@ -5,6 +5,7 @@ import static com.yiring.auth.domain.permission.Permission.DELETE_SQL;
import static com.yiring.auth.domain.permission.Permission.TABLE_NAME;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.yiring.common.domain.BasicEntity;
import io.hypersistence.utils.hibernate.type.json.JsonType;
import jakarta.persistence.*;
......@@ -109,17 +110,33 @@ public class Permission extends BasicEntity implements Serializable {
/**
* 目录/平台
*/
DIR,
DIR("目录"),
/**
* 菜单
*/
MENU,
MENU("菜单"),
/**
* 按钮
*/
BUTTON,
BUTTON("按钮");
final String name;
Type(String name) {
this.name = name;
}
@JsonCreator
public static Type of(String type) {
for (Type value : values()) {
if (value.name().equalsIgnoreCase(type)) {
return value;
}
}
return null;
}
}
/**
......
......@@ -3,6 +3,8 @@ package com.yiring.common.config;
import java.io.Serial;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;
......@@ -37,30 +39,7 @@ public class EnvConfig implements Serializable {
boolean prod;
/**
* 扩展配置
* 其他配置
*/
Extra extra;
/**
* 扩展环境配置变量
*/
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
@Configuration("env.config.extra")
@ConfigurationProperties(prefix = "env.extra")
public static class Extra implements Serializable {
@Serial
private static final long serialVersionUID = -521508901960998020L;
/**
* 公共用户名
*/
String username;
/**
* 公共密码
*/
String password;
}
Map<String, String> props = new HashMap<>();
}
......@@ -2,6 +2,7 @@
package com.yiring.common.config;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import lombok.RequiredArgsConstructor;
......@@ -26,13 +27,17 @@ public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
// 忽略空值
// 忽略空值(序列化)
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
// 忽略未知字段(反序列化)
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// Java 8 Date/Time support
mapper.registerModule(javaTimeModule);
// JTS Geometry support
mapper.registerModule(new JtsModule());
// feat: add AdminServerModule
// TODO: add AdminServerModule
return mapper;
}
}
......@@ -96,6 +96,10 @@ public class Commons {
*/
public <T> T transform(Object source, Class<T> type, String... ignoreProperties) {
try {
if (source == null) {
return null;
}
Constructor<T> declaredConstructor = type.getDeclaredConstructor();
// 实例化
T target = declaredConstructor.newInstance();
......@@ -138,6 +142,10 @@ public class Commons {
CallbackFunction<S, T> fn,
String... ignoreProperties
) {
if (!notEmpty(list)) {
return Collections.emptyList();
}
try {
Constructor<T> declaredConstructor = type.getDeclaredConstructor();
......
plugins {
id 'java'
// https://start.spring.io
id 'org.springframework.boot' version '3.0.4'
id 'org.graalvm.buildtools.native' version '0.9.18'
id 'org.springframework.boot' version '3.0.5'
id 'org.graalvm.buildtools.native' version '0.9.20'
// https://plugins.gradle.org/plugin/io.spring.dependency-management
id 'io.spring.dependency-management' version '1.1.0'
// https://plugins.gradle.org/plugin/com.diffplug.spotless
id "com.diffplug.spotless" version "6.16.0"
id "com.diffplug.spotless" version "6.17.0"
}
ext {
// Spotless
// https://www.npmjs.com/package/prettier
prettierVersion = '2.8.4'
prettierVersion = '2.8.6'
// https://www.npmjs.com/package/prettier-plugin-java
prettierJavaVersion = '2.1.0'
......@@ -21,19 +21,19 @@ ext {
springCloudVersion = '2022.0.1'
// springBootAdminVersion
// https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-server
springBootAdminVersion = '3.0.1'
springBootAdminVersion = '3.0.2'
// Dependencies
// https://mvnrepository.com/artifact/com.github.xiaoymin/knife4j-openapi3-jakarta-spring-boot-starter
knife4jOpen3Version = '4.0.0'
// https://mvnrepository.com/artifact/io.swagger/swagger-annotations
swaggerAnnotationsVersion = '1.6.9'
// https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-annotations
swaggerAnnotationsVersion = '2.2.8'
// https://mvnrepository.com/artifact/cn.dev33/sa-token-spring-boot3-starter
saTokenVersion = '1.34.0'
// https://mvnrepository.com/artifact/cn.hutool/hutool-all
hutoolVersion = '5.8.15'
// https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2
fastJsonVersion = '2.0.25'
fastJsonVersion = '2.0.26'
// https://mvnrepository.com/artifact/com.xuxueli/xxl-job-core
xxlJobVersion = '2.3.1'
// https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论