大声道撒旦

This commit is contained in:
dengqichen 2025-01-10 15:38:11 +08:00
parent 77aa2eb616
commit 19da086bbb
4 changed files with 41 additions and 20 deletions

View File

@ -3,6 +3,7 @@ package com.qqchen.deploy.backend.deploy.dto;
import com.qqchen.deploy.backend.deploy.entity.ProjectGroup;
import com.qqchen.deploy.backend.deploy.enums.DevelopmentLanguageTypeEnum;
import com.qqchen.deploy.backend.framework.dto.BaseDTO;
import com.qqchen.deploy.backend.system.model.ExternalSystemDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column;
import jakarta.validation.constraints.NotBlank;
@ -22,12 +23,14 @@ public class ApplicationDTO extends BaseDTO {
private String appDesc;
@NotBlank(message = "仓库URL不能为空")
private String repoUrl;
@NotNull(message = "开发语言")
private DevelopmentLanguageTypeEnum language;
@NotNull(message = "三方系统ID不能为空")
private Long externalSystemId;
private ExternalSystemDTO externalSystem;
@NotNull(message = "代码仓库组ID不能为空")
private Long repoGroupId;

View File

@ -9,6 +9,7 @@ import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -49,6 +50,9 @@ public class Application extends Entity<Long> {
@Column(name = "language")
private DevelopmentLanguageTypeEnum language;
@Column(name = "external_system_id", nullable = false)
private Long externalSystemId;
/**
* 代码仓库组ID
*/

View File

@ -1,17 +1,20 @@
package com.qqchen.deploy.backend.deploy.service.impl;
import com.qqchen.deploy.backend.deploy.converter.ApplicationConverter;
import com.qqchen.deploy.backend.deploy.converter.ExternalSystemConverter;
import com.qqchen.deploy.backend.deploy.converter.ProjectGroupConverter;
import com.qqchen.deploy.backend.deploy.converter.RepositoryGroupConverter;
import com.qqchen.deploy.backend.deploy.converter.RepositoryProjectConverter;
import com.qqchen.deploy.backend.deploy.dto.ApplicationDTO;
import com.qqchen.deploy.backend.deploy.dto.DevelopmentLanguageTypeDTO;
import com.qqchen.deploy.backend.deploy.entity.Application;
import com.qqchen.deploy.backend.deploy.entity.ExternalSystem;
import com.qqchen.deploy.backend.deploy.entity.ProjectGroup;
import com.qqchen.deploy.backend.deploy.entity.RepositoryGroup;
import com.qqchen.deploy.backend.deploy.entity.RepositoryProject;
import com.qqchen.deploy.backend.deploy.enums.DevelopmentLanguageTypeEnum;
import com.qqchen.deploy.backend.deploy.query.ApplicationQuery;
import com.qqchen.deploy.backend.deploy.repository.IExternalSystemRepository;
import com.qqchen.deploy.backend.deploy.repository.IProjectGroupRepository;
import com.qqchen.deploy.backend.deploy.repository.IRepositoryGroupRepository;
import com.qqchen.deploy.backend.deploy.repository.IRepositoryProjectRepository;
@ -50,6 +53,12 @@ public class ApplicationServiceImpl extends BaseServiceImpl<Application, Applica
@Resource
private RepositoryProjectConverter repositoryProjectConverter;
@Resource
private IExternalSystemRepository externalSystemRepository;
@Resource
private ExternalSystemConverter externalSystemConverter;
public Page<ApplicationDTO> page(ApplicationQuery query) {
Page<ApplicationDTO> page = super.page(query);
List<ApplicationDTO> result = page.getContent().stream().peek(application -> {
@ -64,6 +73,10 @@ public class ApplicationServiceImpl extends BaseServiceImpl<Application, Applica
// 查询并设置代码仓库项目信息
Optional<RepositoryProject> repositoryProjectOptional = repositoryProjectRepository.findById(application.getRepoProjectId());
repositoryProjectOptional.ifPresent(repositoryProject -> application.setRepositoryProject(repositoryProjectConverter.toDto(repositoryProject)));
// 查询并设置外部系统信息
Optional<ExternalSystem> externalSystemOptional = externalSystemRepository.findById(application.getExternalSystemId());
externalSystemOptional.ifPresent(externalSystem -> application.setExternalSystem(externalSystemConverter.toDto(externalSystem)));
}).collect(toList());
return new PageImpl<>(result, page.getPageable(), page.getTotalElements());
}

View File

@ -541,25 +541,26 @@ CREATE TABLE deploy_project_group
-- 应用表
CREATE TABLE deploy_application
(
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
-- 业务字段
app_code VARCHAR(50) NOT NULL COMMENT '应用编码',
app_name VARCHAR(100) NOT NULL COMMENT '应用名称',
app_desc VARCHAR(255) NULL COMMENT '应用描述',
repo_url VARCHAR(255) NULL COMMENT '代码仓库地址',
language VARCHAR(50) NULL COMMENT '开发语言JAVA、PYTHON、NODEJS',
enabled BIT NOT NULL DEFAULT 1 COMMENT '是否启用0禁用1启用',
sort INT NOT NULL DEFAULT 0 COMMENT '排序号',
repo_group_id BIGINT NOT NULL COMMENT '代码仓库项目ID',
repo_project_id BIGINT NOT NULL COMMENT '代码仓库项目ID',
project_group_id BIGINT NOT NULL COMMENT '所属项目组ID',
app_code VARCHAR(50) NOT NULL COMMENT '应用编码',
app_name VARCHAR(100) NOT NULL COMMENT '应用名称',
app_desc VARCHAR(255) NULL COMMENT '应用描述',
repo_url VARCHAR(255) NULL COMMENT '代码仓库地址',
language VARCHAR(50) NULL COMMENT '开发语言JAVA、PYTHON、NODEJS',
enabled BIT NOT NULL DEFAULT 1 COMMENT '是否启用0禁用1启用',
sort INT NOT NULL DEFAULT 0 COMMENT '排序号',
repo_group_id BIGINT NOT NULL COMMENT '代码仓库项目ID',
repo_project_id BIGINT NOT NULL COMMENT '代码仓库项目ID',
project_group_id BIGINT NOT NULL COMMENT '所属项目组ID',
external_system_id BIGINT NOT NULL COMMENT '外部系统ID',
-- 基础字段
create_by VARCHAR(100) NULL COMMENT '创建人',
create_time DATETIME(6) NULL COMMENT '创建时间',
update_by VARCHAR(100) NULL COMMENT '更新人',
update_time DATETIME(6) NULL COMMENT '更新时间',
version INT NOT NULL DEFAULT 1 COMMENT '版本号',
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除0-未删除1-已删除',
create_by VARCHAR(100) NULL COMMENT '创建人',
create_time DATETIME(6) NULL COMMENT '创建时间',
update_by VARCHAR(100) NULL COMMENT '更新人',
update_time DATETIME(6) NULL COMMENT '更新时间',
version INT NOT NULL DEFAULT 1 COMMENT '版本号',
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除0-未删除1-已删除',
-- 索引
INDEX idx_project_group_id (project_group_id) COMMENT '项目ID索引',