[ Server ] [ Project ] - 基本完成Project绑定Server的部分查询内容
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
package io.wdd.server.beans.po;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @TableName project_server_relation
|
||||||
|
*/
|
||||||
|
@TableName(value = "project_server_relation")
|
||||||
|
@Data
|
||||||
|
public class ProjectServerRelationPO implements Serializable {
|
||||||
|
@TableField(exist = false)
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableId(value = "server_id")
|
||||||
|
private Long serverId;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_id")
|
||||||
|
private Long projectId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package io.wdd.server.beans.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.beans.po.ServerInfoPO;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@SuperBuilder(toBuilder = true)
|
||||||
|
@ApiModel("Project-Server绑定关系实体类")
|
||||||
|
public class ProjectServerVO extends ProjectInfoPO {
|
||||||
|
|
||||||
|
/* Project */
|
||||||
|
List<ServerInfoPO> bindingServerList;
|
||||||
|
|
||||||
|
/* Server */
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package io.wdd.server.controller;
|
||||||
|
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.wdd.common.response.R;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/project-server")
|
||||||
|
@Api("Project-Server绑定")
|
||||||
|
public class ProjectServerController {
|
||||||
|
|
||||||
|
@GetMapping("/all")
|
||||||
|
@ApiOperation("Project-Server查询所有项目的服务器信息")
|
||||||
|
public R<String> projectServerAll() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -91,6 +91,11 @@ public class ServerController {
|
|||||||
return R.failed("Delete Server Failed !");
|
return R.failed("Delete Server Failed !");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 保定Project
|
||||||
|
* */
|
||||||
|
// create with projectId
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Associated with appInfo
|
* Associated with appInfo
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package io.wdd.server.coreService;
|
||||||
|
|
||||||
|
import io.wdd.server.beans.request.ProjectQueryEntity;
|
||||||
|
import io.wdd.server.beans.vo.ProjectServerVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface CoreProjectServerService {
|
||||||
|
|
||||||
|
// 查询所有项目-服务器绑定关系
|
||||||
|
List<ProjectServerVO> projectServerAll();
|
||||||
|
|
||||||
|
ProjectServerVO projectServerQuery(ProjectQueryEntity projectQueryEntity);
|
||||||
|
|
||||||
|
ProjectServerVO projectServerOne(Long projectId);
|
||||||
|
|
||||||
|
boolean projectServerCreate(Long projectId, Long serverId);
|
||||||
|
|
||||||
|
boolean projectServerUpdate(Long projectId, Long serverId);
|
||||||
|
|
||||||
|
boolean projectServerDelete(Long projectId, Long serverId);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -14,6 +14,8 @@ public interface CoreProjectService {
|
|||||||
|
|
||||||
Page<ProjectInfoPO> projectQueryByEntity(ProjectQueryEntity projectQueryEntity);
|
Page<ProjectInfoPO> projectQueryByEntity(ProjectQueryEntity projectQueryEntity);
|
||||||
|
|
||||||
|
ProjectInfoPO projectGetOne(Long projectId);
|
||||||
|
|
||||||
boolean projectCreate(ProjectInfoVO projectInfoVO);
|
boolean projectCreate(ProjectInfoVO projectInfoVO);
|
||||||
|
|
||||||
boolean projectUpdate(ProjectInfoPO projectInfoPO);
|
boolean projectUpdate(ProjectInfoPO projectInfoPO);
|
||||||
|
|||||||
@@ -0,0 +1,117 @@
|
|||||||
|
package io.wdd.server.coreService.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.beans.po.ProjectServerRelationPO;
|
||||||
|
import io.wdd.server.beans.po.ServerInfoPO;
|
||||||
|
import io.wdd.server.beans.request.ProjectQueryEntity;
|
||||||
|
import io.wdd.server.beans.vo.ProjectServerVO;
|
||||||
|
import io.wdd.server.coreService.CoreProjectServerService;
|
||||||
|
import io.wdd.server.coreService.CoreProjectService;
|
||||||
|
import io.wdd.server.service.ProjectServerRelationService;
|
||||||
|
import io.wdd.server.service.ServerInfoService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class CoreProjectServerServiceImpl implements CoreProjectServerService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CoreProjectService coreProjectService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
ProjectServerRelationService projectServerRelationService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
ServerInfoService serverInfoService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProjectServerVO> projectServerAll() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ProjectServerVO projectServerQuery(ProjectQueryEntity projectQueryEntity) {
|
||||||
|
|
||||||
|
Page<ProjectInfoPO> projectInfoPOPage = coreProjectService.projectQueryByEntity(projectQueryEntity);
|
||||||
|
if (projectInfoPOPage
|
||||||
|
.getRecords()
|
||||||
|
.size() == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 假定是唯一性查询
|
||||||
|
ProjectInfoPO projectInfoPO = projectInfoPOPage
|
||||||
|
.getRecords()
|
||||||
|
.get(0);
|
||||||
|
|
||||||
|
// 为了统一 再查一次
|
||||||
|
return this.projectServerOne(projectInfoPO.getProjectId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ProjectServerVO projectServerOne(Long projectId) {
|
||||||
|
|
||||||
|
// 查询与之绑定的所有server
|
||||||
|
// serverId projectId
|
||||||
|
List<ProjectServerRelationPO> projectServerRelationPOList = new LambdaQueryChainWrapper<ProjectServerRelationPO>(projectServerRelationService.getBaseMapper())
|
||||||
|
.eq(
|
||||||
|
ProjectServerRelationPO::getProjectId,
|
||||||
|
projectId
|
||||||
|
)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
if (CollectionUtils.isEmpty(projectServerRelationPOList)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取 projectId对应的所有serverId
|
||||||
|
List<Long> serverIdList = projectServerRelationPOList
|
||||||
|
.stream()
|
||||||
|
.map(ps -> ps.getServerId())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 查询server详情
|
||||||
|
List<ServerInfoPO> serverInfoPOS = serverInfoService.listByIds(serverIdList);
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
ProjectInfoPO projectInfoPO = coreProjectService.projectGetOne(projectId);
|
||||||
|
if (projectInfoPO == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构造返回结果
|
||||||
|
ProjectServerVO projectServerVO = new ProjectServerVO();
|
||||||
|
BeanUtils.copyProperties(
|
||||||
|
projectInfoPO,
|
||||||
|
projectServerVO
|
||||||
|
);
|
||||||
|
|
||||||
|
projectServerVO.setBindingServerList(serverInfoPOS);
|
||||||
|
|
||||||
|
return projectServerVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean projectServerCreate(Long projectId, Long serverId) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean projectServerUpdate(Long projectId, Long serverId) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean projectServerDelete(Long projectId, Long serverId) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -62,6 +62,12 @@ public class CoreProjectServiceImpl implements CoreProjectService {
|
|||||||
return poPage;
|
return poPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ProjectInfoPO projectGetOne(Long projectId) {
|
||||||
|
|
||||||
|
return projectInfoService.getById(projectId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean projectCreate(ProjectInfoVO projectInfoVO) {
|
public boolean projectCreate(ProjectInfoVO projectInfoVO) {
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package io.wdd.server.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import io.wdd.server.beans.po.ProjectServerRelationPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wdd
|
||||||
|
* @description 针对表【project_server_relation】的数据库操作Mapper
|
||||||
|
* @createDate 2023-10-09 16:11:10
|
||||||
|
* @Entity io.wdd.server.beans.po.ProjectServerRelationPO
|
||||||
|
*/
|
||||||
|
public interface ProjectServerRelationMapper extends BaseMapper<ProjectServerRelationPO> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package io.wdd.server.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import io.wdd.server.beans.po.ProjectServerRelationPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wdd
|
||||||
|
* @description 针对表【project_server_relation】的数据库操作Service
|
||||||
|
* @createDate 2023-10-09 16:11:10
|
||||||
|
*/
|
||||||
|
public interface ProjectServerRelationService extends IService<ProjectServerRelationPO> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package io.wdd.server.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import io.wdd.server.beans.po.ProjectServerRelationPO;
|
||||||
|
import io.wdd.server.mapper.ProjectServerRelationMapper;
|
||||||
|
import io.wdd.server.service.ProjectServerRelationService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wdd
|
||||||
|
* @description 针对表【project_server_relation】的数据库操作Service实现
|
||||||
|
* @createDate 2023-10-09 16:11:10
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ProjectServerRelationServiceImpl extends ServiceImpl<ProjectServerRelationMapper, ProjectServerRelationPO>
|
||||||
|
implements ProjectServerRelationService {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="io.wdd.server.mapper.ProjectServerRelationMapper">
|
||||||
|
|
||||||
|
<resultMap id="BaseResultMap" type="io.wdd.server.beans.po.ProjectServerRelationPO">
|
||||||
|
<id property="serverId" column="server_id" jdbcType="BIGINT"/>
|
||||||
|
<result property="projectId" column="project_id" jdbcType="BIGINT"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
server_id
|
||||||
|
,project_id
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="io.wdd.server.mapper.ProjectServerRelationMapper">
|
||||||
|
|
||||||
|
<resultMap id="BaseResultMap" type="io.wdd.server.beans.po.ProjectServerRelationPO">
|
||||||
|
<id property="serverId" column="server_id" jdbcType="BIGINT"/>
|
||||||
|
<result property="projectId" column="project_id" jdbcType="BIGINT"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
server_id
|
||||||
|
,project_id
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user