From d30f11a47a2bfa6cf83d884b432e343342188011 Mon Sep 17 00:00:00 2001
From: zyj <2660555181@qq.com>
Date: Wed, 9 Jul 2025 11:33:06 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E9=99=A4=E6=9C=BA=E5=99=A8=E8=BF=9E?=
=?UTF-8?q?=E6=8E=A5=EF=BC=8C=E6=96=87=E4=BB=B6=E7=AE=A1=E7=90=86=E9=83=A8?=
=?UTF-8?q?=E5=88=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
modules/module-ci-machine/pom.xml | 13 -
.../WebSocketHandshakeInterceptor.java | 85 -----
.../machine/component/FileTreeComponent.java | 340 ------------------
.../component/WebSocketConnection.java | 228 ------------
.../component/WebSocketSessionManager.java | 70 ----
.../configuration/AliYunOssConfig.java | 33 --
.../configuration/WebSocketConfig.java | 40 ---
.../contants/MachineErrorCodeConstants.java | 30 +-
.../controller/MachineInfoController.java | 56 ---
.../module/machine/dal/model/FileNode.java | 56 ---
.../machine/dal/mysql/SecretKeyMapper.java | 10 -
.../machine/enums/ConnectionStatus.java | 33 --
.../module/machine/enums/SSHChanelType.java | 35 --
.../handler/MachineWebSocketHandler.java | 64 ----
.../machine/service/MachineInfoService.java | 75 +---
.../service/impl/MachineInfoServiceImpl.java | 128 +------
.../module/machine/utils/AliYunOssClient.java | 11 -
.../module/machine/utils/CryptogramUtil.java | 32 +-
18 files changed, 25 insertions(+), 1314 deletions(-)
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/Interceptor/WebSocketHandshakeInterceptor.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/component/FileTreeComponent.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/component/WebSocketConnection.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/component/WebSocketSessionManager.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/configuration/AliYunOssConfig.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/configuration/WebSocketConfig.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/dal/model/FileNode.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/enums/ConnectionStatus.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/enums/SSHChanelType.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/handler/MachineWebSocketHandler.java
delete mode 100644 modules/module-ci-machine/src/main/java/cd/casic/module/machine/utils/AliYunOssClient.java
diff --git a/modules/module-ci-machine/pom.xml b/modules/module-ci-machine/pom.xml
index 6f97ecf3..2e8e1b2c 100644
--- a/modules/module-ci-machine/pom.xml
+++ b/modules/module-ci-machine/pom.xml
@@ -34,24 +34,11 @@
-
- com.aliyun.oss
- aliyun-sdk-oss
- 3.15.1
-
-
-
org.springframework.boot
spring-boot-starter-websocket
-
-
- com.jcraft
- jsch
- 0.1.55
-
com.antherd
sm-crypto
diff --git a/modules/module-ci-machine/src/main/java/cd/casic/module/machine/Interceptor/WebSocketHandshakeInterceptor.java b/modules/module-ci-machine/src/main/java/cd/casic/module/machine/Interceptor/WebSocketHandshakeInterceptor.java
deleted file mode 100644
index a0a6f890..00000000
--- a/modules/module-ci-machine/src/main/java/cd/casic/module/machine/Interceptor/WebSocketHandshakeInterceptor.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package cd.casic.module.machine.Interceptor;
-
-import lombok.extern.slf4j.Slf4j;
-import org.jetbrains.annotations.NotNull;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.server.ServerHttpRequest;
-import org.springframework.http.server.ServerHttpResponse;
-import org.springframework.stereotype.Component;
-import org.springframework.web.socket.WebSocketHandler;
-import org.springframework.web.socket.server.HandshakeInterceptor;
-
-import java.net.URI;
-import java.net.URLDecoder;
-import java.nio.charset.StandardCharsets;
-import java.util.Map;
-
-import static cd.casic.framework.commons.exception.util.ServiceExceptionUtil.exception;
-import static cd.casic.module.machine.contants.MachineErrorCodeConstants.*;
-
-@Component
-@Slf4j
-public class WebSocketHandshakeInterceptor implements HandshakeInterceptor {
- @Override
- public boolean beforeHandshake(
- @NotNull ServerHttpRequest request,
- @NotNull ServerHttpResponse response,
- @NotNull WebSocketHandler wsHandler,
- @NotNull Map attributes
- ) {
- log.info("WebSocket握手请求: {}", request.getURI());
-
- // 从URL参数中获取id
- String id = extractIdFromUrl(request.getURI());
-
- System.out.println("-----------------------------------------");
- if (id != null) {
- attributes.put("machineId", id); // 将id存入attributes
- log.info("握手验证成功 - ID: {}", id);
- return true;
- } else {
- response.setStatusCode(HttpStatus.BAD_REQUEST);
- log.warn("握手验证失败 - 缺少 id URL 参数");
- return false;
- }
- }
-
- @Override
- public void afterHandshake(
- @NotNull ServerHttpRequest request,
- @NotNull ServerHttpResponse response,
- @NotNull WebSocketHandler wsHandler,
- Exception exception
- ) {
- if (exception == null) {
- log.info("WebSocket握手完成 - URI: {}",
- request.getURI());
- } else {
- log.error("WebSocket握手异常 - URI: {}, 异常信息: {}",
- request.getURI(),
- exception.getMessage(),
- exception);
- }
- }
-
- // 从URI中提取id参数的辅助方法
- private String extractIdFromUrl(URI uri) {
- try {
- String query = uri.getQuery();
- if (query != null) {
- String[] params = query.split("&");
- for (String param : params) {
- String[] keyValue = param.split("=");
- if (keyValue.length == 2 && "id".equalsIgnoreCase(keyValue[0])) { // 修改为匹配id
- return URLDecoder.decode(keyValue[1], StandardCharsets.UTF_8);
- }
- }
- }
- } catch (Exception e) {
- log.error("解析URL参数失败", e);
- throw exception(FAILED_TO_PARSE_URL_PARAMETERS);
- }
- return null;
- }
-
-}
diff --git a/modules/module-ci-machine/src/main/java/cd/casic/module/machine/component/FileTreeComponent.java b/modules/module-ci-machine/src/main/java/cd/casic/module/machine/component/FileTreeComponent.java
deleted file mode 100644
index 5e967815..00000000
--- a/modules/module-ci-machine/src/main/java/cd/casic/module/machine/component/FileTreeComponent.java
+++ /dev/null
@@ -1,340 +0,0 @@
-package cd.casic.module.machine.component;
-
-import cd.casic.module.machine.dal.model.FileNode;
-import com.jcraft.jsch.Channel;
-import com.jcraft.jsch.ChannelSftp;
-import com.jcraft.jsch.JSchException;
-import com.jcraft.jsch.Session;
-import com.jcraft.jsch.SftpATTRS;
-import com.jcraft.jsch.SftpException;
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.stream.Collectors;
-
-import static cd.casic.framework.commons.exception.util.ServiceExceptionUtil.exception;
-import static cd.casic.module.machine.contants.MachineErrorCodeConstants.*;
-
-@Slf4j
-@Component
-public class FileTreeComponent {
-
- private ChannelSftp sftp;
- //todo缓存过期还未设置
- private final Map directoryCache = new ConcurrentHashMap<>();
- private static final long CACHE_EXPIRE_TIME = 60 * 1000; // 缓存过期时间:1分钟
- private final Map cacheTimeStamp = new ConcurrentHashMap<>();
-
- // 将文件树转换为JSON友好的Map结构(仅一级目录)
- public static Map convertToMap(FileNode node) {
- Map map = new HashMap<>();
- map.put("name", node.getName());
- map.put("isDirectory", node.isDirectory());
- map.put("size", node.getSize());
- map.put("permissions", node.getPermissions());
- map.put("modifiedTime", node.getModifiedTime());
- // 仅添加直接子项,不递归
- if (node.isDirectory() && !node.getChildren().isEmpty()) {
- List