diff --git a/modules/module-ci-process-biz/pom.xml b/modules/module-ci-process-biz/pom.xml
index 343f38a9..2cec1377 100644
--- a/modules/module-ci-process-biz/pom.xml
+++ b/modules/module-ci-process-biz/pom.xml
@@ -90,6 +90,10 @@
httpclient5
5.2.1
+
+ cd.casic.boot
+ module-infra-biz
+
cd.casic.boot
module-ci-execute
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/resource/ResourceQueryReq.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/resource/ResourceQueryReq.java
index 136cc33b..ef1db4bf 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/resource/ResourceQueryReq.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/resource/ResourceQueryReq.java
@@ -1,127 +1,47 @@
package cd.casic.ci.process.dal.req.resource;
+import cd.casic.framework.commons.pojo.PageParam;
import lombok.Data;
-import java.time.LocalDateTime;
+import java.util.List;
@Data
-public class ResourceQueryReq {
+public class ResourceQueryReq extends PageParam {
/**
* 主键id
*/
private String id;
- /**
- * 虚拟机类型
- */
- private String vmType;
+ private List idList;
/**
- * 虚拟机名称
+ * docker镜像服务器信息id
*/
- private String vmName;
+ private String dockerId;
/**
- * 到期释放时间
+ * k8s服务器信息id
*/
- private String expirationTime;
+ private String k8sId;
/**
- * 数量
+ * 机器服务器信息id
*/
- private String sum;
+ private String machineId;
/**
- * 平台
+ * 弹性云服务器信息id
*/
- private String platform;
+ private String cloudId;
/**
- * cpu架构
+ * 资源名称
*/
- private String cpuFramework;
+ private String resourceName;
- /**
- * GPU配置状态
- */
- private String gpuStatus;
-
- /**
- * cpu内核数量
- */
- private String cpuCoreSum;
-
- /**
- * 内存
- */
- private String internalStorage;
-
- /**
- * 操作系统
- */
- private String os;
-
- /**
- * 系统盘类型
- */
- private String systemDiskType;
-
- /**
- * 系统盘内存大小
- */
- private String systemDiskInternalStorage;
-
- /**
- * 管理员账号
- */
- private String managerAccount;
-
- /**
- * 管理员密码
- */
- private String managerPassword;
-
- /**
- * 安全组
- */
- private String securityGroup;
-
- /**
- * 调度策略
- */
- private String schedulingPolicy;
-
- /**
- * 引导方式
- */
- private String bootMethod;
-
- /**
- * 备份机
- */
- private String backup;
-
- /**
- * 反亲和组
- */
- private String antiAffinityGroup;
-
- /**
- * 流水线id
- */
- private String pipelineId;
/**
* 创建人用户id
*/
- private Long createUserId;
-
- private Long updateUserId;
-
- /**
- * 创建时间
- */
- private LocalDateTime createTime;
-
- private LocalDateTime updateTime;
+ private String creator;
}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/resource/ResourceReq.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/resource/ResourceReq.java
index 5bc44d66..115910e2 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/resource/ResourceReq.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/resource/ResourceReq.java
@@ -1,111 +1,44 @@
package cd.casic.ci.process.dal.req.resource;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceCloud;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceK8S;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceMachine;
+import cd.casic.ci.process.process.dataObject.resource.PipelineDockerEndpoint;
import lombok.Data;
@Data
public class ResourceReq {
- /**
- * 主键id
- */
private String id;
+ /**
+ * docker镜像服务器信息id
+ */
+ private String dockerId;
/**
- * 虚拟机类型
+ * k8s服务器信息id
*/
- private String vmType;
+ private String k8sId;
/**
- * 虚拟机名称
+ * 机器服务器信息id
*/
- private String vmName;
+ private String machineId;
/**
- * 到期释放时间
+ * 弹性云服务器信息id
*/
- private String expirationTime;
+ private String cloudId;
/**
- * 数量
+ * 资源名称
*/
- private String sum;
+ private String resourceName;
- /**
- * 平台
- */
- private String platform;
+ private PipResourceMachine resourceMachine;
- /**
- * cpu架构
- */
- private String cpuFramework;
+ private PipelineDockerEndpoint dockerEndpoint;
- /**
- * GPU配置状态
- */
- private String gpuStatus;
+ private PipResourceK8S pipResourceK8S;
- /**
- * cpu内核数量
- */
- private String cpuCoreSum;
-
- /**
- * 内存
- */
- private String internalStorage;
-
- /**
- * 操作系统
- */
- private String os;
-
- /**
- * 系统盘类型
- */
- private String systemDiskType;
-
- /**
- * 系统盘内存大小
- */
- private String systemDiskInternalStorage;
-
- /**
- * 管理员账号
- */
- private String managerAccount;
-
- /**
- * 管理员密码
- */
- private String managerPassword;
-
- /**
- * 安全组
- */
- private String securityGroup;
-
- /**
- * 调度策略
- */
- private String schedulingPolicy;
-
- /**
- * 引导方式
- */
- private String bootMethod;
-
- /**
- * 备份机
- */
- private String backup;
-
- /**
- * 反亲和组
- */
- private String antiAffinityGroup;
-
- /**
- * 流水线id
- */
- private String pipelineId;
+ private PipResourceCloud pipResourceCloud;
}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/target/TargetUploadReq.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/target/TargetUploadReq.java
new file mode 100644
index 00000000..d74abaf4
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/req/target/TargetUploadReq.java
@@ -0,0 +1,21 @@
+package cd.casic.ci.process.dal.req.target;
+
+import lombok.Data;
+
+import java.io.File;
+
+/**
+ * @ClassName PipelineQueryReq
+ * @Author hopeli
+ * @Date 2025/5/10 9:54
+ * @Version 1.0
+ */
+@Data
+public class TargetUploadReq{
+
+ private File file;
+
+ private String remoteFilePath;
+
+ private String fileType;
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/resp/resource/ResourceFindResp.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/resp/resource/ResourceFindResp.java
new file mode 100644
index 00000000..f1614ef4
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/resp/resource/ResourceFindResp.java
@@ -0,0 +1,63 @@
+package cd.casic.ci.process.dal.resp.resource;
+
+import cd.casic.ci.process.process.dataObject.resource.PipResourceCloud;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceK8S;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceMachine;
+import cd.casic.ci.process.process.dataObject.resource.PipelineDockerEndpoint;
+import lombok.Data;
+
+@Data
+public class ResourceFindResp {
+ /**
+ * 主键id
+ */
+ private String id;
+
+ /**
+ * docker镜像服务器信息id
+ */
+ private String dockerId;
+
+ /**
+ * k8s服务器信息id
+ */
+ private String k8sId;
+
+ /**
+ * 机器服务器信息id
+ */
+ private String machineId;
+
+ /**
+ * 弹性云服务器信息id
+ */
+ private String cloudId;
+
+ /**
+ * 资源名称
+ */
+ private String resourceName;
+
+ //创建人id
+ private String creator;
+
+ //创建人姓名
+ private String creatorName;
+
+ //最后修改人id
+ private String updater;
+
+ //最后修改人姓名
+ private String updaterName;
+
+ private String remark;
+
+ private PipResourceMachine resourceMachine;
+
+ private PipelineDockerEndpoint dockerEndpoint;
+
+ private PipResourceK8S pipResourceK8S;
+
+ private PipResourceCloud pipResourceCloud;
+
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/resp/resource/ResourceResp.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/resp/resource/ResourceResp.java
index 6d72dc66..3f0d016b 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/resp/resource/ResourceResp.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dal/resp/resource/ResourceResp.java
@@ -1,9 +1,10 @@
package cd.casic.ci.process.dal.resp.resource;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceK8S;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceMachine;
+import cd.casic.ci.process.process.dataObject.resource.PipelineDockerEndpoint;
import lombok.Data;
-import java.time.LocalDateTime;
-
@Data
public class ResourceResp {
/**
@@ -12,116 +13,48 @@ public class ResourceResp {
private String id;
/**
- * 虚拟机类型
+ * docker镜像服务器信息id
*/
- private String vmType;
+ private String dockerId;
/**
- * 虚拟机名称
+ * k8s服务器信息id
*/
- private String vmName;
+ private String k8sId;
/**
- * 到期释放时间
+ * 机器服务器信息id
*/
- private String expirationTime;
+ private String machineId;
/**
- * 数量
+ * 弹性云服务器信息id
*/
- private String sum;
+ private String cloudId;
/**
- * 平台
+ * 资源名称
*/
- private String platform;
+ private String resourceName;
- /**
- * cpu架构
- */
- private String cpuFramework;
+ //创建人id
+ private String creator;
- /**
- * GPU配置状态
- */
- private String gpuStatus;
+ //创建人姓名
+ private String creatorName;
- /**
- * cpu内核数量
- */
- private String cpuCoreSum;
+ //最后修改人id
+ private String updater;
- /**
- * 内存
- */
- private String internalStorage;
+ //最后修改人姓名
+ private String updaterName;
- /**
- * 操作系统
- */
- private String os;
+ private String remark;
- /**
- * 系统盘类型
- */
- private String systemDiskType;
+ private PipResourceMachine resourceMachine;
- /**
- * 系统盘内存大小
- */
- private String systemDiskInternalStorage;
+ private PipelineDockerEndpoint dockerEndpoint;
- /**
- * 管理员账号
- */
- private String managerAccount;
+ private PipResourceK8S pipResourceK8S;
- /**
- * 管理员密码
- */
- private String managerPassword;
-
- /**
- * 安全组
- */
- private String securityGroup;
-
- /**
- * 调度策略
- */
- private String schedulingPolicy;
-
- /**
- * 引导方式
- */
- private String bootMethod;
-
- /**
- * 备份机
- */
- private String backup;
-
- /**
- * 反亲和组
- */
- private String antiAffinityGroup;
-
- /**
- * 流水线id
- */
- private String pipelineId;
-
- /**
- * 创建人用户id
- */
- private Long createUserId;
-
- private Long updateUserId;
-
- /**
- * 创建时间
- */
- private LocalDateTime createTime;
-
- private LocalDateTime updateTime;
}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/enums/ResourceTypeEnum.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/enums/ResourceTypeEnum.java
new file mode 100644
index 00000000..5b1c1b51
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/enums/ResourceTypeEnum.java
@@ -0,0 +1,29 @@
+package cd.casic.ci.process.enums;
+
+import lombok.Getter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Getter
+public enum ResourceTypeEnum {
+ DOCKER("docker","镜像"),
+ K8S("k8s","k8s服务器"),
+ MACHINE("machine","定向机器"),
+ CLOUD("cloud","弹性云"),
+ ;
+ private final String code;
+ private final String msg;
+
+ ResourceTypeEnum(String code, String msg) {
+ this.code = code;
+ this.msg = msg;
+ }
+ public static Map getCodeMap(){
+ Map map = new HashMap<>();
+ for (ResourceTypeEnum value : values()) {
+ map.put(value.code, value);
+ }
+ return map;
+ }
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/converter/ResourceConverter.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/converter/ResourceConverter.java
new file mode 100644
index 00000000..b37b4bed
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/converter/ResourceConverter.java
@@ -0,0 +1,27 @@
+package cd.casic.ci.process.process.converter;
+
+import cd.casic.ci.process.dal.req.resource.ResourceReq;
+import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceManager;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author HopeLi
+ * @version v1.0
+ * @ClassName PipelineConverter
+ * @Date: 2025/5/13 14:39
+ * @Description:
+ */
+@Mapper(componentModel = "spring")
+public interface ResourceConverter {
+ ResourceConverter INSTANCE = Mappers.getMapper(ResourceConverter.class);
+
+ ResourceFindResp toResp(PipResourceManager req);
+ List toRespList(List pipResourceManagers);
+
+
+ PipResourceManager toBean(ResourceReq req);
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceCloudDao.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceCloudDao.java
new file mode 100644
index 00000000..0a445ef4
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceCloudDao.java
@@ -0,0 +1,14 @@
+package cd.casic.ci.process.process.dal.pipeline;
+
+import cd.casic.ci.process.process.dataObject.resource.PipResourceCloud;
+import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
+
+/**
+ * @author HopeLi
+ * @version v1.0
+ * @ClassName PipResourceMachineDao
+ * @Date: 2025/5/13 14:39
+ * @Description:
+ */
+public interface PipResourceCloudDao extends BaseMapperX {
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceDockerEndpointDao.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceDockerEndpointDao.java
new file mode 100644
index 00000000..e954751e
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceDockerEndpointDao.java
@@ -0,0 +1,14 @@
+package cd.casic.ci.process.process.dal.pipeline;
+
+import cd.casic.ci.process.process.dataObject.resource.PipelineDockerEndpoint;
+import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
+
+/**
+ * @author HopeLi
+ * @version v1.0
+ * @ClassName PipResourceDockerEndpointDao
+ * @Date: 2025/5/13 14:39
+ * @Description:
+ */
+public interface PipResourceDockerEndpointDao extends BaseMapperX {
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceK8SDao.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceK8SDao.java
new file mode 100644
index 00000000..2864aa5a
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceK8SDao.java
@@ -0,0 +1,14 @@
+package cd.casic.ci.process.process.dal.pipeline;
+
+import cd.casic.ci.process.process.dataObject.resource.PipResourceK8S;
+import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
+
+/**
+ * @author HopeLi
+ * @version v1.0
+ * @ClassName PipResourceK8SDao
+ * @Date: 2025/5/13 14:39
+ * @Description:
+ */
+public interface PipResourceK8SDao extends BaseMapperX {
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceMachineDao.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceMachineDao.java
new file mode 100644
index 00000000..68cd0b78
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceMachineDao.java
@@ -0,0 +1,14 @@
+package cd.casic.ci.process.process.dal.pipeline;
+
+import cd.casic.ci.process.process.dataObject.resource.PipResourceMachine;
+import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
+
+/**
+ * @author HopeLi
+ * @version v1.0
+ * @ClassName PipResourceMachineDao
+ * @Date: 2025/5/13 14:39
+ * @Description:
+ */
+public interface PipResourceMachineDao extends BaseMapperX {
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceDao.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceManagerDao.java
similarity index 76%
rename from modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceDao.java
rename to modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceManagerDao.java
index cfa6e58d..0793df7f 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceDao.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dal/pipeline/PipResourceManagerDao.java
@@ -1,6 +1,6 @@
package cd.casic.ci.process.process.dal.pipeline;
-import cd.casic.ci.process.process.dataObject.resource.PipResource;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceManager;
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
/**
@@ -10,5 +10,5 @@ import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
* @Date: 2025/5/13 14:39
* @Description:
*/
-public interface PipResourceDao extends BaseMapperX {
+public interface PipResourceManagerDao extends BaseMapperX {
}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResource.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceCloud.java
similarity index 82%
rename from modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResource.java
rename to modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceCloud.java
index 52da9d4c..40574a0d 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResource.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceCloud.java
@@ -1,18 +1,18 @@
package cd.casic.ci.process.process.dataObject.resource;
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
+import lombok.EqualsAndHashCode;
+/**
+ * @ClassName PipResourceCloud
+ * @Author hopeli
+ * @Date 2025/5/31 22:19
+ * @Version 1.0
+ */
@Data
-public class PipResource extends PipBaseElement {
- /**
- * 主键id
- */
- @TableId(type = IdType.ASSIGN_ID)
- private String id;
-
+ @EqualsAndHashCode(callSuper = true)
+public class PipResourceCloud extends PipBaseElement {
/**
* 虚拟机类型
*/
@@ -107,9 +107,4 @@ public class PipResource extends PipBaseElement {
* 反亲和组
*/
private String antiAffinityGroup;
-
- /**
- * 流水线id
- */
- private String pipelineId;
}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceK8S.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceK8S.java
new file mode 100644
index 00000000..c6512114
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceK8S.java
@@ -0,0 +1,11 @@
+package cd.casic.ci.process.process.dataObject.resource;
+
+import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class PipResourceK8S extends PipBaseElement {
+
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceMachine.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceMachine.java
new file mode 100644
index 00000000..b539f4ab
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceMachine.java
@@ -0,0 +1,70 @@
+package cd.casic.ci.process.process.dataObject.resource;
+
+import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @ClassName PipResourceMachine
+ * @Author hopeli
+ * @Date 2025/31 21:48
+ * @Version 1.0
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class PipResourceMachine extends PipBaseElement {
+ /**
+ * 主机地址
+ */
+ private String machineHost;
+
+ /**
+ * 描述
+ */
+ private String description;
+
+ /**
+ * 机器状态
+ */
+ private String machineStatus;
+
+ /**
+ * 登录用户名
+ */
+ private String username;
+
+ /**
+ * SSH 端口
+ */
+ private String sshPort;
+
+ /**
+ * 密码
+ */
+ private String password;
+
+ /**
+ * 秘钥 ID
+ */
+ private Long secretKeyId;
+
+ /**
+ * 代理 ID
+ */
+ private Long proxyId;
+
+ /**
+ * 认证类型编码
+ */
+ private Integer authenticationTypeCode;
+
+ /**
+ * 认证类型
+ */
+ private String authType;
+
+ /**
+ * 操作系统
+ */
+ private String osSystem;
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceManager.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceManager.java
new file mode 100644
index 00000000..0be43d3f
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipResourceManager.java
@@ -0,0 +1,40 @@
+package cd.casic.ci.process.process.dataObject.resource;
+
+import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @ClassName PipResourceTmp
+ * @Author hopeli
+ * @Date 2025/31 21:40
+ * @Version 1.0
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class PipResourceManager extends PipBaseElement {
+ /**
+ * docker镜像服务器信息id
+ */
+ private String dockerId;
+
+ /**
+ * k8s服务器信息id
+ */
+ private String k8sId;
+
+ /**
+ * 机器服务器信息id
+ */
+ private String machineId;
+
+ /**
+ * 弹性云服务器信息id
+ */
+ private String cloudId;
+
+ /**
+ * 资源名称
+ */
+ private String resourceName;
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipelineDockerEndpoint.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipelineDockerEndpoint.java
new file mode 100644
index 00000000..66237b31
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/dataObject/resource/PipelineDockerEndpoint.java
@@ -0,0 +1,52 @@
+package cd.casic.ci.process.process.dataObject.resource;
+
+import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+
+/**
+ * @ClassName PipelineDockerEndpoint
+ * @Author hopeli
+ * @Date 2025/5/31 21:54
+ * @Version 1.0
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class PipelineDockerEndpoint extends PipBaseElement {
+ /**
+ * Docker 类型:远程/本地
+ */
+ private String dockerType;
+
+ /**
+ * Docker 状态(参考 DockerEndpointStateEnum)
+ */
+ private String state;
+
+ /**
+ * 主机地址
+ */
+ private String host;
+
+ /**
+ * 端口
+ */
+ private String port;
+
+ /**
+ * 最近测试时间
+ */
+ private LocalDateTime latestTestTime;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ * 类型(可能用于扩展分类)
+ */
+ private String type;
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/impl/PipelineServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/impl/PipelineServiceImpl.java
index b2692c23..177585af 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/impl/PipelineServiceImpl.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/pipeline/impl/PipelineServiceImpl.java
@@ -14,16 +14,13 @@ import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.engine.runContext.BaseRunContext;
import cd.casic.ci.process.engine.runContext.PipelineRunContext;
import cd.casic.ci.process.process.converter.PipelineConverter;
-import cd.casic.ci.process.process.dal.pipeline.PipResourceDao;
import cd.casic.ci.process.process.dal.pipeline.PipStageDao;
import cd.casic.ci.process.process.dal.pipeline.PipTaskDao;
import cd.casic.ci.process.process.dal.pipeline.PipelineDao;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
-import cd.casic.ci.process.process.dataObject.resource.PipResource;
import cd.casic.ci.process.process.dataObject.stage.PipStage;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.pipeline.PipelineService;
-import cd.casic.ci.process.process.service.resource.impl.ResourceServiceImpl;
import cd.casic.ci.process.process.service.stage.impl.StageServiceImpl;
import cd.casic.ci.process.process.service.task.impl.TaskServiceImpl;
import cd.casic.ci.process.process.service.template.impl.TemplateManagerServiceImpl;
@@ -47,7 +44,11 @@ import org.springframework.util.ObjectUtils;
import java.time.Duration;
import java.time.LocalDateTime;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
/**
* @author HopeLi
@@ -65,9 +66,6 @@ public class PipelineServiceImpl extends ServiceImpl i
@Resource
private TaskServiceImpl taskService;
- @Resource
- private ResourceServiceImpl resourceService;
-
@Resource
private PipelineDao pipelineDao;
@@ -77,9 +75,6 @@ public class PipelineServiceImpl extends ServiceImpl i
@Resource
private PipTaskDao pipTaskDao;
- @Resource
- private PipResourceDao pipResourceDao;
-
@Resource
private AdminUserServiceImpl adminUserService;
@Resource
@@ -105,17 +100,6 @@ public class PipelineServiceImpl extends ServiceImpl i
pipeline.setState(1);
pipeline.setMachineId("1");
- //新增对应的配置类数据
- if (!ObjectUtils.isEmpty(pipelineReq.getResourceReq())){
- PipResource resource = new PipResource();
- BeanUtils.copyProperties(pipelineReq.getResourceReq(),resource);
- resource.setCreator(pipeline.getCreator());
- resource.setCreateTime(LocalDateTime.now());
- resourceService.save(resource);
-
- pipeline.setResourceId(resource.getId());
- }
-
this.save(pipeline);
//根据模板ID初始化
@@ -286,15 +270,6 @@ public class PipelineServiceImpl extends ServiceImpl i
List list = task.stream().map(PipTask::getId).toList();
pipTaskDao.deleteByIds(list);
}
-
- //删除resource表数据
- if (StringUtils.isNotEmpty(pipeline.getResourceId())){
- PipResource pipResource = pipResourceDao.selectById(pipeline.getResourceId());
-
- if (!ObjectUtils.isEmpty(pipResource)){
- pipResourceDao.deleteById(pipeline.getResourceId());
- }
- }
}
@Override
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/ResourceManagerService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/ResourceManagerService.java
new file mode 100644
index 00000000..28f3e6ba
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/ResourceManagerService.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.process.service.resource;
+
+import cd.casic.ci.process.dal.req.resource.ResourceQueryReq;
+import cd.casic.ci.process.dal.req.resource.ResourceReq;
+import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceManager;
+import cd.casic.framework.commons.pojo.PageResult;
+import com.baomidou.mybatisplus.extension.service.IService;
+import jakarta.validation.Valid;
+
+import java.util.List;
+
+/**
+ * @author HopeLi
+ * @version v1.0
+ * @ClassName ResourceService
+ * @Date: 2025/5/13 10:27
+ * @Description:
+ */
+public interface ResourceManagerService extends IService {
+ String createResource(@Valid ResourceReq resourceReq);
+
+ void deleteResource(String id);
+
+ void updateResource(@Valid ResourceReq resourceReq);
+
+ ResourceFindResp findResourceById(String id);
+
+ List findResourceList(@Valid ResourceQueryReq req);
+
+ PageResult findResourcePage(@Valid ResourceQueryReq req);
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/ResourceService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/ResourceService.java
deleted file mode 100644
index bc0a88d4..00000000
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/ResourceService.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package cd.casic.ci.process.process.service.resource;
-
-import cd.casic.ci.process.process.dataObject.resource.PipResource;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * @author HopeLi
- * @version v1.0
- * @ClassName ResourceService
- * @Date: 2025/5/13 10:27
- * @Description:
- */
-public interface ResourceService extends IService {
-}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/impl/ResourceManagerServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/impl/ResourceManagerServiceImpl.java
new file mode 100644
index 00000000..d08887cf
--- /dev/null
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/impl/ResourceManagerServiceImpl.java
@@ -0,0 +1,320 @@
+package cd.casic.ci.process.process.service.resource.impl;
+
+import cd.casic.ci.process.dal.req.resource.ResourceQueryReq;
+import cd.casic.ci.process.dal.req.resource.ResourceReq;
+import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
+import cd.casic.ci.process.process.converter.ResourceConverter;
+import cd.casic.ci.process.process.dal.pipeline.PipResourceCloudDao;
+import cd.casic.ci.process.process.dal.pipeline.PipResourceDockerEndpointDao;
+import cd.casic.ci.process.process.dal.pipeline.PipResourceK8SDao;
+import cd.casic.ci.process.process.dal.pipeline.PipResourceMachineDao;
+import cd.casic.ci.process.process.dal.pipeline.PipResourceManagerDao;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceCloud;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceK8S;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceMachine;
+import cd.casic.ci.process.process.dataObject.resource.PipResourceManager;
+import cd.casic.ci.process.process.dataObject.resource.PipelineDockerEndpoint;
+import cd.casic.ci.process.process.service.resource.ResourceManagerService;
+import cd.casic.framework.commons.exception.ServiceException;
+import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
+import cd.casic.framework.commons.pojo.PageResult;
+import cd.casic.framework.security.dal.user.AdminUserDO;
+import cd.casic.framework.tenant.core.service.AdminUserServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author HopeLi
+ * @version v1.0
+ * @ClassName ResourceServiceImpl
+ * @Date: 2025/5/13 10:31
+ * @Description:
+ */
+@Service
+@Slf4j
+public class ResourceManagerServiceImpl extends ServiceImpl implements ResourceManagerService {
+ @Resource
+ private PipResourceManagerDao resourceManagerDao;
+
+ @Resource
+ private PipResourceMachineDao machineDao;
+
+ @Resource
+ private PipResourceDockerEndpointDao dockerEndpointDao;
+
+ @Resource
+ private PipResourceK8SDao k8SDao;
+
+ @Resource
+ private PipResourceCloudDao cloudDao;
+
+ @Resource
+ private AdminUserServiceImpl adminUserService;
+ @Autowired
+ private PipResourceDockerEndpointDao pipResourceDockerEndpointDao;
+
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String createResource(ResourceReq resourceReq) {
+
+ PipResourceManager pipResourceManager = ResourceConverter.INSTANCE.toBean(resourceReq);
+
+ //如果资源类型不属于弹性云,则新增,如果属于弹性云,则走申请流程
+ if (!ObjectUtils.isEmpty(resourceReq.getResourceMachine())){
+ PipResourceMachine resourceMachine = resourceReq.getResourceMachine();
+ machineDao.insert(resourceMachine);
+
+ pipResourceManager.setMachineId(resourceMachine.getId());
+ }
+ if (!ObjectUtils.isEmpty(resourceReq.getPipResourceK8S())) {
+ PipResourceK8S pipResourceK8S = resourceReq.getPipResourceK8S();
+ k8SDao.insert(pipResourceK8S);
+
+ pipResourceManager.setK8sId(pipResourceK8S.getId());
+ }
+ if (!ObjectUtils.isEmpty(resourceReq.getDockerEndpoint())) {
+ PipelineDockerEndpoint dockerEndpoint = resourceReq.getDockerEndpoint();
+ dockerEndpointDao.insert(dockerEndpoint);
+
+ pipResourceManager.setDockerId(dockerEndpoint.getId());
+ }
+
+ if (!ObjectUtils.isEmpty(resourceReq.getPipResourceCloud())) {
+ PipResourceCloud pipResourceCloud = resourceReq.getPipResourceCloud();
+ cloudDao.insert(pipResourceCloud);
+
+ pipResourceManager.setCloudId(pipResourceCloud.getId());
+ }
+
+ resourceManagerDao.insert(pipResourceManager);
+ return pipResourceManager.getId();
+ }
+
+ @Override
+ public void deleteResource(String id) {
+ PipResourceManager pipResourceManager = resourceManagerDao.selectById(id);
+ if (!StringUtils.isEmpty(pipResourceManager.getMachineId())){
+ machineDao.deleteById(pipResourceManager.getMachineId());
+ }
+ if (!StringUtils.isEmpty(pipResourceManager.getK8sId())){
+ k8SDao.deleteById(pipResourceManager.getK8sId());
+ }
+ if (!StringUtils.isEmpty(pipResourceManager.getDockerId())){
+ dockerEndpointDao.deleteById(pipResourceManager.getDockerId());
+ }
+ if (!StringUtils.isEmpty(pipResourceManager.getCloudId())){
+ cloudDao.deleteById(pipResourceManager.getCloudId());
+ }
+ resourceManagerDao.deleteById(id);
+ }
+
+ @Override
+ public void updateResource(ResourceReq resourceReq) {
+ PipResourceManager temp = resourceManagerDao.selectById(resourceReq.getId());
+ temp.setResourceName(resourceReq.getResourceName());
+
+ //先删除旧的资源信息
+ if (!StringUtils.isEmpty(temp.getMachineId())){
+ machineDao.deleteById(temp.getMachineId());
+ }
+
+
+ if (!StringUtils.isEmpty(temp.getK8sId())){
+ k8SDao.deleteById(temp.getK8sId());
+
+ }
+
+ if (!StringUtils.isEmpty(temp.getDockerId())){
+ dockerEndpointDao.deleteById(temp.getDockerId());
+
+ }
+
+ if (!StringUtils.isEmpty(temp.getCloudId())){
+ cloudDao.deleteById(temp.getCloudId());
+
+ }
+
+
+ //根据新资源信息新增
+ if (!ObjectUtils.isEmpty(resourceReq.getResourceMachine())){
+ PipResourceMachine resourceMachine = resourceReq.getResourceMachine();
+ machineDao.insert(resourceMachine);
+
+ temp.setMachineId(resourceMachine.getId());
+ }
+ if (!ObjectUtils.isEmpty(resourceReq.getPipResourceK8S())) {
+ PipResourceK8S pipResourceK8S = resourceReq.getPipResourceK8S();
+ k8SDao.insert(pipResourceK8S);
+
+ temp.setK8sId(pipResourceK8S.getId());
+ }
+ if (!ObjectUtils.isEmpty(resourceReq.getDockerEndpoint())) {
+ PipelineDockerEndpoint dockerEndpoint = resourceReq.getDockerEndpoint();
+ dockerEndpointDao.insert(dockerEndpoint);
+
+ temp.setDockerId(dockerEndpoint.getId());
+ }
+
+ if (!ObjectUtils.isEmpty(resourceReq.getPipResourceCloud())) {
+ PipResourceCloud pipResourceCloud = resourceReq.getPipResourceCloud();
+ cloudDao.insert(pipResourceCloud);
+
+ temp.setCloudId(pipResourceCloud.getId());
+ }
+ resourceManagerDao.updateById(temp);
+ }
+
+ @Override
+ public ResourceFindResp findResourceById(String id) {
+ PipResourceManager pipResourceManager = resourceManagerDao.selectById(id);
+ if (ObjectUtils.isEmpty(pipResourceManager)){
+ throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"资源不存在");
+ }
+ ResourceFindResp resp = ResourceConverter.INSTANCE.toResp(pipResourceManager);
+
+ setResource(resp);
+ setUserName(resp);
+ return resp;
+ }
+
+
+
+ @Override
+ public List findResourceList(ResourceQueryReq query) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ if (!ObjectUtils.isEmpty(query.getId())){
+ wrapper.eq("id",query.getId());
+ }
+ if (!ObjectUtils.isEmpty(query.getIdList())){
+ wrapper.in("id",query.getId());
+ }
+ if (!ObjectUtils.isEmpty(query.getResourceName())){
+ wrapper.like("resource_name",query.getResourceName());
+ }
+ if (!ObjectUtils.isEmpty(query.getMachineId())){
+ wrapper.eq("machine_id",query.getMachineId());
+ }
+ if (!ObjectUtils.isEmpty(query.getK8sId())){
+ wrapper.eq("k8s_id",query.getK8sId());
+ }
+ if (!ObjectUtils.isEmpty(query.getDockerId())){
+ wrapper.eq("docker_id",query.getDockerId());
+ }
+ if (!ObjectUtils.isEmpty(query.getCloudId())){
+ wrapper.eq("cloud_id",query.getCloudId());
+ }
+ if (!ObjectUtils.isEmpty(query.getCreator())){
+ wrapper.eq("creator",query.getCreator());
+ }
+ List pipResourceManagerList = resourceManagerDao.selectList(wrapper);
+
+ if (ObjectUtils.isEmpty(pipResourceManagerList)){
+ return new ArrayList<>(0);
+ }
+
+ List respList = ResourceConverter.INSTANCE.toRespList(pipResourceManagerList);
+
+ //对资源进行赋值
+ respList.forEach(this::setResource);
+ respList.forEach(this::setUserName);
+
+ return respList;
+ }
+
+ @Override
+ public PageResult findResourcePage(ResourceQueryReq query) {
+ Page respPage = new Page<>();
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ if (!ObjectUtils.isEmpty(query.getId())){
+ wrapper.eq("id",query.getId());
+ }
+ if (!ObjectUtils.isEmpty(query.getIdList())){
+ wrapper.in("id",query.getId());
+ }
+ if (!ObjectUtils.isEmpty(query.getResourceName())){
+ wrapper.like("resource_name",query.getResourceName());
+ }
+ if (!ObjectUtils.isEmpty(query.getMachineId())){
+ wrapper.eq("machine_id",query.getMachineId());
+ }
+ if (!ObjectUtils.isEmpty(query.getK8sId())){
+ wrapper.eq("k8s_id",query.getK8sId());
+ }
+ if (!ObjectUtils.isEmpty(query.getDockerId())){
+ wrapper.eq("docker_id",query.getDockerId());
+ }
+ if (!ObjectUtils.isEmpty(query.getCloudId())){
+ wrapper.eq("cloud_id",query.getCloudId());
+ }
+ if (!ObjectUtils.isEmpty(query.getCreator())){
+ wrapper.eq("creator",query.getCreator());
+ }
+ Page pipResourceTempPage = resourceManagerDao.selectPage(new Page<>(query.getPageNo(), query.getPageSize()), wrapper);
+
+ if (ObjectUtils.isEmpty(pipResourceTempPage)){
+ return new PageResult<>();
+ }
+
+ List respList = ResourceConverter.INSTANCE.toRespList(pipResourceTempPage.getRecords());
+
+ //对资源进行赋值
+ respList.forEach(this::setResource);
+ respList.forEach(this::setUserName);
+
+ respPage.setRecords(respList);
+ respPage.setTotal(pipResourceTempPage.getTotal());
+ respPage.setCurrent(pipResourceTempPage.getCurrent());
+ respPage.setSize(pipResourceTempPage.getSize());
+ PageResult pageResult = new PageResult<>(respList,pipResourceTempPage.getTotal());
+ return pageResult;
+ }
+
+ private void setResource(ResourceFindResp resourceFindResp) {
+ if (!StringUtils.isEmpty(resourceFindResp.getMachineId())){
+ PipResourceMachine resourceMachine = machineDao.selectById(resourceFindResp.getMachineId());
+ resourceFindResp.setResourceMachine(resourceMachine);
+ }
+ if (!StringUtils.isEmpty(resourceFindResp.getK8sId())) {
+ PipResourceK8S pipResourceK8S = k8SDao.selectById(resourceFindResp.getK8sId());
+ resourceFindResp.setPipResourceK8S(pipResourceK8S);
+ }
+ if (!StringUtils.isEmpty(resourceFindResp.getDockerId())) {
+ PipelineDockerEndpoint dockerEndpoint = dockerEndpointDao.selectById(resourceFindResp.getDockerId());
+ resourceFindResp.setDockerEndpoint(dockerEndpoint);
+ }
+ if (!StringUtils.isEmpty(resourceFindResp.getCloudId())) {
+ PipResourceCloud resourceCloud = cloudDao.selectById(resourceFindResp.getCloudId());
+ resourceFindResp.setPipResourceCloud(resourceCloud);
+ }
+ }
+
+
+ private void setUserName(ResourceFindResp resp) {
+ if (!StringUtils.isEmpty(resp.getCreator())){
+ AdminUserDO user = adminUserService.getUser(Long.valueOf(resp.getCreator()));
+ if (!ObjectUtils.isEmpty(user)){
+ resp.setCreatorName(user.getUsername());
+ }
+ }
+
+ if (!StringUtils.isEmpty(resp.getUpdater())){
+ AdminUserDO user = adminUserService.getUser(Long.valueOf(resp.getUpdater()));
+ if (!ObjectUtils.isEmpty(user)){
+ resp.setUpdaterName(user.getUsername());
+ }
+ }
+ }
+}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/impl/ResourceServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/impl/ResourceServiceImpl.java
deleted file mode 100644
index 5eafa065..00000000
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/resource/impl/ResourceServiceImpl.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package cd.casic.ci.process.process.service.resource.impl;
-
-import cd.casic.ci.process.process.dal.pipeline.PipResourceDao;
-import cd.casic.ci.process.process.dataObject.resource.PipResource;
-import cd.casic.ci.process.process.service.resource.ResourceService;
-import cd.casic.ci.process.process.service.stage.impl.StageServiceImpl;
-import cd.casic.ci.process.process.service.task.impl.TaskServiceImpl;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import jakarta.annotation.Resource;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-/**
- * @author HopeLi
- * @version v1.0
- * @ClassName ResourceServiceImpl
- * @Date: 2025/5/13 10:31
- * @Description:
- */
-@Service
-@Slf4j
-public class ResourceServiceImpl extends ServiceImpl implements ResourceService {
- @Resource
- private StageServiceImpl stageService;
-
- @Resource
- private TaskServiceImpl taskService;
-
-}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/TargetManagerService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/TargetManagerService.java
index d950533b..983403f7 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/TargetManagerService.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/TargetManagerService.java
@@ -4,6 +4,7 @@ package cd.casic.ci.process.process.service.target;
import cd.casic.ci.process.dal.req.target.TargetManagerCreateReq;
import cd.casic.ci.process.dal.req.target.TargetManagerUpdateReq;
import cd.casic.ci.process.dal.req.target.TargetQueryReq;
+import cd.casic.ci.process.dal.req.target.TargetUploadReq;
import cd.casic.ci.process.dal.resp.target.TargetManagerResp;
import cd.casic.ci.process.process.dataObject.base.BaseIdReq;
import cd.casic.ci.process.process.dataObject.target.TargetManager;
@@ -30,4 +31,6 @@ public interface TargetManagerService extends IService {
PageResult findTargetPage(@Valid TargetQueryReq query);
List findTargetList(@Valid TargetQueryReq query);
+
+ String fileUpload(@Valid TargetUploadReq req);
}
diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/impl/TargetManagerServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/impl/TargetManagerServiceImpl.java
index f76c4827..b6138f50 100644
--- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/impl/TargetManagerServiceImpl.java
+++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/target/impl/TargetManagerServiceImpl.java
@@ -4,6 +4,7 @@ package cd.casic.ci.process.process.service.target.impl;
import cd.casic.ci.process.dal.req.target.TargetManagerCreateReq;
import cd.casic.ci.process.dal.req.target.TargetManagerUpdateReq;
import cd.casic.ci.process.dal.req.target.TargetQueryReq;
+import cd.casic.ci.process.dal.req.target.TargetUploadReq;
import cd.casic.ci.process.dal.resp.target.TargetManagerResp;
import cd.casic.ci.process.process.converter.TargetConverter;
import cd.casic.ci.process.process.dal.pipeline.TargetManagerDao;
@@ -17,7 +18,10 @@ import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
import cd.casic.framework.commons.pojo.PageResult;
import cd.casic.framework.commons.util.object.BeanUtils;
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
+import cd.casic.module.infra.framework.file.core.client.ftp.FtpFileClient;
+import cd.casic.module.infra.framework.file.core.client.ftp.FtpFileClientConfig;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.extra.ftp.FtpMode;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -26,8 +30,11 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.FileCopyUtils;
import org.springframework.util.ObjectUtils;
+import java.io.FileInputStream;
+import java.io.IOException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -177,4 +184,32 @@ public class TargetManagerServiceImpl extends ServiceImpl createResource(@RequestBody @NotNull @Valid ResourceReq resourceReq){
-
-// String pipelineAuthHostId = envService.createEnv(env);
-
- String resourceId = "1";
- return CommonResult.success(resourceId);
- }
-
-
- @PostMapping(path="/deleteResource")
- public CommonResult deleteResource(@NotNull String resourceId){
-
-// envService.deleteEnv(envId);
-
- return CommonResult.success();
- }
-
- @PostMapping(path="/findResourceList")
- public CommonResult> findResourceList(@NotNull ResourceQueryReq query){
-
-// List envList = envService.findEnvList(envQuery);
- List resourceRespList = new ArrayList<>(0);
- ResourceResp resourceResp = new ResourceResp();
- resourceRespList.add(resourceResp);
-
- return CommonResult.success(resourceRespList);
- }
-
-
-
- @PostMapping(path="/updateResource")
- public CommonResult updateResource(@RequestBody @NotNull @Valid ResourceReq resourceReq){
-
-// this.envService.updateEnv(env);
-
- return CommonResult.success();
- }
-
-
- @PostMapping(path="/findResourcePage")
- public CommonResult> findResourcePage(@RequestBody @NotNull @Valid ResourceQueryReq query){
-
-// Pagination envPage = envService.findEnvPage(envQuery);
- Page respPage = new Page<>();
- List resourceRespList = new ArrayList<>(0);
- ResourceResp resourceResp = new ResourceResp();
- resourceResp.setId("1");
- resourceRespList.add(resourceResp);
- respPage.setRecords(resourceRespList);
- return CommonResult.success(respPage);
- }
-
-}
diff --git a/ops-server/src/main/java/cd/casic/server/controller/ResourceManagerController.java b/ops-server/src/main/java/cd/casic/server/controller/ResourceManagerController.java
new file mode 100644
index 00000000..940b4c9d
--- /dev/null
+++ b/ops-server/src/main/java/cd/casic/server/controller/ResourceManagerController.java
@@ -0,0 +1,87 @@
+package cd.casic.server.controller;
+
+
+import cd.casic.ci.process.dal.req.resource.ResourceQueryReq;
+import cd.casic.ci.process.dal.req.resource.ResourceReq;
+import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
+import cd.casic.ci.process.process.dataObject.base.BaseIdReq;
+import cd.casic.ci.process.process.service.resource.ResourceManagerService;
+import cd.casic.framework.commons.pojo.CommonResult;
+import cd.casic.framework.commons.pojo.PageResult;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.jetbrains.annotations.NotNull;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @ClassName ResourceController
+ * @Author hopeli
+ * @Date 2025/5/10 10:57
+ * @Version 1.0
+ */
+
+@RestController
+@RequestMapping("/resource")
+public class ResourceManagerController {
+
+ @Resource
+ private ResourceManagerService resourceManagerService;
+
+ @PostMapping(path="/createResource")
+ public CommonResult createResource(@RequestBody @Valid ResourceReq resourceReq){
+
+ String resourceId = resourceManagerService.createResource(resourceReq);
+
+ return CommonResult.success(resourceId);
+ }
+
+
+ @PostMapping(path="/deleteResource")
+ public CommonResult deleteResource(@RequestBody @Valid BaseIdReq req){
+
+ resourceManagerService.deleteResource(req.getId());
+
+ return CommonResult.success();
+ }
+
+ @PostMapping(path="/findResourceList")
+ public CommonResult> findResourceList(@RequestBody @Valid ResourceQueryReq req){
+
+ List ResourceFindRespList = resourceManagerService.findResourceList(req);
+
+ return CommonResult.success(ResourceFindRespList);
+ }
+
+
+
+ @PostMapping(path="/updateResource")
+ public CommonResult updateResource(@RequestBody @NotNull @Valid ResourceReq resourceReq){
+
+ resourceManagerService.updateResource(resourceReq);
+
+ return CommonResult.success();
+ }
+
+
+ @PostMapping(path="/findResourcePage")
+ public CommonResult> findResourcePage(@RequestBody @NotNull @Valid ResourceQueryReq req){
+
+ PageResult respPage = resourceManagerService.findResourcePage(req);
+ return CommonResult.success(respPage);
+ }
+
+
+ @PostMapping(path="/findResourceById")
+ public CommonResult findResourceById(@RequestBody @Valid BaseIdReq req){
+
+ ResourceFindResp resp = resourceManagerService.findResourceById(req.getId());
+
+ return CommonResult.success(resp);
+ }
+
+}
diff --git a/ops-server/src/main/java/cd/casic/server/controller/TargetController.java b/ops-server/src/main/java/cd/casic/server/controller/TargetController.java
index 5e69ffe6..8a520159 100644
--- a/ops-server/src/main/java/cd/casic/server/controller/TargetController.java
+++ b/ops-server/src/main/java/cd/casic/server/controller/TargetController.java
@@ -4,6 +4,7 @@ package cd.casic.server.controller;
import cd.casic.ci.process.dal.req.target.TargetManagerCreateReq;
import cd.casic.ci.process.dal.req.target.TargetManagerUpdateReq;
import cd.casic.ci.process.dal.req.target.TargetQueryReq;
+import cd.casic.ci.process.dal.req.target.TargetUploadReq;
import cd.casic.ci.process.dal.resp.target.TargetManagerResp;
import cd.casic.ci.process.process.dataObject.base.BaseIdReq;
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
@@ -88,4 +89,13 @@ public class TargetController {
return CommonResult.success(respList);
}
+
+
+ @PostMapping(path="/fileUpload")
+ public CommonResult fileUpload(@RequestBody @Valid TargetUploadReq req){
+
+ String filePath = targetManagerService.fileUpload(req);
+
+ return CommonResult.success(filePath);
+ }
}