From 8f8858fda019426fe80b6da01a9855d4d2097dbb Mon Sep 17 00:00:00 2001 From: lijiahang Date: Fri, 9 Feb 2024 23:57:44 +0800 Subject: [PATCH] =?UTF-8?q?:hammer:=20=E6=9F=A5=E8=AF=A2=E9=9A=90=E8=97=8F?= =?UTF-8?q?=E6=96=87=E4=BB=B6.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/common/enums/BooleanBit.java | 19 +++++++++++++++++++ .../terminal/handler/SftpListHandler.java | 2 +- ...Request.java => SftpChangeModRequest.java} | 8 ++++---- .../model/request/SftpListRequest.java | 3 +++ .../host/terminal/session/ISftpSession.java | 5 +++-- .../host/terminal/session/SftpSession.java | 9 +++++---- 6 files changed, 35 insertions(+), 11 deletions(-) rename orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/{SftpChangeModeRequest.java => SftpChangeModRequest.java} (76%) diff --git a/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/enums/BooleanBit.java b/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/enums/BooleanBit.java index ba3a296b..f259fa2c 100644 --- a/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/enums/BooleanBit.java +++ b/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/enums/BooleanBit.java @@ -28,6 +28,15 @@ public enum BooleanBit { private final Integer value; + /** + * 是否为布尔值 + * + * @return boolean + */ + public boolean booleanValue() { + return this == TRUE; + } + public static BooleanBit of(boolean value) { return value ? TRUE : FALSE; } @@ -44,4 +53,14 @@ public enum BooleanBit { return null; } + /** + * 转为布尔值 + * + * @param value value + * @return boolean + */ + public static boolean toBoolean(Integer value) { + return TRUE.value.equals(value); + } + } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/handler/SftpListHandler.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/handler/SftpListHandler.java index a4ae7df2..7e3fed39 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/handler/SftpListHandler.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/handler/SftpListHandler.java @@ -46,7 +46,7 @@ public class SftpListHandler extends AbstractTerminalHandler { path = ((ISftpSession) session).getHome(); } // 文件列表 - list = ((ISftpSession) session).list(path); + list = ((ISftpSession) session).list(path, BooleanBit.toBoolean(payload.getShowHiddenFile())); } catch (Exception e) { log.error("SftpListHandler-handle error", e); ex = e; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpChangeModeRequest.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpChangeModRequest.java similarity index 76% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpChangeModeRequest.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpChangeModRequest.java index a137a99f..4e98fafc 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpChangeModeRequest.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpChangeModRequest.java @@ -11,7 +11,7 @@ import lombok.experimental.SuperBuilder; /** * sftp 修改文件权限 实体对象 *

- * i|eff00a1|path|mode + * i|eff00a1|path|mod * * @author Jiahang Li * @version 1.0.0 @@ -22,13 +22,13 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) -@Schema(name = "SftpChangeModeRequest", description = "sftp 修改文件权限 实体对象") -public class SftpChangeModeRequest extends TerminalBasePayload { +@Schema(name = "SftpChangeModRequest", description = "sftp 修改文件权限 实体对象") +public class SftpChangeModRequest extends TerminalBasePayload { @Schema(description = "path") private String path; @Schema(description = "权限") - private String mode; + private String mod; } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpListRequest.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpListRequest.java index eec64c8d..870c9076 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpListRequest.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/model/request/SftpListRequest.java @@ -28,4 +28,7 @@ public class SftpListRequest extends TerminalBasePayload { @Schema(description = "path") private String path; + @Schema(description = "是否显示隐藏文件") + private Integer showHiddenFile; + } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/session/ISftpSession.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/session/ISftpSession.java index 887f9b26..da1cb26b 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/session/ISftpSession.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/session/ISftpSession.java @@ -28,9 +28,10 @@ public interface ISftpSession extends ITerminalSession { /** * 文件列表 * - * @param path path + * @param path path + * @param showHiddenFile 是否显示隐藏文件 * @return list */ - List list(String path); + List list(String path, boolean showHiddenFile); } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/session/SftpSession.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/session/SftpSession.java index 8b8e2e47..5c994288 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/session/SftpSession.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/terminal/session/SftpSession.java @@ -1,7 +1,5 @@ package com.orion.ops.module.asset.handler.host.terminal.session; -import com.orion.lang.utils.Strings; -import com.orion.lang.utils.convert.TypeStore; import com.orion.lang.utils.io.FileType; import com.orion.lang.utils.io.Files1; import com.orion.lang.utils.io.Streams; @@ -56,9 +54,12 @@ public class SftpSession extends TerminalSession implements ISftpSession { } @Override - public List list(String path) { + public List list(String path, boolean showHiddenFile) { // 查询文件 - List files = executor.listFilesFilter(path, f -> !f.getName().startsWith("."), false, true); + List files = executor.listFilesFilter(path, + s -> showHiddenFile || !s.getName().startsWith(Const.DOT), + false, + true); return files.stream() .map(SftpSession::fileMapping) .collect(Collectors.toList());