反序列化问题。

This commit is contained in:
dengqichen 2024-12-23 17:00:35 +08:00
parent 8dbc917ff3
commit cf0b5589d4
28 changed files with 306 additions and 196 deletions

View File

@ -278,7 +278,7 @@ CREATE TABLE sys_approval_record (
#### 3.1.1 项目集管理
```yaml
/api/v1/project-group:
/api/v1/projectGroup-group:
post:
summary: 创建项目集
description: |
@ -329,7 +329,7 @@ CREATE TABLE sys_approval_record (
#### 3.1.2 项目管理
```yaml
/api/v1/project:
/api/v1/projectGroup:
post:
summary: 创建项目
description: |

View File

@ -601,7 +601,7 @@ const JenkinsNodeConfig = {
name: 'Jenkins构建',
executor: 'JENKINS',
config: {
jenkinsJob: 'my-project-build',
jenkinsJob: 'my-projectGroup-build',
parameters: {
BRANCH: 'master',
ENV: 'prod'

View File

@ -1,8 +1,8 @@
package com.qqchen.deploy.backend.deploy.api;
import com.qqchen.deploy.backend.deploy.dto.ProjectDTO;
import com.qqchen.deploy.backend.deploy.entity.Project;
import com.qqchen.deploy.backend.deploy.query.ProjectQuery;
import com.qqchen.deploy.backend.deploy.dto.ProjectGroupDTO;
import com.qqchen.deploy.backend.deploy.entity.ProjectGroup;
import com.qqchen.deploy.backend.deploy.query.ProjectGroupQuery;
import com.qqchen.deploy.backend.framework.controller.BaseController;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
@ -13,11 +13,11 @@ import java.util.List;
@Tag(name = "项目管理", description = "项目管理相关接口")
@RestController
@RequestMapping("/api/v1/projects")
public class ProjectApiController extends BaseController<Project, ProjectDTO, Long, ProjectQuery> {
@RequestMapping("/api/v1/project-group")
public class ProjectGroupApiController extends BaseController<ProjectGroup, ProjectGroupDTO, Long, ProjectGroupQuery> {
@Override
protected void exportData(HttpServletResponse response, List<ProjectDTO> data) {
protected void exportData(HttpServletResponse response, List<ProjectGroupDTO> data) {
// TODO: 实现导出逻辑
}
}

View File

@ -1,10 +0,0 @@
package com.qqchen.deploy.backend.deploy.converter;
import com.qqchen.deploy.backend.deploy.dto.ProjectDTO;
import com.qqchen.deploy.backend.deploy.entity.Project;
import com.qqchen.deploy.backend.framework.converter.BaseConverter;
import org.mapstruct.Mapper;
@Mapper(config = BaseConverter.class)
public interface ProjectConverter extends BaseConverter<Project, ProjectDTO> {
}

View File

@ -0,0 +1,10 @@
package com.qqchen.deploy.backend.deploy.converter;
import com.qqchen.deploy.backend.deploy.dto.ProjectGroupDTO;
import com.qqchen.deploy.backend.deploy.entity.ProjectGroup;
import com.qqchen.deploy.backend.framework.converter.BaseConverter;
import org.mapstruct.Mapper;
@Mapper(config = BaseConverter.class)
public interface ProjectGroupConverter extends BaseConverter<ProjectGroup, ProjectGroupDTO> {
}

View File

@ -11,7 +11,7 @@ import lombok.EqualsAndHashCode;
public class ApplicationDTO extends BaseDTO {
@NotNull(message = "项目ID不能为空")
private Long projectId;
private Long projectGroupId;
@NotBlank(message = "应用编码不能为空")
private String appCode;

View File

@ -20,10 +20,6 @@ public class EnvironmentDTO extends BaseDTO {
@Schema(description = "租户编码")
private String tenantCode;
@Schema(description = "项目ID")
@NotNull(message = "项目ID不能为空")
private Long projectId;
@Schema(description = "环境编码")
@NotBlank(message = "环境编码不能为空")
private String envCode;

View File

@ -8,21 +8,21 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class ProjectDTO extends BaseDTO {
public class ProjectGroupDTO extends BaseDTO {
// @NotNull(message = "租户ID不能为空")
private Long tenantId;
private Long tenantCode;
@NotBlank(message = "项目编码不能为空")
private String projectCode;
@NotBlank(message = "项目编码不能为空")
private String projectGroupCode;
@NotBlank(message = "项目名称不能为空")
private String projectName;
@NotBlank(message = "项目名称不能为空")
private String projectGroupName;
private String projectDesc;
private String projectGroupDesc;
@NotBlank(message = "项目状态不能为空")
private String projectStatus;
@NotBlank(message = "项目状态不能为空")
private String projectGroupStatus;
@NotNull(message = "排序号不能为空")
private Integer sort;

View File

@ -18,8 +18,8 @@ public class Application extends Entity<Long> {
/**
* 所属项目ID
*/
@Column(name = "project_id", nullable = false)
private Long projectId;
@Column(name = "project_group_id", nullable = false)
private Long projectGroupId;
/**
* 应用编码

View File

@ -25,12 +25,6 @@ public class Environment extends Entity<Long> {
@Column(name = "tenant_code")
private String tenantCode;
/**
* 项目ID
*/
@Column(name = "project_id", nullable = false)
private Long projectId;
/**
* 环境编码
*/

View File

@ -1,53 +0,0 @@
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")
public class Project extends Entity<Long> {
/**
* 租户ID
*/
@Column(name = "tenant_id")
private Long tenantId;
/**
* 项目编码
*/
@Column(name = "project_code", nullable = false)
private String projectCode;
/**
* 项目名称
*/
@Column(name = "project_name", nullable = false)
private String projectName;
/**
* 项目描述
*/
@Column(name = "project_desc")
private String projectDesc;
/**
* 项目状态
*/
@Column(name = "project_status", nullable = false)
private String projectStatus;
/**
* 排序号
*/
@Column(name = "sort", nullable = false)
private Integer sort;
}

View File

@ -0,0 +1,53 @@
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")
public class ProjectGroup extends Entity<Long> {
/**
* 租户ID
*/
@Column(name = "tenant_code")
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;
/**
* 项目组状态
*/
@Column(name = "project_group_status", nullable = false)
private String projectGroupStatus;
/**
* 排序号
*/
@Column(name = "sort", nullable = false)
private Integer sort;
}

View File

@ -0,0 +1,35 @@
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;
}

View File

@ -0,0 +1,24 @@
package com.qqchen.deploy.backend.deploy.query;
import com.qqchen.deploy.backend.framework.annotation.QueryField;
import com.qqchen.deploy.backend.framework.enums.QueryType;
import com.qqchen.deploy.backend.framework.query.BaseQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class ProjectGroupQuery extends BaseQuery {
@QueryField(field = "projectGroupCode", type = QueryType.LIKE)
private String projectGroupCode;
@QueryField(field = "projectGroupName", type = QueryType.LIKE)
private String projectGroupName;
@QueryField(field = "projectGroupStatus")
private String projectGroupStatus;
@QueryField(field = "tenantCode")
private Long tenantCode;
}

View File

@ -1,24 +0,0 @@
package com.qqchen.deploy.backend.deploy.query;
import com.qqchen.deploy.backend.framework.annotation.QueryField;
import com.qqchen.deploy.backend.framework.enums.QueryType;
import com.qqchen.deploy.backend.framework.query.BaseQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class ProjectQuery extends BaseQuery {
@QueryField(field = "projectCode", type = QueryType.LIKE)
private String projectCode;
@QueryField(field = "projectName", type = QueryType.LIKE)
private String projectName;
@QueryField(field = "projectStatus")
private String projectStatus;
@QueryField(field = "tenantId")
private Long tenantId;
}

View File

@ -6,5 +6,5 @@ import org.springframework.stereotype.Repository;
@Repository
public interface IApplicationRepository extends IBaseRepository<Application, Long> {
boolean existsByAppCodeAndProjectIdAndDeletedFalse(String appCode, Long projectId);
boolean existsByAppCodeAndProjectGroupIdAndDeletedFalse(String appCode, Long projectId);
}

View File

@ -0,0 +1,9 @@
package com.qqchen.deploy.backend.deploy.repository;
import com.qqchen.deploy.backend.deploy.entity.ProjectGroup;
import com.qqchen.deploy.backend.framework.repository.IBaseRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface IProjectGroupRepository extends IBaseRepository<ProjectGroup, Long> {
}

View File

@ -1,10 +0,0 @@
package com.qqchen.deploy.backend.deploy.repository;
import com.qqchen.deploy.backend.deploy.entity.Project;
import com.qqchen.deploy.backend.framework.repository.IBaseRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface IProjectRepository extends IBaseRepository<Project, Long> {
boolean existsByProjectCodeAndTenantIdAndDeletedFalse(String projectCode, Long tenantId);
}

View File

@ -2,11 +2,28 @@ package com.qqchen.deploy.backend.deploy.service;
import com.qqchen.deploy.backend.deploy.dto.EnvironmentDTO;
import com.qqchen.deploy.backend.deploy.entity.Environment;
import com.qqchen.deploy.backend.deploy.query.EnvironmentQuery;
import com.qqchen.deploy.backend.framework.service.IBaseService;
import java.util.List;
/**
* 环境服务接口
*/
public interface IEnvironmentService extends IBaseService<Environment, EnvironmentDTO, Long> {
/**
* 获取项目的环境列表
*
* @param projectGroupId 项目ID
* @return 环境列表
*/
List<EnvironmentDTO> getProjectEnvironments(Long projectGroupId);
/**
* 更新项目的环境配置
*
* @param projectId 项目ID
* @param environmentIds 环境ID列表
*/
void updateProjectEnvironments(Long projectId, List<Long> environmentIds);
}

View File

@ -0,0 +1,8 @@
package com.qqchen.deploy.backend.deploy.service;
import com.qqchen.deploy.backend.deploy.dto.ProjectGroupDTO;
import com.qqchen.deploy.backend.deploy.entity.ProjectGroup;
import com.qqchen.deploy.backend.framework.service.IBaseService;
public interface IProjectGroupService extends IBaseService<ProjectGroup, ProjectGroupDTO, Long> {
}

View File

@ -1,8 +0,0 @@
package com.qqchen.deploy.backend.deploy.service;
import com.qqchen.deploy.backend.deploy.dto.ProjectDTO;
import com.qqchen.deploy.backend.deploy.entity.Project;
import com.qqchen.deploy.backend.framework.service.IBaseService;
public interface IProjectService extends IBaseService<Project, ProjectDTO, Long> {
}

View File

@ -1,14 +1,62 @@
package com.qqchen.deploy.backend.deploy.service.impl;
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;
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import jakarta.persistence.EntityManager;
import java.util.List;
import java.util.stream.Collectors;
/**
* 环境服务实现类
*/
@Service
public class EnvironmentServiceImpl extends BaseServiceImpl<Environment, EnvironmentDTO, Long> implements IEnvironmentService {
@Resource
private IEnvironmentRepository environmentRepository;
@Resource
private EnvironmentConverter environmentConverter;
@Resource
private EntityManager entityManager;
@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()
)
.orderBy(environment.sort.asc())
.fetch();
return environments.stream()
.map(environmentConverter::toDto)
.collect(Collectors.toList());
}
@Override
public void updateProjectEnvironments(Long projectId, List<Long> environmentIds) {
// TODO: 实现更新逻辑
}
}

View File

@ -0,0 +1,12 @@
package com.qqchen.deploy.backend.deploy.service.impl;
import com.qqchen.deploy.backend.deploy.dto.ProjectGroupDTO;
import com.qqchen.deploy.backend.deploy.entity.ProjectGroup;
import com.qqchen.deploy.backend.deploy.service.IProjectGroupService;
import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class ProjectGroupServiceImpl extends BaseServiceImpl<ProjectGroup, ProjectGroupDTO, Long> implements IProjectGroupService {
}

View File

@ -1,12 +0,0 @@
package com.qqchen.deploy.backend.deploy.service.impl;
import com.qqchen.deploy.backend.deploy.dto.ProjectDTO;
import com.qqchen.deploy.backend.deploy.entity.Project;
import com.qqchen.deploy.backend.deploy.service.IProjectService;
import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Service
public class ProjectServiceImpl extends BaseServiceImpl<Project, ProjectDTO, Long> implements IProjectService {
}

View File

@ -20,8 +20,7 @@ import java.util.Collection;
import java.time.LocalDateTime;
@NoRepositoryBean
public interface IBaseRepository<T extends Entity<ID>, ID extends Serializable>
extends JpaRepository<T, ID>, QuerydslPredicateExecutor<T> {
public interface IBaseRepository<T extends Entity<ID>, ID extends Serializable> extends JpaRepository<T, ID>, QuerydslPredicateExecutor<T> {
// 基础查询方法
@Override

View File

@ -540,7 +540,7 @@ CREATE TABLE workflow_log
-- --------------------------------------------------------------------------------------
-- 项目组表
CREATE TABLE deploy_project
CREATE TABLE deploy_project_group
(
-- 基础字段
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
@ -552,19 +552,19 @@ CREATE TABLE deploy_project
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除0-未删除1-已删除',
-- 业务字段
tenant_id BIGINT DEFAULT NULL COMMENT '租户ID',
project_code VARCHAR(50) NOT NULL COMMENT '项目编码',
project_name VARCHAR(100) NOT NULL COMMENT '项目名称',
project_desc VARCHAR(255) NULL COMMENT '项目描述',
project_status VARCHAR(50) NOT NULL DEFAULT 'ENABLED' COMMENT '项目状态ENABLED-启用DISABLED-禁用',
tenant_code BIGINT DEFAULT NULL COMMENT '租户CODE',
project_group_code VARCHAR(50) NOT NULL COMMENT '项目编码',
project_group_name VARCHAR(100) NOT NULL COMMENT '项目名称',
project_group_desc VARCHAR(255) NULL COMMENT '项目描述',
project_group_status VARCHAR(50) NOT NULL DEFAULT 'ENABLED' COMMENT '项目状态ENABLED-启用DISABLED-禁用',
sort INT NOT NULL DEFAULT 0 COMMENT '排序号',
-- 索引
INDEX idx_tenant_id (tenant_id) COMMENT '租户ID索引',
UNIQUE INDEX uk_project_code (tenant_id, project_code) COMMENT '租户下项目编码唯一',
INDEX idx_tenant_id (tenant_code) COMMENT '租户ID索引',
UNIQUE INDEX uk_project_group_code (tenant_code, project_group_code) COMMENT '租户下项目编码唯一',
-- 外键约束
CONSTRAINT fk_project_tenant FOREIGN KEY (tenant_id)
CONSTRAINT fk_project_tenant FOREIGN KEY (tenant_code)
REFERENCES sys_tenant (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目组表';
@ -581,7 +581,7 @@ CREATE TABLE deploy_application
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除0-未删除1-已删除',
-- 业务字段
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 '应用描述',
@ -595,12 +595,12 @@ CREATE TABLE deploy_application
sort INT NOT NULL DEFAULT 0 COMMENT '排序号',
-- 索引
INDEX idx_project_id (project_id) COMMENT '项目ID索引',
UNIQUE INDEX uk_app_code (project_id, app_code) COMMENT '项目下应用编码唯一',
INDEX idx_project_group_id (project_group_id) COMMENT '项目ID索引',
UNIQUE INDEX uk_app_code (project_group_id, app_code) COMMENT '项目下应用编码唯一',
-- 外键约束
CONSTRAINT fk_application_project FOREIGN KEY (project_id)
REFERENCES deploy_project (id)
CONSTRAINT fk_application_project_group FOREIGN KEY (project_group_id)
REFERENCES deploy_project_group (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应用表';
-- 环境表
@ -610,7 +610,6 @@ CREATE TABLE deploy_environment
tenant_code VARCHAR(50) DEFAULT NULL COMMENT '租户编码',
build_type VARCHAR(50) NULL COMMENT '构建方式JENKINS-Jenkins构建,GITLAB_RUNNER-GitLab Runner构建,GITHUB_ACTION-GitHub Action构建',
deploy_type VARCHAR(50) NULL COMMENT '部署方式K8S-Kubernetes集群部署,DOCKER-Docker容器部署,VM-虚拟机部署',
project_id BIGINT NOT NULL COMMENT '项目ID',
env_code VARCHAR(50) NOT NULL COMMENT '环境编码',
env_name VARCHAR(100) NOT NULL COMMENT '环境名称',
env_desc VARCHAR(255) NULL COMMENT '环境描述',
@ -626,10 +625,33 @@ CREATE TABLE deploy_environment
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除',
-- 索引
INDEX idx_project_id (project_id) COMMENT '项目ID索引',
UNIQUE INDEX uk_project_env_code (project_id, env_code) COMMENT '项目下环境编码唯一',
CONSTRAINT fk_environment_project FOREIGN KEY (project_id)
REFERENCES deploy_project (id)
UNIQUE INDEX uk_env_code (env_code) COMMENT '环境编码唯一'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='环境表';
-- 项目环境关联表
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',
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 '是否删除',
-- 索引
UNIQUE INDEX uk_project_group_environment (project_group_id, environment_id) COMMENT '项目组环境关联唯一',
-- 外键约束
CONSTRAINT fk_project_env_project FOREIGN KEY (project_group_id)
REFERENCES deploy_project_group (id),
CONSTRAINT fk_project_env_environment FOREIGN KEY (environment_id)
REFERENCES deploy_environment (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目组环境关联表';

View File

@ -75,11 +75,11 @@ VALUES
(200, '部署管理', '/deploy', '', 'DeploymentUnitOutlined', 2, 0, 50, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
(201, '环境管理', '/deploy/environments', '/src/pages/Deploy/Environment/List/index', 'CloudOutlined', 2, 200, 3, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
(201, '环境管理', '/deploy/environments', '/src/pages/Deploy/Environment/List/index', 'CloudOutlined', 2, 200, 1, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
(203, '项目组管理', '/deploy/projects', '/src/pages/Deploy/Project/List/index', 'ProjectOutlined', 2, 200, 1, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
(203, '项目组管理', '/deploy/project-group', '/src/pages/Deploy/ProjectGroup/List/index', 'ProjectOutlined', 2, 200, 2, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
(202, '应用管理', '/deploy/applications', '/src/pages/Deploy/Application/List/index', 'AppstoreOutlined', 2, 200, 2, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE);
(202, '应用管理', '/deploy/applications', '/src/pages/Deploy/Application/List/index', 'AppstoreOutlined', 2, 200, 3, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE);
-- 初始化角色数据
INSERT INTO sys_role (id, create_time, code, name, type, description, sort)
@ -854,7 +854,7 @@ INSERT INTO workflow_definition (
-- --------------------------------------------------------------------------------------
-- 初始化项目组数据
INSERT INTO deploy_project (id, create_by, create_time, tenant_id, project_code, project_name, project_desc, project_status, sort)
INSERT INTO deploy_project_group (id, create_by, create_time, tenant_code, project_group_code, project_group_name, project_group_desc, project_group_status, sort)
VALUES
(1, 'admin', NOW(), 1, 'DEMO', '示例项目组', '用于演示的项目组', 'ENABLED', 1),
(2, 'admin', NOW(), 1, 'PLATFORM', '平台项目组', '平台相关的项目组', 'ENABLED', 2);
@ -862,7 +862,7 @@ VALUES
-- 初始化应用数据
INSERT INTO deploy_application (
id, create_by, create_time,
project_id, app_code, app_name, app_desc, app_status,
project_group_id, app_code, app_name, app_desc, app_status,
repo_url, repo_branch, repo_type, build_type, dev_language, dev_framework, sort
)
VALUES

View File

@ -80,9 +80,9 @@ external.system.git.token.required=Git\u7CFB\u7EDF\u5FC5\u987B\u63D0\u4F9BToken
repository.group.not.found=\u4ED3\u5E93\u7EC4\u4E0D\u5B58\u5728
repository.group.name.exists=\u4ED3\u5E93\u7EC4\u540D\u79F0"{0}"\u5DF2\u5B58\u5728
repository.group.path.exists=\u4ED3\u5E93\u7EC4\u8DEF\u5F84"{0}"\u5DF2\u5B58\u5728
repository.project.not.found=\u4ED3\u5E93\u9879\u76EE\u4E0D\u5B58\u5728
repository.project.name.exists=\u4ED3\u5E93\u9879\u76EE\u540D\u79F0"{0}"\u5DF2\u5B58\u5728
repository.project.path.exists=\u4ED3\u5E93\u9879\u76EE\u8DEF\u5F84"{0}"\u5DF2\u5B58\u5728
repository.projectGroup.not.found=\u4ED3\u5E93\u9879\u76EE\u4E0D\u5B58\u5728
repository.projectGroup.name.exists=\u4ED3\u5E93\u9879\u76EE\u540D\u79F0"{0}"\u5DF2\u5B58\u5728
repository.projectGroup.path.exists=\u4ED3\u5E93\u9879\u76EE\u8DEF\u5F84"{0}"\u5DF2\u5B58\u5728
repository.branch.not.found=\u5206\u652F\u4E0D\u5B58\u5728
repository.branch.name.exists=\u5206\u652F\u540D\u79F0"{0}"\u5DF2\u5B58\u5728
repository.sync.in.progress=\u4ED3\u5E93\u540C\u6B65\u6B63\u5728\u8FDB\u884C\u4E2D