[ Server ] [ Project ] - 完成ProjectInfo部分的代码
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
package io.wdd.server.beans.mapper;
|
||||||
|
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.beans.vo.ProjectInfoVO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface ProjectInfoDTOMapper {
|
||||||
|
|
||||||
|
ProjectInfoDTOMapper INSTANCE = Mappers.getMapper(ProjectInfoDTOMapper.class);
|
||||||
|
|
||||||
|
ProjectInfoPO voToPo(ProjectInfoVO projectInfoVO);
|
||||||
|
|
||||||
|
ProjectInfoVO poToVo(ProjectInfoPO projectInfoPO);
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
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;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @TableName project_info
|
||||||
|
*/
|
||||||
|
@TableName(value = "project_info")
|
||||||
|
@Data
|
||||||
|
public class ProjectInfoPO implements Serializable {
|
||||||
|
@TableField(exist = false)
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableId(value = "project_id")
|
||||||
|
private Long projectId;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_name")
|
||||||
|
private String projectName;
|
||||||
|
/**
|
||||||
|
* 省份
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_province")
|
||||||
|
private String projectProvince;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_version")
|
||||||
|
private String projectVersion;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_namespace")
|
||||||
|
private String projectNamespace;
|
||||||
|
/**
|
||||||
|
* 网络类型 0 完全访问公网 1 一台访问公网 2 完全无法访问公网
|
||||||
|
*/
|
||||||
|
@TableField(value = "deploy_net_env")
|
||||||
|
private Integer deployNetEnv;
|
||||||
|
/**
|
||||||
|
* 部署环境,阿里云,移动云、自建云等
|
||||||
|
*/
|
||||||
|
@TableField(value = "deploy_hardware_env")
|
||||||
|
private String deployHardwareEnv;
|
||||||
|
/**
|
||||||
|
* 部署时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_time")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
/**
|
||||||
|
* 升级时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_time")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
/**
|
||||||
|
* 有效期
|
||||||
|
*/
|
||||||
|
@TableField(value = "expired_time")
|
||||||
|
private LocalDateTime expiredTime;
|
||||||
|
/**
|
||||||
|
* 行业组项目负责人
|
||||||
|
*/
|
||||||
|
@TableField(value = "trade_person_name")
|
||||||
|
private String tradePersonName;
|
||||||
|
/**
|
||||||
|
* 售前负责人
|
||||||
|
*/
|
||||||
|
@TableField(value = "pre_sale_person_name")
|
||||||
|
private String preSalePersonName;
|
||||||
|
/**
|
||||||
|
* 是否使用离线地图
|
||||||
|
*/
|
||||||
|
@TableField(value = "is_offline_map")
|
||||||
|
private Integer isOfflineMap;
|
||||||
|
/**
|
||||||
|
* 是否部署AI功能
|
||||||
|
*/
|
||||||
|
@TableField(value = "is_ai_deploy")
|
||||||
|
private Integer isAiDeploy;
|
||||||
|
}
|
||||||
100
server/src/main/java/io/wdd/server/beans/vo/ProjectInfoVO.java
Normal file
100
server/src/main/java/io/wdd/server/beans/vo/ProjectInfoVO.java
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
package io.wdd.server.beans.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @TableName project_info
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@SuperBuilder(toBuilder = true)
|
||||||
|
public class ProjectInfoVO {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_name")
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 省份
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_province")
|
||||||
|
private String projectProvince;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_version")
|
||||||
|
private String projectVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableField(value = "project_namespace")
|
||||||
|
private String projectNamespace;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 网络类型 0 完全访问公网 1 一台访问公网 2 完全无法访问公网
|
||||||
|
*/
|
||||||
|
@TableField(value = "deploy_net_env")
|
||||||
|
private Integer deployNetEnv;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部署环境,阿里云,移动云、自建云等
|
||||||
|
*/
|
||||||
|
@TableField(value = "deploy_hardware_env")
|
||||||
|
private String deployHardwareEnv;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部署时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_time")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 升级时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_time")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效期
|
||||||
|
*/
|
||||||
|
@TableField(value = "expired_time")
|
||||||
|
private LocalDateTime expiredTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 行业组项目负责人
|
||||||
|
*/
|
||||||
|
@TableField(value = "trade_person_name")
|
||||||
|
private String tradePersonName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 售前负责人
|
||||||
|
*/
|
||||||
|
@TableField(value = "pre_sale_person_name")
|
||||||
|
private String preSalePersonName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否使用离线地图
|
||||||
|
*/
|
||||||
|
@TableField(value = "is_offline_map")
|
||||||
|
private Integer isOfflineMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否部署AI功能
|
||||||
|
*/
|
||||||
|
@TableField(value = "is_ai_deploy")
|
||||||
|
private Integer isAiDeploy;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package io.wdd.server.controller;
|
||||||
|
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import io.wdd.common.response.R;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.beans.vo.ProjectInfoVO;
|
||||||
|
import io.wdd.server.coreService.CoreProjectService;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@Api("Octopus Server - 项目信息")
|
||||||
|
@RequestMapping("/project")
|
||||||
|
public class ProjectController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CoreProjectService projectService;
|
||||||
|
|
||||||
|
@GetMapping("/all")
|
||||||
|
@ApiOperation("项目-获取全部项目信息")
|
||||||
|
public R<List<ProjectInfoPO>> projectGetAll(
|
||||||
|
) {
|
||||||
|
return R.ok(projectService.projectGetAll());
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/create")
|
||||||
|
@ApiOperation("项目-创建一个项目")
|
||||||
|
public R<String> projectCreate(
|
||||||
|
@RequestBody ProjectInfoVO projectInfoVO
|
||||||
|
) {
|
||||||
|
|
||||||
|
String result = "创建项目成功!";
|
||||||
|
if (!projectService.projectCreate(projectInfoVO)) {
|
||||||
|
result = "创建项目失败!";
|
||||||
|
}
|
||||||
|
return R.ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/update")
|
||||||
|
@ApiOperation("项目-更新一个项目")
|
||||||
|
public R<String> projectUpdate(
|
||||||
|
@RequestBody ProjectInfoPO projectInfoPO
|
||||||
|
) {
|
||||||
|
|
||||||
|
String result = "更新项目成功!";
|
||||||
|
if (!projectService.projectUpdate(projectInfoPO)) {
|
||||||
|
result = "更新项目失败!";
|
||||||
|
}
|
||||||
|
return R.ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/delete")
|
||||||
|
@ApiOperation("项目-删除一个项目")
|
||||||
|
public R<String> projectDelete(
|
||||||
|
@RequestParam(value = "projectId", name = "项目的Id") @ApiParam(value = "项目的Id") Long projectId
|
||||||
|
) {
|
||||||
|
|
||||||
|
String result = "删除项目成功!";
|
||||||
|
if (!projectService.projectDelete(projectId)) {
|
||||||
|
result = "删除项目失败!";
|
||||||
|
}
|
||||||
|
return R.ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package io.wdd.server.coreService;
|
||||||
|
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.beans.vo.ProjectInfoVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface CoreProjectService {
|
||||||
|
|
||||||
|
// 获取所有的角色
|
||||||
|
List<ProjectInfoPO> projectGetAll();
|
||||||
|
|
||||||
|
boolean projectCreate(ProjectInfoVO projectInfoVO);
|
||||||
|
|
||||||
|
boolean projectUpdate(ProjectInfoPO projectInfoPO);
|
||||||
|
|
||||||
|
boolean projectDelete(Long projectId);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package io.wdd.server.coreService.impl;
|
||||||
|
|
||||||
|
import io.wdd.server.beans.mapper.ProjectInfoDTOMapper;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.beans.vo.ProjectInfoVO;
|
||||||
|
import io.wdd.server.coreService.CoreProjectService;
|
||||||
|
import io.wdd.server.service.ProjectInfoService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class CoreProjectServiceImpl implements CoreProjectService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
ProjectInfoService projectInfoService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProjectInfoPO> projectGetAll() {
|
||||||
|
|
||||||
|
return projectInfoService.list();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean projectCreate(ProjectInfoVO projectInfoVO) {
|
||||||
|
|
||||||
|
if (!checkDataValid(projectInfoVO)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ProjectInfoPO projectInfoPO = ProjectInfoDTOMapper.INSTANCE.voToPo(projectInfoVO);
|
||||||
|
|
||||||
|
return projectInfoService.save(projectInfoPO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean checkDataValid(ProjectInfoVO projectInfoVO) {
|
||||||
|
|
||||||
|
if (StringUtils.isBlank(projectInfoVO.getProjectName())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return !StringUtils.isBlank(projectInfoVO.getProjectNamespace());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean projectUpdate(ProjectInfoPO projectInfoPO) {
|
||||||
|
|
||||||
|
if (!checkDataValid(ProjectInfoDTOMapper.INSTANCE.poToVo(projectInfoPO))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return projectInfoService.saveOrUpdate(projectInfoPO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean projectDelete(Long projectId) {
|
||||||
|
return projectInfoService.removeById(projectId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -32,10 +32,12 @@ public class CoreRoleServiceImpl implements CoreRoleService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ServerRolePO serverRolePO = ServerRoleDTOMapper.INSTANCE.voToPo(serverRoleVO);
|
ServerRolePO serverRolePO = ServerRoleDTOMapper.INSTANCE.voToPo(serverRoleVO);
|
||||||
|
|
||||||
return serverRoleService.save(serverRolePO);
|
return serverRoleService.save(serverRolePO);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkDataValid(ServerRoleVO serverRoleVO) {
|
private boolean checkDataValid(ServerRoleVO serverRoleVO) {
|
||||||
|
|
||||||
if (StringUtils.isBlank(serverRoleVO.getRoleName())) {
|
if (StringUtils.isBlank(serverRoleVO.getRoleName())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package io.wdd.server.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wdd
|
||||||
|
* @description 针对表【project_info】的数据库操作Mapper
|
||||||
|
* @createDate 2023-10-09 11:12:02
|
||||||
|
* @Entity io.wdd.server.beans.po.ProjectInfoPO
|
||||||
|
*/
|
||||||
|
public interface ProjectInfoMapper extends BaseMapper<ProjectInfoPO> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package io.wdd.server.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wdd
|
||||||
|
* @description 针对表【project_info】的数据库操作Service
|
||||||
|
* @createDate 2023-10-09 11:12:02
|
||||||
|
*/
|
||||||
|
public interface ProjectInfoService extends IService<ProjectInfoPO> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package io.wdd.server.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.mapper.ProjectInfoMapper;
|
||||||
|
import io.wdd.server.service.ProjectInfoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wdd
|
||||||
|
* @description 针对表【project_info】的数据库操作Service实现
|
||||||
|
* @createDate 2023-10-09 11:12:02
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, ProjectInfoPO>
|
||||||
|
implements ProjectInfoService {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
32
server/src/main/resources/mapper/ProjectInfoMapper.xml
Normal file
32
server/src/main/resources/mapper/ProjectInfoMapper.xml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?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.ProjectInfoMapper">
|
||||||
|
|
||||||
|
<resultMap id="BaseResultMap" type="io.wdd.server.beans.po.ProjectInfoPO">
|
||||||
|
<id property="projectId" column="project_id" jdbcType="BIGINT"/>
|
||||||
|
<result property="projectName" column="project_name" jdbcType="VARCHAR"/>
|
||||||
|
<result property="projectProvince" column="project_province" jdbcType="VARCHAR"/>
|
||||||
|
<result property="projectVersion" column="project_version" jdbcType="VARCHAR"/>
|
||||||
|
<result property="projectNamespace" column="project_namespace" jdbcType="VARCHAR"/>
|
||||||
|
<result property="deployNetEnv" column="deploy_net_env" jdbcType="TINYINT"/>
|
||||||
|
<result property="deployHardwareEnv" column="deploy_hardware_env" jdbcType="VARCHAR"/>
|
||||||
|
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||||
|
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||||
|
<result property="expiredTime" column="expired_time" jdbcType="TIMESTAMP"/>
|
||||||
|
<result property="tradePersonName" column="trade_person_name" jdbcType="VARCHAR"/>
|
||||||
|
<result property="preSalePersonName" column="pre_sale_person_name" jdbcType="VARCHAR"/>
|
||||||
|
<result property="isOfflineMap" column="is_offline_map" jdbcType="TINYINT"/>
|
||||||
|
<result property="isAiDeploy" column="is_ai_deploy" jdbcType="TINYINT"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
project_id
|
||||||
|
,project_name,project_province,
|
||||||
|
project_version,project_namespace,deploy_net_env,
|
||||||
|
deploy_hardware_env,create_time,update_time,
|
||||||
|
expired_time,trade_person_name,pre_sale_person_name,
|
||||||
|
is_offline_map,is_ai_deploy
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
@@ -18,21 +18,21 @@
|
|||||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||||
<result property="location" column="location" jdbcType="VARCHAR"/>
|
<result property="location" column="location" jdbcType="VARCHAR"/>
|
||||||
<result property="provider" column="provider" jdbcType="VARCHAR"/>
|
<result property="provider" column="provider" jdbcType="VARCHAR"/>
|
||||||
<result property="cpuBrand" column="cpu_brand" jdbcType="VARCHAR"/>
|
<result property="cpuBrand" column="cpu_brand" jdbcType="VARCHAR"/>
|
||||||
<result property="cpuCore" column="cpu_core" jdbcType="VARCHAR"/>
|
<result property="cpuCore" column="cpu_core" jdbcType="VARCHAR"/>
|
||||||
<result property="memoryTotal" column="memory_total" jdbcType="VARCHAR"/>
|
<result property="memoryTotal" column="memory_total" jdbcType="VARCHAR"/>
|
||||||
<result property="diskTotal" column="disk_total" jdbcType="VARCHAR"/>
|
<result property="diskTotal" column="disk_total" jdbcType="VARCHAR"/>
|
||||||
<result property="diskUsage" column="disk_usage" jdbcType="VARCHAR"/>
|
<result property="diskUsage" column="disk_usage" jdbcType="VARCHAR"/>
|
||||||
<result property="ioSpeed" column="io_speed" jdbcType="VARCHAR"/>
|
<result property="ioSpeed" column="io_speed" jdbcType="VARCHAR"/>
|
||||||
<result property="tcpControl" column="tcp_control" jdbcType="VARCHAR"/>
|
<result property="tcpControl" column="tcp_control" jdbcType="VARCHAR"/>
|
||||||
<result property="virtualization" column="virtualization" jdbcType="VARCHAR"/>
|
<result property="virtualization" column="virtualization" jdbcType="VARCHAR"/>
|
||||||
<result property="osInfo" column="os_info" jdbcType="VARCHAR"/>
|
<result property="osInfo" column="os_info" jdbcType="VARCHAR"/>
|
||||||
<result property="osKernelInfo" column="os_kernel_info" jdbcType="VARCHAR"/>
|
<result property="osKernelInfo" column="os_kernel_info" jdbcType="VARCHAR"/>
|
||||||
<result property="machineId" column="machine_id" jdbcType="VARCHAR"/>
|
<result property="machineId" column="machine_id" jdbcType="VARCHAR"/>
|
||||||
<result property="comment" column="comment" jdbcType="VARCHAR"/>
|
<result property="comment" column="comment" jdbcType="VARCHAR"/>
|
||||||
<result property="isDelete" column="is_delete" jdbcType="TINYINT"/>
|
<result property="isDelete" column="is_delete" jdbcType="TINYINT"/>
|
||||||
<result property="version" column="version" jdbcType="INTEGER"/>
|
<result property="version" column="version" jdbcType="INTEGER"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
|
|||||||
@@ -0,0 +1,105 @@
|
|||||||
|
package io.wdd.server.controller;
|
||||||
|
|
||||||
|
import io.wdd.common.response.R;
|
||||||
|
import io.wdd.server.beans.po.ProjectInfoPO;
|
||||||
|
import io.wdd.server.beans.vo.ProjectInfoVO;
|
||||||
|
import net.datafaker.Faker;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
|
||||||
|
@SpringBootTest
|
||||||
|
public class ProjectInfoTest {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
ProjectController projectController;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
Faker fakeInstance;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_projectGetAll_returnsNonNullObject() {
|
||||||
|
R<List<ProjectInfoPO>> result = projectController.projectGetAll();
|
||||||
|
assertNotNull(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_projectCreate_returnsNonNullObjectWithExpectedMessage() {
|
||||||
|
ProjectInfoVO projectInfoVO = new ProjectInfoVO();
|
||||||
|
// Set projectInfoVO properties
|
||||||
|
R<String> result = projectController.projectCreate(projectInfoVO);
|
||||||
|
assertNotNull(result);
|
||||||
|
assertEquals(
|
||||||
|
"创建项目失败!",
|
||||||
|
result.getData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_projectCreate_createWithFakeData() {
|
||||||
|
ProjectInfoVO projectInfoVO = new ProjectInfoVO();
|
||||||
|
|
||||||
|
projectInfoVO.setProjectName(fakeInstance
|
||||||
|
.funnyName()
|
||||||
|
.name());
|
||||||
|
projectInfoVO.setProjectNamespace(fakeInstance.examplify("dasdd"));
|
||||||
|
projectInfoVO.setDeployNetEnv(fakeInstance
|
||||||
|
.random()
|
||||||
|
.nextInt(3));
|
||||||
|
projectInfoVO.setDeployHardwareEnv(fakeInstance
|
||||||
|
.animal()
|
||||||
|
.name());
|
||||||
|
// Set projectInfoVO properties
|
||||||
|
R<String> result = projectController.projectCreate(projectInfoVO);
|
||||||
|
assertNotNull(result);
|
||||||
|
assertEquals(
|
||||||
|
"创建项目成功!",
|
||||||
|
result.getData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_projectUpdate_returnsNonNullObjectWithExpectedMessage() {
|
||||||
|
ProjectInfoPO projectInfoPO = new ProjectInfoPO();
|
||||||
|
// Set projectInfoPO properties
|
||||||
|
R<String> result = projectController.projectUpdate(projectInfoPO);
|
||||||
|
assertNotNull(result);
|
||||||
|
assertEquals(
|
||||||
|
"更新项目失败!",
|
||||||
|
result.getData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_projectDelete_returnsNonNullObjectWithExpectedMessage() {
|
||||||
|
|
||||||
|
List<ProjectInfoPO> infoPOList = projectController
|
||||||
|
.projectGetAll()
|
||||||
|
.getData();
|
||||||
|
|
||||||
|
int size = infoPOList.size();
|
||||||
|
ProjectInfoPO infoPO = infoPOList
|
||||||
|
.stream()
|
||||||
|
.skip(fakeInstance
|
||||||
|
.random()
|
||||||
|
.nextInt(size))
|
||||||
|
.findFirst()
|
||||||
|
.get();
|
||||||
|
|
||||||
|
System.out.println("infoPO to delete is = " + infoPO);
|
||||||
|
|
||||||
|
R<String> result = projectController.projectDelete(infoPO.getProjectId());
|
||||||
|
assertNotNull(result);
|
||||||
|
assertEquals(
|
||||||
|
"删除项目成功!",
|
||||||
|
result.getData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user