✨ 删除文件.
This commit is contained in:
@@ -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 截断文件
|
||||
|
||||
@@ -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 移动文件
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user