反序列化问题。
This commit is contained in:
parent
434d21d501
commit
899ce66e36
@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Tag(name = "项目管理", description = "项目管理相关接口")
|
||||
@Tag(name = "项目组管理", description = "项目组管理相关接口")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/project-group")
|
||||
public class ProjectGroupApiController extends BaseController<ProjectGroup, ProjectGroupDTO, Long, ProjectGroupQuery> {
|
||||
|
||||
@ -6,11 +6,13 @@ import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ProjectGroupDTO extends BaseDTO {
|
||||
|
||||
// @NotNull(message = "租户ID不能为空")
|
||||
// @NotNull(message = "租户ID不能为空")
|
||||
private Long tenantCode;
|
||||
|
||||
@NotBlank(message = "项目组编码不能为空")
|
||||
@ -21,6 +23,8 @@ public class ProjectGroupDTO extends BaseDTO {
|
||||
|
||||
private String projectGroupDesc;
|
||||
|
||||
private List<EnvironmentDTO> environments;
|
||||
|
||||
@NotBlank(message = "项目组状态不能为空")
|
||||
private String projectGroupStatus;
|
||||
|
||||
|
||||
@ -3,13 +3,12 @@ package com.qqchen.deploy.backend.deploy.entity;
|
||||
import com.qqchen.deploy.backend.deploy.enums.BuildTypeEnum;
|
||||
import com.qqchen.deploy.backend.deploy.enums.DeployTypeEnum;
|
||||
import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 环境实体
|
||||
*/
|
||||
@ -62,4 +61,11 @@ public class Environment extends Entity<Long> {
|
||||
*/
|
||||
@Column(name = "sort", nullable = false)
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 关联的项目组列表
|
||||
*/
|
||||
// @ManyToMany(mappedBy = "environments")
|
||||
@ManyToMany(mappedBy = "environments")
|
||||
private List<ProjectGroup> projectGroups;
|
||||
}
|
||||
@ -1,10 +1,15 @@
|
||||
package com.qqchen.deploy.backend.deploy.entity;
|
||||
|
||||
import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.hibernate.annotations.OnDelete;
|
||||
import org.hibernate.annotations.OnDeleteAction;
|
||||
import org.hibernate.annotations.SQLDelete;
|
||||
import org.hibernate.annotations.Where;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目组实体
|
||||
@ -22,19 +27,19 @@ public class ProjectGroup extends Entity<Long> {
|
||||
private Long tenantCode;
|
||||
|
||||
/**
|
||||
* 项目组状态
|
||||
* 项目组编码
|
||||
*/
|
||||
@Column(name = "project_group_code", nullable = false)
|
||||
private String projectGroupCode;
|
||||
|
||||
/**
|
||||
* 项目组状态
|
||||
* 项目组名称
|
||||
*/
|
||||
@Column(name = "project_group_name", nullable = false)
|
||||
private String projectGroupName;
|
||||
|
||||
/**
|
||||
* 项目组状态
|
||||
* 项目组描述
|
||||
*/
|
||||
@Column(name = "project_group_desc")
|
||||
private String projectGroupDesc;
|
||||
@ -50,4 +55,21 @@ public class ProjectGroup extends Entity<Long> {
|
||||
*/
|
||||
@Column(name = "sort", nullable = false)
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 关联的环境列表
|
||||
*/
|
||||
// @ManyToMany(cascade = CascadeType.REMOVE)
|
||||
// @JoinTable(
|
||||
// name = "deploy_project_group_environment",
|
||||
// joinColumns = @JoinColumn(name = "project_group_id"),
|
||||
// inverseJoinColumns = @JoinColumn(name = "environment_id")
|
||||
// )
|
||||
@ManyToMany
|
||||
@JoinTable(
|
||||
name = "deploy_project_group_environment",
|
||||
joinColumns = @JoinColumn(name = "project_group_id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "environment_id")
|
||||
)
|
||||
private List<Environment> environments;
|
||||
}
|
||||
@ -1,35 +1,34 @@
|
||||
package com.qqchen.deploy.backend.deploy.entity;
|
||||
|
||||
import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 项目环境关联实体
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "deploy_project_group_environment")
|
||||
public class ProjectGroupEnvironment extends Entity<Long> {
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
@Column(name = "project_group_id", nullable = false)
|
||||
private Long projectGroupId;
|
||||
|
||||
/**
|
||||
* 环境ID
|
||||
*/
|
||||
@Column(name = "environment_id", nullable = false)
|
||||
private Long environmentId;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
@Column(name = "enabled", nullable = false)
|
||||
private Boolean enabled = true;
|
||||
}
|
||||
//package com.qqchen.deploy.backend.deploy.entity;
|
||||
//
|
||||
//import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||
//import jakarta.persistence.Column;
|
||||
//import jakarta.persistence.JoinColumn;
|
||||
//import jakarta.persistence.ManyToOne;
|
||||
//import jakarta.persistence.Table;
|
||||
//import lombok.Data;
|
||||
//import lombok.EqualsAndHashCode;
|
||||
//
|
||||
///**
|
||||
// * 项目环境关联实体
|
||||
// */
|
||||
//@Data
|
||||
//@EqualsAndHashCode(callSuper = true)
|
||||
//@jakarta.persistence.Entity
|
||||
//@Table(name = "deploy_project_group_environment")
|
||||
//public class ProjectGroupEnvironment extends Entity<Long> {
|
||||
//
|
||||
// /**
|
||||
// * 项目ID
|
||||
// */
|
||||
// @ManyToOne
|
||||
// @JoinColumn(name = "project_group_id", nullable = false)
|
||||
// private ProjectGroup projectGroup;
|
||||
//
|
||||
// /**
|
||||
// * 环境ID
|
||||
// */
|
||||
// @ManyToOne
|
||||
// @JoinColumn(name = "environment_id", nullable = false)
|
||||
// private Environment environment;
|
||||
//
|
||||
//}
|
||||
@ -19,8 +19,8 @@ public class ApplicationQuery extends BaseQuery {
|
||||
@QueryField(field = "appStatus")
|
||||
private String appStatus;
|
||||
|
||||
@QueryField(field = "projectId")
|
||||
private Long projectId;
|
||||
@QueryField(field = "projectGroupId")
|
||||
private Long projectGroupId;
|
||||
|
||||
@QueryField(field = "repoType")
|
||||
private String repoType;
|
||||
|
||||
@ -4,8 +4,6 @@ import com.qqchen.deploy.backend.deploy.converter.EnvironmentConverter;
|
||||
import com.qqchen.deploy.backend.deploy.dto.EnvironmentDTO;
|
||||
import com.qqchen.deploy.backend.deploy.entity.Environment;
|
||||
import com.qqchen.deploy.backend.deploy.entity.QEnvironment;
|
||||
import com.qqchen.deploy.backend.deploy.entity.QProjectGroup;
|
||||
import com.qqchen.deploy.backend.deploy.entity.QProjectGroupEnvironment;
|
||||
import com.qqchen.deploy.backend.deploy.repository.IEnvironmentRepository;
|
||||
import com.qqchen.deploy.backend.deploy.service.IEnvironmentService;
|
||||
import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl;
|
||||
@ -34,19 +32,13 @@ public class EnvironmentServiceImpl extends BaseServiceImpl<Environment, Environ
|
||||
@Override
|
||||
public List<EnvironmentDTO> getProjectEnvironments(Long projectGroupId) {
|
||||
QEnvironment environment = QEnvironment.environment;
|
||||
QProjectGroupEnvironment projectEnvironment = QProjectGroupEnvironment.projectGroupEnvironment;
|
||||
|
||||
JPAQueryFactory queryFactory = new JPAQueryFactory(entityManager);
|
||||
|
||||
List<Environment> environments = queryFactory
|
||||
.select(environment)
|
||||
.from(environment)
|
||||
.innerJoin(projectEnvironment)
|
||||
.on(projectEnvironment.environmentId.eq(environment.id))
|
||||
.where(
|
||||
projectEnvironment.projectGroupId.eq(projectGroupId),
|
||||
projectEnvironment.enabled.isTrue()
|
||||
)
|
||||
.on(environment.id.eq(environment.id))
|
||||
.orderBy(environment.sort.asc())
|
||||
.fetch();
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ public class BaseDTO implements Serializable {
|
||||
|
||||
private String updateBy;
|
||||
|
||||
private Integer version;
|
||||
private Integer version = 1;
|
||||
|
||||
private Boolean deleted = false;
|
||||
|
||||
|
||||
@ -634,7 +634,6 @@ CREATE TABLE deploy_project_group_environment
|
||||
-- 业务字段
|
||||
project_group_id BIGINT NOT NULL COMMENT '项目ID',
|
||||
environment_id BIGINT NOT NULL COMMENT '环境ID',
|
||||
enabled BIT NOT NULL DEFAULT 1 COMMENT '是否启用',
|
||||
|
||||
-- 基础字段
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user