0601 ljc resource模块基础功能开发
This commit is contained in:
parent
aca9ff8b47
commit
3ac7291ffe
@ -90,6 +90,10 @@
|
|||||||
<artifactId>httpclient5</artifactId>
|
<artifactId>httpclient5</artifactId>
|
||||||
<version>5.2.1</version> <!-- 建议使用最新稳定版本 -->
|
<version>5.2.1</version> <!-- 建议使用最新稳定版本 -->
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>cd.casic.boot</groupId>
|
||||||
|
<artifactId>module-infra-biz</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
@ -15,14 +15,24 @@ public class ResourceQueryReq extends PageParam {
|
|||||||
private List<String> idList;
|
private List<String> idList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源类型 docker, k8s, machine,cloud
|
* docker镜像服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceType;
|
private String dockerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其他资源表 ID
|
* k8s服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceId;
|
private String k8sId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机器服务器信息id
|
||||||
|
*/
|
||||||
|
private String machineId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 弹性云服务器信息id
|
||||||
|
*/
|
||||||
|
private String cloudId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源名称
|
* 资源名称
|
||||||
|
@ -10,14 +10,24 @@ import lombok.Data;
|
|||||||
public class ResourceReq {
|
public class ResourceReq {
|
||||||
private String id;
|
private String id;
|
||||||
/**
|
/**
|
||||||
* 资源类型 docker, k8s, machine,cloud
|
* docker镜像服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceType;
|
private String dockerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其他资源表 ID
|
* k8s服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceId;
|
private String k8sId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机器服务器信息id
|
||||||
|
*/
|
||||||
|
private String machineId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 弹性云服务器信息id
|
||||||
|
*/
|
||||||
|
private String cloudId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源名称
|
* 资源名称
|
||||||
|
@ -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;
|
||||||
|
}
|
@ -14,14 +14,24 @@ public class ResourceFindResp {
|
|||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源类型 docker, k8s, machine
|
* docker镜像服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceType;
|
private String dockerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其他资源表 ID
|
* k8s服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceId;
|
private String k8sId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机器服务器信息id
|
||||||
|
*/
|
||||||
|
private String machineId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 弹性云服务器信息id
|
||||||
|
*/
|
||||||
|
private String cloudId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源名称
|
* 资源名称
|
||||||
|
@ -13,14 +13,24 @@ public class ResourceResp {
|
|||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源类型 docker, k8s, machine
|
* docker镜像服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceType;
|
private String dockerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其他资源表 ID
|
* k8s服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceId;
|
private String k8sId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机器服务器信息id
|
||||||
|
*/
|
||||||
|
private String machineId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 弹性云服务器信息id
|
||||||
|
*/
|
||||||
|
private String cloudId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源名称
|
* 资源名称
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
package cd.casic.ci.process.process.converter;
|
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.dal.resp.resource.ResourceFindResp;
|
||||||
import cd.casic.ci.process.process.dataObject.resource.PipResourceTemp;
|
import cd.casic.ci.process.process.dataObject.resource.PipResourceManager;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
@ -18,7 +19,9 @@ import java.util.List;
|
|||||||
public interface ResourceConverter {
|
public interface ResourceConverter {
|
||||||
ResourceConverter INSTANCE = Mappers.getMapper(ResourceConverter.class);
|
ResourceConverter INSTANCE = Mappers.getMapper(ResourceConverter.class);
|
||||||
|
|
||||||
ResourceFindResp toBean(PipResourceTemp req);
|
ResourceFindResp toResp(PipResourceManager req);
|
||||||
List<ResourceFindResp> toRespList(List<PipResourceTemp> pipResourceTemps);
|
List<ResourceFindResp> toRespList(List<PipResourceManager> pipResourceManagers);
|
||||||
|
|
||||||
|
|
||||||
|
PipResourceManager toBean(ResourceReq req);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package cd.casic.ci.process.process.dal.pipeline;
|
package cd.casic.ci.process.process.dal.pipeline;
|
||||||
|
|
||||||
import cd.casic.ci.process.process.dataObject.resource.PipResourceTemp;
|
import cd.casic.ci.process.process.dataObject.resource.PipResourceManager;
|
||||||
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
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
|
* @Date: 2025/5/13 14:39
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
public interface PipResourceTempDao extends BaseMapperX<PipResourceTemp> {
|
public interface PipResourceManagerDao extends BaseMapperX<PipResourceManager> {
|
||||||
}
|
}
|
@ -12,16 +12,26 @@ import lombok.EqualsAndHashCode;
|
|||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
public class PipResourceTemp extends PipBaseElement {
|
public class PipResourceManager extends PipBaseElement {
|
||||||
/**
|
/**
|
||||||
* 资源类型 docker, k8s, machine
|
* docker镜像服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceType;
|
private String dockerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其他资源表 ID
|
* k8s服务器信息id
|
||||||
*/
|
*/
|
||||||
private String resourceId;
|
private String k8sId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机器服务器信息id
|
||||||
|
*/
|
||||||
|
private String machineId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 弹性云服务器信息id
|
||||||
|
*/
|
||||||
|
private String cloudId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源名称
|
* 资源名称
|
@ -3,7 +3,7 @@ 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.ResourceQueryReq;
|
||||||
import cd.casic.ci.process.dal.req.resource.ResourceReq;
|
import cd.casic.ci.process.dal.req.resource.ResourceReq;
|
||||||
import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
|
import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
|
||||||
import cd.casic.ci.process.process.dataObject.resource.PipResourceTemp;
|
import cd.casic.ci.process.process.dataObject.resource.PipResourceManager;
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
@ -17,7 +17,7 @@ import java.util.List;
|
|||||||
* @Date: 2025/5/13 10:27
|
* @Date: 2025/5/13 10:27
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
public interface ResourceService extends IService<PipResourceTemp> {
|
public interface ResourceManagerService extends IService<PipResourceManager> {
|
||||||
String createResource(@Valid ResourceReq resourceReq);
|
String createResource(@Valid ResourceReq resourceReq);
|
||||||
|
|
||||||
void deleteResource(String id);
|
void deleteResource(String id);
|
@ -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<PipResourceManagerDao, PipResourceManager> 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<ResourceFindResp> findResourceList(ResourceQueryReq query) {
|
||||||
|
QueryWrapper<PipResourceManager> 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<PipResourceManager> pipResourceManagerList = resourceManagerDao.selectList(wrapper);
|
||||||
|
|
||||||
|
if (ObjectUtils.isEmpty(pipResourceManagerList)){
|
||||||
|
return new ArrayList<>(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ResourceFindResp> respList = ResourceConverter.INSTANCE.toRespList(pipResourceManagerList);
|
||||||
|
|
||||||
|
//对资源进行赋值
|
||||||
|
respList.forEach(this::setResource);
|
||||||
|
respList.forEach(this::setUserName);
|
||||||
|
|
||||||
|
return respList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<ResourceFindResp> findResourcePage(ResourceQueryReq query) {
|
||||||
|
Page<ResourceFindResp> respPage = new Page<>();
|
||||||
|
|
||||||
|
QueryWrapper<PipResourceManager> 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<PipResourceManager> pipResourceTempPage = resourceManagerDao.selectPage(new Page<>(query.getPageNo(), query.getPageSize()), wrapper);
|
||||||
|
|
||||||
|
if (ObjectUtils.isEmpty(pipResourceTempPage)){
|
||||||
|
return new PageResult<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ResourceFindResp> 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<ResourceFindResp> 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,342 +0,0 @@
|
|||||||
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.enums.ResourceTypeEnum;
|
|
||||||
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.PipResourceTempDao;
|
|
||||||
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.PipResourceTemp;
|
|
||||||
import cd.casic.ci.process.process.dataObject.resource.PipelineDockerEndpoint;
|
|
||||||
import cd.casic.ci.process.process.service.resource.ResourceService;
|
|
||||||
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 ResourceServiceImpl extends ServiceImpl<PipResourceTempDao, PipResourceTemp> implements ResourceService {
|
|
||||||
@Resource
|
|
||||||
private PipResourceTempDao tempDao;
|
|
||||||
|
|
||||||
@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) {
|
|
||||||
if (ObjectUtils.isEmpty(resourceReq.getResourceName())){
|
|
||||||
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"资源类型不可为空");
|
|
||||||
}
|
|
||||||
|
|
||||||
PipResourceTemp pipResourceTemp = new PipResourceTemp();
|
|
||||||
pipResourceTemp.setResourceName(resourceReq.getResourceName());
|
|
||||||
pipResourceTemp.setResourceType(resourceReq.getResourceType());
|
|
||||||
|
|
||||||
//如果资源类型不属于弹性云,则新增,如果属于弹性云,则走申请流程
|
|
||||||
if (resourceReq.getResourceType().equals(ResourceTypeEnum.MACHINE.getCode())){
|
|
||||||
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getResourceMachine())){
|
|
||||||
PipResourceMachine resourceMachine = resourceReq.getResourceMachine();
|
|
||||||
machineDao.insert(resourceMachine);
|
|
||||||
|
|
||||||
pipResourceTemp.setResourceId(resourceMachine.getId());
|
|
||||||
}
|
|
||||||
tempDao.insert(pipResourceTemp);
|
|
||||||
|
|
||||||
}else if (resourceReq.getResourceType().equals(ResourceTypeEnum.K8S.getCode())) {
|
|
||||||
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getPipResourceK8S())) {
|
|
||||||
PipResourceK8S pipResourceK8S = resourceReq.getPipResourceK8S();
|
|
||||||
k8SDao.insert(pipResourceK8S);
|
|
||||||
|
|
||||||
pipResourceTemp.setResourceId(pipResourceK8S.getId());
|
|
||||||
}
|
|
||||||
tempDao.insert(pipResourceTemp);
|
|
||||||
|
|
||||||
}else if (resourceReq.getResourceType().equals(ResourceTypeEnum.DOCKER.getCode())) {
|
|
||||||
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getDockerEndpoint())) {
|
|
||||||
PipelineDockerEndpoint dockerEndpoint = resourceReq.getDockerEndpoint();
|
|
||||||
dockerEndpointDao.insert(dockerEndpoint);
|
|
||||||
|
|
||||||
pipResourceTemp.setResourceId(dockerEndpoint.getId());
|
|
||||||
}
|
|
||||||
tempDao.insert(pipResourceTemp);
|
|
||||||
|
|
||||||
}else if (resourceReq.getResourceType().equals(ResourceTypeEnum.CLOUD.getCode())){
|
|
||||||
PipResourceCloud pipResourceCloud = resourceReq.getPipResourceCloud();
|
|
||||||
cloudDao.insert(pipResourceCloud);
|
|
||||||
|
|
||||||
pipResourceTemp.setResourceId(pipResourceCloud.getId());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return pipResourceTemp.getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteResource(String id) {
|
|
||||||
PipResourceTemp pipResourceTemp = tempDao.selectById(id);
|
|
||||||
if (pipResourceTemp.getResourceType().equals(ResourceTypeEnum.MACHINE.getCode())){
|
|
||||||
machineDao.deleteById(pipResourceTemp.getResourceId());
|
|
||||||
}else if (pipResourceTemp.getResourceType().equals(ResourceTypeEnum.K8S.getCode())) {
|
|
||||||
k8SDao.deleteById(pipResourceTemp.getResourceId());
|
|
||||||
}else if (pipResourceTemp.getResourceType().equals(ResourceTypeEnum.DOCKER.getCode())) {
|
|
||||||
dockerEndpointDao.deleteById(pipResourceTemp.getResourceId());
|
|
||||||
} else if (pipResourceTemp.getResourceType().equals(ResourceTypeEnum.CLOUD.getCode())) {
|
|
||||||
cloudDao.deleteById(pipResourceTemp.getResourceId());
|
|
||||||
}
|
|
||||||
tempDao.deleteById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateResource(ResourceReq resourceReq) {
|
|
||||||
if (ObjectUtils.isEmpty(resourceReq.getResourceType())){
|
|
||||||
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"资源类型不可为空");
|
|
||||||
}
|
|
||||||
|
|
||||||
PipResourceTemp temp = tempDao.selectById(resourceReq.getId());
|
|
||||||
temp.setResourceName(resourceReq.getResourceName());
|
|
||||||
|
|
||||||
//先删除旧的资源信息
|
|
||||||
if (temp.getResourceType().equals(ResourceTypeEnum.MACHINE.getCode())){
|
|
||||||
machineDao.deleteById(temp.getResourceId());
|
|
||||||
|
|
||||||
}else if (temp.getResourceType().equals(ResourceTypeEnum.K8S.getCode())) {
|
|
||||||
k8SDao.deleteById(temp.getResourceId());
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getPipResourceK8S())) {
|
|
||||||
PipResourceK8S pipResourceK8S = resourceReq.getPipResourceK8S();
|
|
||||||
k8SDao.updateById(pipResourceK8S);
|
|
||||||
}
|
|
||||||
|
|
||||||
}else if (temp.getResourceType().equals(ResourceTypeEnum.DOCKER.getCode())) {
|
|
||||||
dockerEndpointDao.deleteById(temp.getResourceId());
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getDockerEndpoint())) {
|
|
||||||
PipelineDockerEndpoint dockerEndpoint = resourceReq.getDockerEndpoint();
|
|
||||||
dockerEndpointDao.updateById(dockerEndpoint);
|
|
||||||
}
|
|
||||||
|
|
||||||
}else if (temp.getResourceType().equals(ResourceTypeEnum.CLOUD.getCode())){
|
|
||||||
cloudDao.deleteById(temp.getResourceId());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//根据新资源信息新增
|
|
||||||
if (resourceReq.getResourceType().equals(ResourceTypeEnum.MACHINE.getCode())){
|
|
||||||
|
|
||||||
//新增
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getResourceMachine())){
|
|
||||||
PipResourceMachine resourceMachine = resourceReq.getResourceMachine();
|
|
||||||
machineDao.insert(resourceMachine);
|
|
||||||
temp.setResourceId(resourceMachine.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
}else if (resourceReq.getResourceType().equals(ResourceTypeEnum.K8S.getCode())){
|
|
||||||
|
|
||||||
//新增
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getPipResourceK8S())){
|
|
||||||
PipResourceK8S resourceK8S = resourceReq.getPipResourceK8S();
|
|
||||||
k8SDao.insert(resourceK8S);
|
|
||||||
temp.setResourceId(resourceK8S.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
}else if (resourceReq.getResourceType().equals(ResourceTypeEnum.DOCKER.getCode())){
|
|
||||||
|
|
||||||
//新增
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getDockerEndpoint())){
|
|
||||||
PipelineDockerEndpoint dockerEndpoint = resourceReq.getDockerEndpoint();
|
|
||||||
dockerEndpointDao.insert(dockerEndpoint);
|
|
||||||
temp.setResourceId(dockerEndpoint.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
}else if (resourceReq.getResourceType().equals(ResourceTypeEnum.CLOUD.getCode())){
|
|
||||||
|
|
||||||
//新增
|
|
||||||
if (!ObjectUtils.isEmpty(resourceReq.getPipResourceCloud())){
|
|
||||||
PipResourceCloud resourceCloud = resourceReq.getPipResourceCloud();
|
|
||||||
cloudDao.insert(resourceCloud);
|
|
||||||
temp.setResourceId(resourceCloud.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
temp.setResourceType(resourceReq.getResourceType());
|
|
||||||
tempDao.updateById(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ResourceFindResp findResourceById(String id) {
|
|
||||||
ResourceFindResp resp = new ResourceFindResp();
|
|
||||||
|
|
||||||
PipResourceTemp pipResourceTemp = tempDao.selectById(id);
|
|
||||||
if (ObjectUtils.isEmpty(pipResourceTemp)){
|
|
||||||
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"资源不存在");
|
|
||||||
}
|
|
||||||
resp.setId(pipResourceTemp.getId());
|
|
||||||
resp.setResourceType(pipResourceTemp.getResourceType());
|
|
||||||
resp.setResourceId(pipResourceTemp.getResourceId());
|
|
||||||
resp.setResourceName(pipResourceTemp.getResourceName());
|
|
||||||
|
|
||||||
setResource(resp);
|
|
||||||
setUserName(resp);
|
|
||||||
return resp;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<ResourceFindResp> findResourceList(ResourceQueryReq query) {
|
|
||||||
QueryWrapper<PipResourceTemp> 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.getResourceId())){
|
|
||||||
wrapper.eq("resource_id",query.getResourceId());
|
|
||||||
}
|
|
||||||
if (!ObjectUtils.isEmpty(query.getResourceType())){
|
|
||||||
wrapper.eq("resource_type",query.getResourceType());
|
|
||||||
}
|
|
||||||
if (!ObjectUtils.isEmpty(query.getCreator())){
|
|
||||||
wrapper.eq("creator",query.getCreator());
|
|
||||||
}
|
|
||||||
List<PipResourceTemp> pipResourceTempList = tempDao.selectList(wrapper);
|
|
||||||
|
|
||||||
if (ObjectUtils.isEmpty(pipResourceTempList)){
|
|
||||||
return new ArrayList<>(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
List<ResourceFindResp> respList = ResourceConverter.INSTANCE.toRespList(pipResourceTempList);
|
|
||||||
|
|
||||||
//对资源进行赋值
|
|
||||||
respList.forEach(this::setResource);
|
|
||||||
respList.forEach(this::setUserName);
|
|
||||||
|
|
||||||
return respList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PageResult<ResourceFindResp> findResourcePage(ResourceQueryReq query) {
|
|
||||||
Page<ResourceFindResp> respPage = new Page<>();
|
|
||||||
|
|
||||||
QueryWrapper<PipResourceTemp> 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.getResourceId())){
|
|
||||||
wrapper.eq("resource_id",query.getResourceId());
|
|
||||||
}
|
|
||||||
if (!ObjectUtils.isEmpty(query.getResourceType())){
|
|
||||||
wrapper.eq("resource_type",query.getResourceType());
|
|
||||||
}
|
|
||||||
if (!ObjectUtils.isEmpty(query.getCreator())){
|
|
||||||
wrapper.eq("creator",query.getCreator());
|
|
||||||
}
|
|
||||||
Page<PipResourceTemp> pipResourceTempPage = tempDao.selectPage(new Page<>(query.getPageNo(), query.getPageSize()), wrapper);
|
|
||||||
|
|
||||||
if (ObjectUtils.isEmpty(pipResourceTempPage)){
|
|
||||||
return new PageResult<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
List<ResourceFindResp> 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<ResourceFindResp> pageResult = new PageResult<>(respList,pipResourceTempPage.getTotal());
|
|
||||||
return pageResult;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setResource(ResourceFindResp resourceFindResp) {
|
|
||||||
if (resourceFindResp.getResourceType().equals(ResourceTypeEnum.MACHINE.getCode())){
|
|
||||||
PipResourceMachine resourceMachine = machineDao.selectById(resourceFindResp.getResourceId());
|
|
||||||
resourceFindResp.setResourceMachine(resourceMachine);
|
|
||||||
}else if (resourceFindResp.getResourceType().equals(ResourceTypeEnum.K8S.getCode())) {
|
|
||||||
PipResourceK8S pipResourceK8S = k8SDao.selectById(resourceFindResp.getResourceId());
|
|
||||||
resourceFindResp.setPipResourceK8S(pipResourceK8S);
|
|
||||||
}else if (resourceFindResp.getResourceType().equals(ResourceTypeEnum.DOCKER.getCode())) {
|
|
||||||
PipelineDockerEndpoint dockerEndpoint = dockerEndpointDao.selectById(resourceFindResp.getResourceId());
|
|
||||||
resourceFindResp.setDockerEndpoint(dockerEndpoint);
|
|
||||||
}else if (resourceFindResp.getResourceType().equals(ResourceTypeEnum.CLOUD.getCode())) {
|
|
||||||
PipResourceCloud resourceCloud = cloudDao.selectById(resourceFindResp.getResourceId());
|
|
||||||
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());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -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.TargetManagerCreateReq;
|
||||||
import cd.casic.ci.process.dal.req.target.TargetManagerUpdateReq;
|
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.TargetQueryReq;
|
||||||
|
import cd.casic.ci.process.dal.req.target.TargetUploadReq;
|
||||||
import cd.casic.ci.process.dal.resp.target.TargetManagerResp;
|
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.base.BaseIdReq;
|
||||||
import cd.casic.ci.process.process.dataObject.target.TargetManager;
|
import cd.casic.ci.process.process.dataObject.target.TargetManager;
|
||||||
@ -30,4 +31,6 @@ public interface TargetManagerService extends IService<TargetManager> {
|
|||||||
PageResult<TargetManagerResp> findTargetPage(@Valid TargetQueryReq query);
|
PageResult<TargetManagerResp> findTargetPage(@Valid TargetQueryReq query);
|
||||||
|
|
||||||
List<TargetManagerResp> findTargetList(@Valid TargetQueryReq query);
|
List<TargetManagerResp> findTargetList(@Valid TargetQueryReq query);
|
||||||
|
|
||||||
|
String fileUpload(@Valid TargetUploadReq req);
|
||||||
}
|
}
|
||||||
|
@ -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.TargetManagerCreateReq;
|
||||||
import cd.casic.ci.process.dal.req.target.TargetManagerUpdateReq;
|
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.TargetQueryReq;
|
||||||
|
import cd.casic.ci.process.dal.req.target.TargetUploadReq;
|
||||||
import cd.casic.ci.process.dal.resp.target.TargetManagerResp;
|
import cd.casic.ci.process.dal.resp.target.TargetManagerResp;
|
||||||
import cd.casic.ci.process.process.converter.TargetConverter;
|
import cd.casic.ci.process.process.converter.TargetConverter;
|
||||||
import cd.casic.ci.process.process.dal.pipeline.TargetManagerDao;
|
import cd.casic.ci.process.process.dal.pipeline.TargetManagerDao;
|
||||||
@ -17,6 +18,7 @@ import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants;
|
|||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
|
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
|
||||||
|
import cd.casic.module.infra.framework.file.core.client.ftp.FtpFileClient;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@ -26,8 +28,11 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.FileCopyUtils;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -52,6 +57,9 @@ public class TargetManagerServiceImpl extends ServiceImpl<TargetManagerDao, Targ
|
|||||||
@Resource
|
@Resource
|
||||||
private TargetVersionDao targetVersionDao;
|
private TargetVersionDao targetVersionDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private FtpFileClient fileClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void createTarget(TargetManagerCreateReq req) {
|
public void createTarget(TargetManagerCreateReq req) {
|
||||||
@ -177,4 +185,21 @@ public class TargetManagerServiceImpl extends ServiceImpl<TargetManagerDao, Targ
|
|||||||
|
|
||||||
return respList;
|
return respList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String fileUpload(TargetUploadReq req) {
|
||||||
|
|
||||||
|
byte[] fileContent = null;
|
||||||
|
try {
|
||||||
|
fileContent = FileCopyUtils.copyToByteArray(new FileInputStream(req.getFile()));
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
String fileUrl = fileClient.upload(fileContent, req.getRemoteFilePath(), req.getFileType());
|
||||||
|
|
||||||
|
System.out.println("文件上传成功,访问地址: " + fileUrl);
|
||||||
|
|
||||||
|
return fileUrl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import cd.casic.ci.process.dal.req.resource.ResourceQueryReq;
|
|||||||
import cd.casic.ci.process.dal.req.resource.ResourceReq;
|
import cd.casic.ci.process.dal.req.resource.ResourceReq;
|
||||||
import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
|
import cd.casic.ci.process.dal.resp.resource.ResourceFindResp;
|
||||||
import cd.casic.ci.process.process.dataObject.base.BaseIdReq;
|
import cd.casic.ci.process.process.dataObject.base.BaseIdReq;
|
||||||
import cd.casic.ci.process.process.service.resource.ResourceService;
|
import cd.casic.ci.process.process.service.resource.ResourceManagerService;
|
||||||
import cd.casic.framework.commons.pojo.CommonResult;
|
import cd.casic.framework.commons.pojo.CommonResult;
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
@ -27,15 +27,15 @@ import java.util.List;
|
|||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/resource")
|
@RequestMapping("/resource")
|
||||||
public class ResourceController {
|
public class ResourceManagerController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ResourceService resourceService;
|
private ResourceManagerService resourceManagerService;
|
||||||
|
|
||||||
@PostMapping(path="/createResource")
|
@PostMapping(path="/createResource")
|
||||||
public CommonResult<String> createResource(@RequestBody @Valid ResourceReq resourceReq){
|
public CommonResult<String> createResource(@RequestBody @Valid ResourceReq resourceReq){
|
||||||
|
|
||||||
String resourceId = resourceService.createResource(resourceReq);
|
String resourceId = resourceManagerService.createResource(resourceReq);
|
||||||
|
|
||||||
return CommonResult.success(resourceId);
|
return CommonResult.success(resourceId);
|
||||||
}
|
}
|
||||||
@ -44,7 +44,7 @@ public class ResourceController {
|
|||||||
@PostMapping(path="/deleteResource")
|
@PostMapping(path="/deleteResource")
|
||||||
public CommonResult<Void> deleteResource(@RequestBody @Valid BaseIdReq req){
|
public CommonResult<Void> deleteResource(@RequestBody @Valid BaseIdReq req){
|
||||||
|
|
||||||
resourceService.deleteResource(req.getId());
|
resourceManagerService.deleteResource(req.getId());
|
||||||
|
|
||||||
return CommonResult.success();
|
return CommonResult.success();
|
||||||
}
|
}
|
||||||
@ -52,7 +52,7 @@ public class ResourceController {
|
|||||||
@PostMapping(path="/findResourceList")
|
@PostMapping(path="/findResourceList")
|
||||||
public CommonResult<List<ResourceFindResp>> findResourceList(@RequestBody @Valid ResourceQueryReq req){
|
public CommonResult<List<ResourceFindResp>> findResourceList(@RequestBody @Valid ResourceQueryReq req){
|
||||||
|
|
||||||
List<ResourceFindResp> ResourceFindRespList = resourceService.findResourceList(req);
|
List<ResourceFindResp> ResourceFindRespList = resourceManagerService.findResourceList(req);
|
||||||
|
|
||||||
return CommonResult.success(ResourceFindRespList);
|
return CommonResult.success(ResourceFindRespList);
|
||||||
}
|
}
|
||||||
@ -62,7 +62,7 @@ public class ResourceController {
|
|||||||
@PostMapping(path="/updateResource")
|
@PostMapping(path="/updateResource")
|
||||||
public CommonResult<Void> updateResource(@RequestBody @NotNull @Valid ResourceReq resourceReq){
|
public CommonResult<Void> updateResource(@RequestBody @NotNull @Valid ResourceReq resourceReq){
|
||||||
|
|
||||||
resourceService.updateResource(resourceReq);
|
resourceManagerService.updateResource(resourceReq);
|
||||||
|
|
||||||
return CommonResult.success();
|
return CommonResult.success();
|
||||||
}
|
}
|
||||||
@ -71,7 +71,7 @@ public class ResourceController {
|
|||||||
@PostMapping(path="/findResourcePage")
|
@PostMapping(path="/findResourcePage")
|
||||||
public CommonResult<PageResult<ResourceFindResp>> findResourcePage(@RequestBody @NotNull @Valid ResourceQueryReq req){
|
public CommonResult<PageResult<ResourceFindResp>> findResourcePage(@RequestBody @NotNull @Valid ResourceQueryReq req){
|
||||||
|
|
||||||
PageResult<ResourceFindResp> respPage = resourceService.findResourcePage(req);
|
PageResult<ResourceFindResp> respPage = resourceManagerService.findResourcePage(req);
|
||||||
return CommonResult.success(respPage);
|
return CommonResult.success(respPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ public class ResourceController {
|
|||||||
@PostMapping(path="/findResourceById")
|
@PostMapping(path="/findResourceById")
|
||||||
public CommonResult<ResourceFindResp> findResourceById(@RequestBody @Valid BaseIdReq req){
|
public CommonResult<ResourceFindResp> findResourceById(@RequestBody @Valid BaseIdReq req){
|
||||||
|
|
||||||
ResourceFindResp resp = resourceService.findResourceById(req.getId());
|
ResourceFindResp resp = resourceManagerService.findResourceById(req.getId());
|
||||||
|
|
||||||
return CommonResult.success(resp);
|
return CommonResult.success(resp);
|
||||||
}
|
}
|
@ -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.TargetManagerCreateReq;
|
||||||
import cd.casic.ci.process.dal.req.target.TargetManagerUpdateReq;
|
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.TargetQueryReq;
|
||||||
|
import cd.casic.ci.process.dal.req.target.TargetUploadReq;
|
||||||
import cd.casic.ci.process.dal.resp.target.TargetManagerResp;
|
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.base.BaseIdReq;
|
||||||
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
||||||
@ -88,4 +89,13 @@ public class TargetController {
|
|||||||
|
|
||||||
return CommonResult.success(respList);
|
return CommonResult.success(respList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping(path="/fileUpload")
|
||||||
|
public CommonResult<String> fileUpload(@RequestBody @Valid TargetUploadReq req){
|
||||||
|
|
||||||
|
String filePath = targetManagerService.fileUpload(req);
|
||||||
|
|
||||||
|
return CommonResult.success(filePath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user