0618 ljc report模块修改

This commit is contained in:
HopeLi 2025-06-18 11:11:53 +08:00
parent d412269622
commit 0c0803fdc5
15 changed files with 426 additions and 414 deletions

View File

@ -1,22 +1,15 @@
package cd.casic.ci.api;
import cd.casic.ci.process.dto.req.resource.ResourceQueryReq;
import cd.casic.ci.process.dto.req.resource.ResourceReq;
import cd.casic.ci.process.dto.resp.resource.ResourceFindResp;
import cd.casic.ci.process.process.dataObject.base.BaseIdReq;
import cd.casic.ci.process.dto.req.taskResource.TaskResourceQueryReq;
import cd.casic.ci.process.dto.resp.taskResource.TaskResourceFindResp;
import cd.casic.ci.process.process.service.taskResource.TaskResourceManagerService;
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
@ -32,56 +25,12 @@ public class TaskResourceManagerController {
@Resource
private TaskResourceManagerService resourceManagerService;
@PostMapping(path="/createResource")
public CommonResult<String> createResource(@RequestBody @Valid ResourceReq resourceReq){
String resourceId = resourceManagerService.createResource(resourceReq);
return CommonResult.success(resourceId);
}
@PostMapping(path="/deleteResource")
public CommonResult<Void> deleteResource(@RequestBody @Valid BaseIdReq req){
resourceManagerService.deleteResource(req.getId());
return CommonResult.success();
}
@PostMapping(path="/findResourceList")
public CommonResult<List<ResourceFindResp>> findResourceList(@RequestBody @Valid ResourceQueryReq req){
public CommonResult<TaskResourceFindResp> findResourceList(@RequestBody @Valid TaskResourceQueryReq req){
List<ResourceFindResp> ResourceFindRespList = resourceManagerService.findResourceList(req);
TaskResourceFindResp ResourceFindResp = resourceManagerService.findResourceList(req);
return CommonResult.success(ResourceFindRespList);
}
@PostMapping(path="/updateResource")
public CommonResult<Void> updateResource(@RequestBody @NotNull @Valid ResourceReq resourceReq){
resourceManagerService.updateResource(resourceReq);
return CommonResult.success();
}
@PostMapping(path="/findResourcePage")
public CommonResult<PageResult<ResourceFindResp>> findResourcePage(@RequestBody @NotNull @Valid ResourceQueryReq req){
PageResult<ResourceFindResp> respPage = resourceManagerService.findResourcePage(req);
return CommonResult.success(respPage);
}
@PostMapping(path="/findResourceById")
public CommonResult<ResourceFindResp> findResourceById(@RequestBody @Valid BaseIdReq req){
ResourceFindResp resp = resourceManagerService.findResourceById(req.getId());
return CommonResult.success(resp);
return CommonResult.success(ResourceFindResp);
}
}

View File

@ -15,24 +15,9 @@ public class TaskResourceQueryReq extends PageParam {
private List<String> idList;
/**
* docker镜像服务器信息id
* 资源类型
*/
private String dockerId;
/**
* k8s服务器信息id
*/
private String k8sId;
/**
* 机器服务器信息id
*/
private String machineId;
/**
* 弹性云服务器信息id
*/
private String cloudId;
private String type;
/**
* 资源名称

View File

@ -1,63 +1,21 @@
package cd.casic.ci.process.dto.resp.taskResource;
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.module.execute.docker.dataobject.dto.DockerEndpointDo;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceCloud;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceDockerEndpoint;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceK8S;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceMachine;
import lombok.Data;
import java.util.List;
@Data
public class TaskResourceFindResp {
/**
* 主键id
*/
private String id;
private List<ResourceMachine> resourceMachineList;
/**
* docker镜像服务器信息id
*/
private String dockerId;
private List<ResourceDockerEndpoint> dockerEndpointList;
/**
* k8s服务器信息id
*/
private String k8sId;
private List<ResourceK8S> resourceK8SList;
/**
* 机器服务器信息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 DockerEndpointDo dockerEndpoint;
private PipResourceK8S pipResourceK8S;
private PipResourceCloud pipResourceCloud;
private List<ResourceCloud> resourceCloudList;
}

View File

@ -0,0 +1,14 @@
package cd.casic.ci.process.process.dao.taskResource;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceCloud;
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
/**
* @author HopeLi
* @version v1.0
* @ClassName PipResourceMachineDao
* @Date: 2025/5/13 14:39
* @Description:
*/
public interface ResourceCloudDao extends BaseMapperX<ResourceCloud> {
}

View File

@ -0,0 +1,14 @@
package cd.casic.ci.process.process.dao.taskResource;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceDockerEndpoint;
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
/**
* @author HopeLi
* @version v1.0
* @ClassName PipResourceDockerEndpointDao
* @Date: 2025/5/13 14:39
* @Description:
*/
public interface ResourceDockerEndpointDao extends BaseMapperX<ResourceDockerEndpoint> {
}

View File

@ -0,0 +1,14 @@
package cd.casic.ci.process.process.dao.taskResource;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceK8S;
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
/**
* @author HopeLi
* @version v1.0
* @ClassName PipResourceK8SDao
* @Date: 2025/5/13 14:39
* @Description:
*/
public interface ResourceK8SDao extends BaseMapperX<ResourceK8S> {
}

View File

@ -0,0 +1,14 @@
package cd.casic.ci.process.process.dao.taskResource;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceMachine;
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
/**
* @author HopeLi
* @version v1.0
* @ClassName PipResourceMachineDao
* @Date: 2025/5/13 14:39
* @Description:
*/
public interface ResourceMachineDao extends BaseMapperX<ResourceMachine> {
}

View File

@ -0,0 +1,14 @@
package cd.casic.ci.process.process.dao.taskResource;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceManager;
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
/**
* @author HopeLi
* @version v1.0
* @ClassName PipResourceDao
* @Date: 2025/5/13 14:39
* @Description:
*/
public interface ResourceManagerDao extends BaseMapperX<ResourceManager> {
}

View File

@ -0,0 +1,113 @@
package cd.casic.ci.process.process.dataObject.taskResource;
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @ClassName PipResourceCloud
* @Author hopeli
* @Date 2025/5/31 22:19
* @Version 1.0
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ResourceCloud extends PipBaseElement {
private String TaskId;
/**
* 虚拟机类型
*/
private String vmType;
/**
* 虚拟机名称
*/
private String vmName;
/**
* 到期释放时间
*/
private String expirationTime;
/**
* 数量
*/
private String sum;
/**
* 平台
*/
private String platform;
/**
* cpu架构
*/
private String cpuFramework;
/**
* 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;
}

View File

@ -0,0 +1,55 @@
package cd.casic.ci.process.process.dataObject.taskResource;
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 ResourceDockerEndpoint extends PipBaseElement {
private String TaskId;
/**
* Docker 类型远程/本地
*/
private String dockerType;
/**
* Docker 状态参考 DockerEndpointStateEnum
*/
private String state;
/**
* 主机地址
*/
private String host;
/**
* 端口
*/
private String port;
/**
* 最近测试时间
*/
private LocalDateTime latestTestTime;
/**
* 名称
*/
private String name;
/**
* 类型可能用于扩展分类
*/
private String type;
}

View File

@ -0,0 +1,12 @@
package cd.casic.ci.process.process.dataObject.taskResource;
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class ResourceK8S extends PipBaseElement {
private String TaskId;
}

View File

@ -0,0 +1,73 @@
package cd.casic.ci.process.process.dataObject.taskResource;
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 ResourceMachine extends PipBaseElement {
private String TaskId;
/**
* 主机地址
*/
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;
}

View File

@ -0,0 +1,40 @@
package cd.casic.ci.process.process.dataObject.taskResource;
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 ResourceManager extends PipBaseElement {
/**
* docker镜像服务器信息id
*/
private String dockerId;
/**
* k8s服务器信息id
*/
private String k8sId;
/**
* 机器服务器信息id
*/
private String machineId;
/**
* 弹性云服务器信息id
*/
private String cloudId;
/**
* 资源名称
*/
private String resourceName;
}

View File

@ -1,15 +1,11 @@
package cd.casic.ci.process.process.service.taskResource;
import cd.casic.ci.process.dto.req.resource.ResourceQueryReq;
import cd.casic.ci.process.dto.req.resource.ResourceReq;
import cd.casic.ci.process.dto.resp.resource.ResourceFindResp;
import cd.casic.ci.process.process.dataObject.resource.PipResourceManager;
import cd.casic.framework.commons.pojo.PageResult;
import cd.casic.ci.process.dto.req.taskResource.TaskResourceQueryReq;
import cd.casic.ci.process.dto.resp.taskResource.TaskResourceFindResp;
import cd.casic.ci.process.process.dataObject.taskResource.ResourceManager;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.validation.Valid;
import java.util.List;
/**
* @author HopeLi
* @version v1.0
@ -17,16 +13,8 @@ import java.util.List;
* @Date: 2025/5/13 10:27
* @Description:
*/
public interface TaskResourceManagerService extends IService<PipResourceManager> {
String createResource(@Valid ResourceReq resourceReq);
public interface TaskResourceManagerService extends IService<ResourceManager> {
void deleteResource(String id);
TaskResourceFindResp findResourceList(@Valid TaskResourceQueryReq req);
void updateResource(@Valid ResourceReq resourceReq);
ResourceFindResp findResourceById(String id);
List<ResourceFindResp> findResourceList(@Valid ResourceQueryReq req);
PageResult<ResourceFindResp> findResourcePage(@Valid ResourceQueryReq req);
}

View File

@ -1,36 +1,19 @@
package cd.casic.ci.process.process.service.taskResource.impl;
import cd.casic.ci.process.dto.req.resource.ResourceQueryReq;
import cd.casic.ci.process.dto.req.resource.ResourceReq;
import cd.casic.ci.process.dto.resp.resource.ResourceFindResp;
import cd.casic.ci.process.process.converter.ResourceConverter;
import cd.casic.ci.process.process.dao.pipeline.PipResourceCloudDao;
import cd.casic.ci.process.process.dao.pipeline.PipResourceK8SDao;
import cd.casic.ci.process.process.dao.pipeline.PipResourceMachineDao;
import cd.casic.ci.process.process.dao.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.service.resource.ResourceManagerService;
import cd.casic.ci.process.dto.req.taskResource.TaskResourceQueryReq;
import cd.casic.ci.process.dto.resp.taskResource.TaskResourceFindResp;
import cd.casic.ci.process.process.dao.taskResource.*;
import cd.casic.ci.process.process.dataObject.taskResource.*;
import cd.casic.ci.process.process.service.taskResource.TaskResourceManagerService;
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 cd.casic.module.execute.docker.dao.DockerEndpointDao;
import cd.casic.module.execute.docker.dataobject.dto.DockerEndpointDo;
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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.List;
/**
@ -42,271 +25,57 @@ import java.util.List;
*/
//@Service
@Slf4j
public class TaskResourceManagerServiceImpl extends ServiceImpl<PipResourceManagerDao, PipResourceManager> implements ResourceManagerService {
@Resource
private PipResourceManagerDao resourceManagerDao;
public class TaskResourceManagerServiceImpl extends ServiceImpl<ResourceManagerDao, ResourceManager> implements TaskResourceManagerService {
@Resource
private PipResourceMachineDao machineDao;
private ResourceMachineDao machineDao;
@Resource
private DockerEndpointDao dockerEndpointDao;
private ResourceDockerEndpointDao dockerEndpointDao;
@Resource
private PipResourceK8SDao k8SDao;
private ResourceK8SDao k8SDao;
@Resource
private PipResourceCloudDao cloudDao;
@Resource
private AdminUserServiceImpl adminUserService;
@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())) {
DockerEndpointDo 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())) {
DockerEndpointDo 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;
}
private ResourceCloudDao cloudDao;
@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);
public TaskResourceFindResp findResourceList(TaskResourceQueryReq query) {
TaskResourceFindResp taskResourceFindResp = new TaskResourceFindResp();
if (ObjectUtils.isEmpty(pipResourceManagerList)){
return new ArrayList<>(0);
if (StringUtils.isEmpty(query.getType())){
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"资源类型不可为空");
}
List<ResourceFindResp> respList = ResourceConverter.INSTANCE.toRespList(pipResourceManagerList);
//对资源进行赋值
respList.forEach(this::setResource);
respList.forEach(this::setUserName);
return respList;
}
@Override
public PageResult<ResourceFindResp> findResourcePage(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());
}
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);
PageResult<ResourceFindResp> pageResult = new PageResult<>(respList,pipResourceTempPage.getTotal(),pipResourceTempPage.getCurrent(),pipResourceTempPage.getSize());
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())) {
DockerEndpointDo 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());
}
switch (query.getType()) {
case "docker":
List<ResourceDockerEndpoint> resourceDockerEndpoints = dockerEndpointDao.selectList(new QueryWrapper<>());
if (!ObjectUtils.isEmpty(resourceDockerEndpoints)){
taskResourceFindResp.setDockerEndpointList(resourceDockerEndpoints);
}
return taskResourceFindResp;
case "k8s":
List<ResourceK8S> resourceK8S = k8SDao.selectList(new QueryWrapper<>());
if (!ObjectUtils.isEmpty(resourceK8S)){
taskResourceFindResp.setResourceK8SList(resourceK8S);
}
return taskResourceFindResp;
case "machine":
List<ResourceMachine> resourceMachines = machineDao.selectList(new QueryWrapper<>());
if (!ObjectUtils.isEmpty(resourceMachines)){
taskResourceFindResp.setResourceMachineList(resourceMachines);
}
return taskResourceFindResp;
case "cloud":
List<ResourceCloud> resourceClouds = cloudDao.selectList(new QueryWrapper<>());
if (!ObjectUtils.isEmpty(resourceClouds)){
taskResourceFindResp.setResourceCloudList(resourceClouds);
}
return taskResourceFindResp;
default:
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"资源类型错误");
}
}
}