From 70e5abadc59e2a24d07a9109f3733dd3ef5aa623 Mon Sep 17 00:00:00 2001 From: lijiahang Date: Wed, 19 Jul 2023 18:48:13 +0800 Subject: [PATCH] review code. --- .../core/query/ValidateLambdaWrapper.java | 8 +--- .../AuthenticationEntryPointHandler.java | 3 +- .../spring-configuration-metadata.json | 2 +- .../core/client/AbstractFileClient.java | 40 ++++++++++--------- .../storage/core/client/FileClient.java | 2 + .../storage/core/client/FileClientConfig.java | 15 ++++++- .../core/client/local/LocalFileClient.java | 9 +++-- .../spring-configuration-metadata.json | 22 +++++++--- .../src/main/resources/application.yaml | 2 +- .../infra/entity/domain/SystemMenuDO.java | 7 ++-- .../infra/entity/domain/SystemRoleDO.java | 7 ++-- .../infra/entity/domain/SystemRoleMenuDO.java | 7 ++-- .../infra/entity/domain/SystemUserRoleDO.java | 7 ++-- 13 files changed, 79 insertions(+), 52 deletions(-) diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/query/ValidateLambdaWrapper.java b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/query/ValidateLambdaWrapper.java index b45dd8a1..f7a41bdb 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/query/ValidateLambdaWrapper.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/query/ValidateLambdaWrapper.java @@ -40,15 +40,11 @@ public class ValidateLambdaWrapper extends LambdaQueryWrapper { } // 字符串 非空校验 if (object instanceof String) { - if (Strings.isBlank((String) object)) { - return true; - } + return Strings.isEmpty((String) object); } // 集合 非空校验 if (object instanceof Collection) { - if (((Collection) object).isEmpty()) { - return true; - } + return ((Collection) object).isEmpty(); } } return false; diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/handler/AuthenticationEntryPointHandler.java b/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/handler/AuthenticationEntryPointHandler.java index e4ef3429..e62abab0 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/handler/AuthenticationEntryPointHandler.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/handler/AuthenticationEntryPointHandler.java @@ -6,7 +6,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.AuthenticationEntryPoint; -import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -22,7 +21,7 @@ import java.io.IOException; public class AuthenticationEntryPointHandler implements AuthenticationEntryPoint { @Override - public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) throws IOException, ServletException { + public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) throws IOException { log.debug("AuthenticationEntryPoint-commence-未登录 {}", request.getRequestURI(), e); Servlets.writeHttpWrapper(response, ErrorCode.UNAUTHORIZED.getWrapper()); } diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/resources/META-INF/spring-configuration-metadata.json b/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/resources/META-INF/spring-configuration-metadata.json index dfff18c8..cf3b6851 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/resources/META-INF/spring-configuration-metadata.json +++ b/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/resources/META-INF/spring-configuration-metadata.json @@ -29,7 +29,7 @@ "description": "匿名接口." }, { - "name": "orion.crypto.primary.enabled", + "name": "orion.crypto.aes.primary", "type": "java.lang.Boolean", "description": "是否为默认加密器.", "defaultValue": "false" diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/AbstractFileClient.java b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/AbstractFileClient.java index 15dbfd22..e4cb6af8 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/AbstractFileClient.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/AbstractFileClient.java @@ -1,11 +1,12 @@ package com.orion.ops.framework.storage.core.client; -import com.orion.lang.id.UUIds; import com.orion.lang.utils.io.Files1; import com.orion.lang.utils.io.Streams; -import com.orion.ops.framework.common.meta.TraceIdHolder; +import com.orion.lang.utils.time.Dates; +import com.orion.ops.framework.common.constant.Const; import java.io.InputStream; +import java.util.Date; /** * 文件客户端 基类 @@ -107,24 +108,27 @@ public abstract class AbstractFileClient implem * @return 文件名称 */ protected String getFilePath(String path) { - // 无需拼接 - if (!config.isNameAppendTraceId()) { - return path; - } - // 名称前缀 - String traceId = TraceIdHolder.get(); - if (traceId == null) { - traceId = UUIds.random32(); - } - String prefix = traceId + "_"; + // 文件名称 String name = Files1.getFileName(path); - // 只是文件名 - if (name.equals(path)) { - return prefix + name; + // 名称前缀 + String prefix = Const.EMPTY; + long current = System.currentTimeMillis(); + if (config.isTimestampPrefix()) { + prefix = current + "_"; + } + // 时间文件夹 + String dateDir = Const.EMPTY; + if (config.isDateDirectory()) { + dateDir = Dates.format(new Date(current), config.getDatePattern()) + Const.SLASH; + } + if (name.equals(path)) { + // 文件名称 + return dateDir + prefix + name; + } else { + // 包含路径 + String parentPath = Files1.getParentPath(path); + return dateDir + parentPath + prefix + name; } - // 包含路径 - String parentPath = Files1.getParentPath(path); - return parentPath + prefix + name; } } diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/FileClient.java b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/FileClient.java index 42375c15..51ff4f64 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/FileClient.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/FileClient.java @@ -65,6 +65,8 @@ public interface FileClient { */ String upload(String path, InputStream in, boolean autoClose, boolean overrideIfExist) throws Exception; + // TODO getOutputStream + /** * 检测文件是否存在 * diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/FileClientConfig.java b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/FileClientConfig.java index 4aa228e7..2fb18959 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/FileClientConfig.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/FileClientConfig.java @@ -1,5 +1,6 @@ package com.orion.ops.framework.storage.core.client; +import com.orion.lang.utils.time.Dates; import lombok.Data; /** @@ -23,8 +24,18 @@ public class FileClientConfig { protected boolean enabled; /** - * 是否自动拼接 traceId 前缀. 没有则使用 UUID + * 是否使用时间戳作为文件名称前缀 */ - protected boolean nameAppendTraceId; + protected boolean timestampPrefix; + + /** + * 是否拼接时间作为文件夹 + */ + protected boolean dateDirectory = true; + + /** + * 时间文件夹格式 + */ + protected String datePattern = Dates.YMD; } diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/local/LocalFileClient.java b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/local/LocalFileClient.java index 52e7facb..3e59cf00 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/local/LocalFileClient.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/java/com/orion/ops/framework/storage/core/client/local/LocalFileClient.java @@ -2,6 +2,7 @@ package com.orion.ops.framework.storage.core.client.local; import com.orion.lang.utils.io.FileWriters; import com.orion.lang.utils.io.Files1; +import com.orion.ops.framework.common.constant.Const; import com.orion.ops.framework.storage.core.client.AbstractFileClient; import java.io.InputStream; @@ -20,7 +21,7 @@ public class LocalFileClient extends AbstractFileClient { } @Override - protected String doUpload(String path, InputStream in, boolean autoClose, boolean overrideIfExist) throws Exception { + protected String doUpload(String path, InputStream in, boolean autoClose, boolean overrideIfExist) { // 获取返回文件路径 String returnPath = this.getReturnPath(path); // 检测文件是否存在 @@ -51,14 +52,14 @@ public class LocalFileClient extends AbstractFileClient { @Override protected String getReturnPath(String path) { - // 拼接前缀 - return Files1.getPath(config.getBasePath() + "/" + this.getFilePath(path)); + // 拼接公共路径 + return Files1.getPath(config.getBasePath() + Const.SLASH + this.getFilePath(path)); } @Override protected String getAbsolutePath(String returnPath) { // 拼接存储路径 - return Files1.getPath(config.getStoragePath() + "/" + returnPath); + return Files1.getPath(config.getStoragePath() + Const.SLASH + returnPath); } } diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/resources/META-INF/spring-configuration-metadata.json b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/resources/META-INF/spring-configuration-metadata.json index a3a13d88..e4799836 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/resources/META-INF/spring-configuration-metadata.json +++ b/orion-ops-framework/orion-ops-spring-boot-starter-storage/src/main/resources/META-INF/spring-configuration-metadata.json @@ -25,22 +25,32 @@ "defaultValue": false }, { - "name": "orion.storage.local.name-append-trace-id", + "name": "orion.storage.local.timestamp-prefix", "type": "java.lang.Boolean", - "description": "是否自动拼接 traceId 前缀. 没有则使用 UUID.", + "description": "是否使用时间戳作为文件名称前缀.", "defaultValue": false }, + { + "name": "orion.storage.local.date-directory", + "type": "java.lang.Boolean", + "description": "是否拼接时间作为文件夹.", + "defaultValue": true + }, + { + "name": "orion.storage.local.date-pattern", + "type": "java.lang.Boolean", + "description": "时间文件夹格式.", + "defaultValue": "yyyy-MM-dd" + }, { "name": "orion.storage.local.storage-path", "type": "java.lang.String", - "description": "存储路径.", - "defaultValue": "" + "description": "存储路径." }, { "name": "orion.storage.local.base-path", "type": "java.lang.String", - "description": "基础路径.", - "defaultValue": "" + "description": "基础路径." } ] } \ No newline at end of file diff --git a/orion-ops-launch/src/main/resources/application.yaml b/orion-ops-launch/src/main/resources/application.yaml index a4795f3b..0eef90d4 100644 --- a/orion-ops-launch/src/main/resources/application.yaml +++ b/orion-ops-launch/src/main/resources/application.yaml @@ -167,7 +167,7 @@ orion: local: primary: true enabled: true - name-append-trace-id: true + timestamp-prefix: true storage-path: ${user.home} base-path: /orion/storage/orion-ops-pro security: diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemMenuDO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemMenuDO.java index 000ad9be..5b9844a8 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemMenuDO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemMenuDO.java @@ -1,12 +1,13 @@ package com.orion.ops.module.infra.entity.domain; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.orion.ops.framework.mybatis.core.domain.BaseDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; - /** * 菜单 实体对象 * diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemRoleDO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemRoleDO.java index f822d4b8..61f2a3ee 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemRoleDO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemRoleDO.java @@ -1,12 +1,13 @@ package com.orion.ops.module.infra.entity.domain; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.orion.ops.framework.mybatis.core.domain.BaseDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; - /** * 角色 实体对象 * diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemRoleMenuDO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemRoleMenuDO.java index 607cff5b..389e4507 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemRoleMenuDO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemRoleMenuDO.java @@ -1,12 +1,13 @@ package com.orion.ops.module.infra.entity.domain; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.orion.ops.framework.mybatis.core.domain.BaseDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; - /** * 角色菜单关联 实体对象 * diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserRoleDO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserRoleDO.java index 40ee1b55..21e49beb 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserRoleDO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserRoleDO.java @@ -1,12 +1,13 @@ package com.orion.ops.module.infra.entity.domain; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.orion.ops.framework.mybatis.core.domain.BaseDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; - /** * 用户角色关联 实体对象 *