删除文件.

This commit is contained in:
lijiahangmax
2024-02-20 00:06:10 +08:00
parent a2ff7b0076
commit bde002ee34
21 changed files with 518 additions and 130 deletions

View File

@@ -104,8 +104,8 @@ public enum InputTypeEnum {
*/
SFTP_REMOVE("rm",
SftpRemoveHandler.class,
new String[]{"type", "sessionId", "paths"},
SftpRemoveRequest.class),
new String[]{"type", "sessionId", "path"},
SftpBaseRequest.class),
/**
* SFTP 截断文件

View File

@@ -48,12 +48,12 @@ public enum OutputTypeEnum {
/**
* SFTP 创建文件夹
*/
SFTP_MKDIR("md", "${type}|${sessionId}|${result}|${msg}"),
SFTP_MKDIR("mk", "${type}|${sessionId}|${result}|${msg}"),
/**
* SFTP 创建文件
*/
SFTP_TOUCH("to", "${type}|${sessionId}${result}|${msg}"),
SFTP_TOUCH("to", "${type}|${sessionId}|${result}|${msg}"),
/**
* SFTP 移动文件

View File

@@ -2,7 +2,7 @@ package com.orion.ops.module.asset.handler.host.terminal.handler;
import com.orion.ops.framework.common.enums.BooleanBit;
import com.orion.ops.module.asset.handler.host.terminal.enums.OutputTypeEnum;
import com.orion.ops.module.asset.handler.host.terminal.model.request.SftpRemoveRequest;
import com.orion.ops.module.asset.handler.host.terminal.model.request.SftpBaseRequest;
import com.orion.ops.module.asset.handler.host.terminal.model.response.SftpBaseResponse;
import com.orion.ops.module.asset.handler.host.terminal.session.ISftpSession;
import lombok.extern.slf4j.Slf4j;
@@ -18,14 +18,14 @@ import org.springframework.web.socket.WebSocketSession;
*/
@Slf4j
@Component
public class SftpRemoveHandler extends AbstractTerminalHandler<SftpRemoveRequest> {
public class SftpRemoveHandler extends AbstractTerminalHandler<SftpBaseRequest> {
@Override
public void handle(WebSocketSession channel, SftpRemoveRequest payload) {
public void handle(WebSocketSession channel, SftpBaseRequest payload) {
// 获取会话
ISftpSession session = terminalManager.getSession(channel.getId(), payload.getSessionId());
String[] paths = payload.getPaths().split("\\|");
log.info("SftpRemoveHandler-handle session: {}, paths: {}", payload.getSessionId(), paths);
String[] paths = payload.getPath().split("\\|");
log.info("SftpRemoveHandler-handle session: {}, path: {}", payload.getSessionId(), paths);
Exception ex = null;
// 删除
try {
@@ -40,7 +40,7 @@ public class SftpRemoveHandler extends AbstractTerminalHandler<SftpRemoveRequest
SftpBaseResponse.builder()
.sessionId(payload.getSessionId())
.result(BooleanBit.of(ex == null).getValue())
.msg(ex == null ? null : ex.getMessage())
.msg(this.getErrorMessage(ex))
.build());
}

View File

@@ -1,32 +0,0 @@
package com.orion.ops.module.asset.handler.host.terminal.model.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
* sftp 删除文件 实体对象
* <p>
* i|eff00a1|paths
*
* @author Jiahang Li
* @version 1.0.0
* @since 2024/2/6 13:31
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Schema(name = "SftpRemoveRequest", description = "sftp 删除文件 实体对象")
public class SftpRemoveRequest extends SftpBaseRequest {
@Schema(description = "paths 多个用|分割")
private String paths;
}

View File

@@ -17,6 +17,7 @@ import org.springframework.web.socket.WebSocketSession;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -68,6 +69,7 @@ public class SftpSession extends TerminalSession implements ISftpSession {
true);
return files.stream()
.map(SftpSession::fileMapping)
.sorted(Comparator.comparing(SftpFileVO::getName))
.collect(Collectors.toList());
}