diff --git a/backend/docs/deploy-ease-workflow.md b/backend/docs/deploy-ease-workflow.md index 25af0937..8d56dab7 100644 --- a/backend/docs/deploy-ease-workflow.md +++ b/backend/docs/deploy-ease-workflow.md @@ -1,1473 +1,1202 @@ -# Deploy Ease Workflow 工作流引擎设计文档 +# Deploy Ease 自动化部署平台设计文档 -## 一、项目概述 +## 一、系统概述 -### 1.1 项目目标 -构建一个企业级工作流引擎系统,支持审批流程和CI/CD流程的统一管理和执行。系统需要具备高扩展性、高可用性和易用性。 +### 1.1 功能模块 +1. 项目集管理 + - 项目集配置 + - 项目管理 + - Git仓库集成 + - Jenkins集成 -### 1.2 技术栈 -- 后端:Java 21 + Spring Boot 3.x + Spring Cloud -- 前端:React 18 + Ant Design 5.x + TypeScript -- 数据库:PostgreSQL 16 -- 缓存:Redis 7.x -- 消息队列:RabbitMQ -- 容器化:Docker + Kubernetes -- 服务网关:Spring Cloud Gateway -- 注册中心:Nacos -- 配置中心:Nacos -- 监控:Prometheus + Grafana +2. 环境管理 + - 环境配置 + - 环境克隆 + - 环境变量管理 + - 权限控制 -### 1.3 项目架构 -``` -+------------------+ +------------------+ +------------------+ -| 前端应用层 | <-> | 网关层 | <-> | 微服务集群 | -+------------------+ +------------------+ +------------------+ - ↑ ↑ ↑ - | | | - v v v -+------------------+ +------------------+ +------------------+ -| CDN/对象存储 | <-> | 消息总线 | <-> | 存储层 | -+------------------+ +------------------+ +------------------+ -``` - -## 二、实现优先级和里程碑 - -### 2.1 第一阶段:核心框架搭建(2周) -1. 基础框架搭建 - - 多模块项目结构 - - 统一异常处理 - - 统一响应格式 - - 基础CRUD封装 - -2. 核心功能实现 - - 用户认证授权 - - 基础权限管理 - - 系统配置管理 - -### 2.2 第二阶段:工作流引擎核心(4周) -1. 工作流引擎实现 - - 工作流模型设计 - - 工作流执行引擎 - - 节点抽象和实现 - -2. 插件系统实现 - - 插件加载机制 - - 插件生命周期管理 - - 插件配置管理 - -### 2.3 第三阶段:节点开发(4周) -1. 审批节点实现 - - 表单节点 - - 审批节点 - - 会签节点 - -2. CI/CD节点实现 - - Git节点 - - Maven节点 - - Docker节点 - - K8S节点 - -### 2.4 第四阶段:前端实现(4周) -1. 工作流设计器 - - 流程设计器 - - 节点配置面板 - - 表单设计器 - -2. 运行监控 - - 实例监控 - - 日志查看 +3. 工作流引擎 + - 流程设计 + - 节点执行 - 状态管理 + - 日志追踪 -## 三、详细设计 +4. 审批流程 + - 审批配置 + - 审批执行 + - 权限管理 + - 日志记录 -### 3.1 数据库设计 +5. 配置中心 + - Nacos配置管理 + - 配置同步 + - 版本控制 + - 变更追踪 -#### 3.1.1 工作流定义相关表 +## 二、数据库设计 + +### 2.1 项目管理相关表 +```sql +-- 项目集表 +CREATE TABLE sys_project_group ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + code VARCHAR(50) NOT NULL COMMENT '项目集编码', + name VARCHAR(100) NOT NULL COMMENT '项目集名称', + description TEXT COMMENT '描述', + git_group_url VARCHAR(255) NOT NULL COMMENT 'Git组地址', + jenkins_folder VARCHAR(255) COMMENT 'Jenkins文件夹', + deploy_type VARCHAR(20) NOT NULL COMMENT '部署类型:JENKINS/SELF_BUILD', + status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED/DISABLED', + + CONSTRAINT uk_group_code UNIQUE (tenant_id, code), + CONSTRAINT uk_group_name UNIQUE (tenant_id, name) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目集表'; + +-- 项目表 +CREATE TABLE sys_project ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + group_id BIGINT NOT NULL COMMENT '项目集ID', + code VARCHAR(50) NOT NULL COMMENT '项目编码', + name VARCHAR(100) NOT NULL COMMENT '项目名称', + description TEXT COMMENT '描述', + git_url VARCHAR(255) NOT NULL COMMENT 'Git地址', + jenkins_job VARCHAR(255) COMMENT 'Jenkins任务名', + build_type VARCHAR(20) NOT NULL COMMENT '构建类型:MAVEN/GRADLE/NPM', + enable_build BIT NOT NULL DEFAULT 1 COMMENT '是否启用构建', + status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED/DISABLED', + + CONSTRAINT fk_project_group FOREIGN KEY (group_id) REFERENCES sys_project_group(id), + CONSTRAINT uk_project_code UNIQUE (tenant_id, code), + CONSTRAINT uk_project_name UNIQUE (tenant_id, group_id, name) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目表'; +``` + +### 2.2 环境管理相关表 +```sql +-- 环境表 +CREATE TABLE sys_environment ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + code VARCHAR(50) NOT NULL COMMENT '环境编码', + name VARCHAR(100) NOT NULL COMMENT '环境名称', + description TEXT COMMENT '描述', + type VARCHAR(20) NOT NULL COMMENT '环境类型:DEV/TEST/UAT/PROD', + need_approval BIT NOT NULL DEFAULT 0 COMMENT '是否需要审批', + status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED/DISABLED', + + CONSTRAINT uk_env_code UNIQUE (tenant_id, code), + CONSTRAINT uk_env_name UNIQUE (tenant_id, name) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='环境表'; + +-- 项目环境配置表 +CREATE TABLE sys_project_env ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + project_id BIGINT NOT NULL COMMENT '项目ID', + env_id BIGINT NOT NULL COMMENT '环境ID', + workflow_id BIGINT COMMENT '工作流定义ID', + config TEXT COMMENT '环境配置(JSON)', + status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED/DISABLED', + + CONSTRAINT fk_env_project FOREIGN KEY (project_id) REFERENCES sys_project(id), + CONSTRAINT fk_env_environment FOREIGN KEY (env_id) REFERENCES sys_environment(id), + CONSTRAINT uk_project_env UNIQUE (tenant_id, project_id, env_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目环境配置表'; +``` + +### 2.3 工作流相关表 ```sql -- 工作流定义表 -CREATE TABLE workflow_definition ( - id BIGINT PRIMARY KEY, - code VARCHAR(50) NOT NULL UNIQUE, - name VARCHAR(100) NOT NULL, - description TEXT, - version INT NOT NULL, - status VARCHAR(20) NOT NULL, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - create_by VARCHAR(50) NOT NULL, - update_by VARCHAR(50) NOT NULL -); +CREATE TABLE sys_workflow_definition ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + code VARCHAR(50) NOT NULL COMMENT '工作流编码', + name VARCHAR(100) NOT NULL COMMENT '工作流名称', + description TEXT COMMENT '描述', + content TEXT NOT NULL COMMENT '工作流定义(JSON)', + type VARCHAR(20) NOT NULL COMMENT '类型:DEPLOY/CONFIG_SYNC', + status VARCHAR(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态:DRAFT/PUBLISHED/DISABLED', + + CONSTRAINT uk_workflow_code UNIQUE (tenant_id, code) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作流定义表'; --- 节点定义表 -CREATE TABLE node_definition ( - id BIGINT PRIMARY KEY, - workflow_id BIGINT NOT NULL, - node_type VARCHAR(50) NOT NULL, - name VARCHAR(100) NOT NULL, - description TEXT, - parameters TEXT, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - FOREIGN KEY (workflow_id) REFERENCES workflow_definition(id) -); - --- 节点连接表 -CREATE TABLE node_connection ( - id BIGINT PRIMARY KEY, - workflow_id BIGINT NOT NULL, - source_node_id BIGINT NOT NULL, - target_node_id BIGINT NOT NULL, - condition_expr TEXT, - create_time TIMESTAMP NOT NULL, - FOREIGN KEY (workflow_id) REFERENCES workflow_definition(id), - FOREIGN KEY (source_node_id) REFERENCES node_definition(id), - FOREIGN KEY (target_node_id) REFERENCES node_definition(id) -); -``` - -#### 3.1.2 工作流实例相关表 -```sql -- 工作流实例表 -CREATE TABLE workflow_instance ( - id BIGINT PRIMARY KEY, - workflow_id BIGINT NOT NULL, - status VARCHAR(20) NOT NULL, - start_time TIMESTAMP NOT NULL, - end_time TIMESTAMP, - variables TEXT, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - FOREIGN KEY (workflow_id) REFERENCES workflow_definition(id) -); +CREATE TABLE sys_workflow_instance ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + definition_id BIGINT NOT NULL COMMENT '工作流定义ID', + project_env_id BIGINT NOT NULL COMMENT '项目环境ID', + status VARCHAR(20) NOT NULL COMMENT '状态:RUNNING/COMPLETED/FAILED/CANCELED', + start_time DATETIME NOT NULL COMMENT '开始时间', + end_time DATETIME COMMENT '结束时间', + variables TEXT COMMENT '工作流变量(JSON)', + error TEXT COMMENT '错误信息', + + CONSTRAINT fk_instance_definition FOREIGN KEY (definition_id) REFERENCES sys_workflow_definition(id), + CONSTRAINT fk_instance_project_env FOREIGN KEY (project_env_id) REFERENCES sys_project_env(id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作流实例表'; -- 节点实例表 -CREATE TABLE node_instance ( - id BIGINT PRIMARY KEY, - workflow_instance_id BIGINT NOT NULL, - node_id BIGINT NOT NULL, - status VARCHAR(20) NOT NULL, - start_time TIMESTAMP NOT NULL, - end_time TIMESTAMP, - inputs TEXT, - outputs TEXT, - error_message TEXT, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - FOREIGN KEY (workflow_instance_id) REFERENCES workflow_instance(id), - FOREIGN KEY (node_id) REFERENCES node_definition(id) -); - --- 节点日志表 -CREATE TABLE node_log ( - id BIGINT PRIMARY KEY, - node_instance_id BIGINT NOT NULL, - level VARCHAR(10) NOT NULL, - content TEXT NOT NULL, - create_time TIMESTAMP NOT NULL, - FOREIGN KEY (node_instance_id) REFERENCES node_instance(id) -); +CREATE TABLE sys_node_instance ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + workflow_instance_id BIGINT NOT NULL COMMENT '工作流实例ID', + node_id VARCHAR(50) NOT NULL COMMENT '节点ID', + node_type VARCHAR(50) NOT NULL COMMENT '节点类型', + name VARCHAR(100) NOT NULL COMMENT '节点名称', + status VARCHAR(20) NOT NULL COMMENT '状态:PENDING/RUNNING/COMPLETED/FAILED/CANCELED', + start_time DATETIME COMMENT '开始时间', + end_time DATETIME COMMENT '结束时间', + input TEXT COMMENT '输入参数(JSON)', + output TEXT COMMENT '输出结果(JSON)', + error TEXT COMMENT '错误信息', + + CONSTRAINT fk_node_workflow_instance FOREIGN KEY (workflow_instance_id) REFERENCES sys_workflow_instance(id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='节点实例表'; ``` -#### 3.1.3 表单相关表 +### 2.4 审批相关表 ```sql --- 表单定义表 -CREATE TABLE form_definition ( - id BIGINT PRIMARY KEY, - code VARCHAR(50) NOT NULL UNIQUE, - name VARCHAR(100) NOT NULL, - description TEXT, - schema TEXT NOT NULL, - ui_schema TEXT, - validation_rules TEXT, - workflow_definition_id BIGINT, - version INT NOT NULL, - status VARCHAR(20) NOT NULL, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - create_by VARCHAR(50) NOT NULL, - update_by VARCHAR(50) NOT NULL -); +-- 审批流程定义表 +CREATE TABLE sys_approval_flow ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + code VARCHAR(50) NOT NULL COMMENT '流程编码', + name VARCHAR(100) NOT NULL COMMENT '流程名称', + description TEXT COMMENT '描述', + type VARCHAR(20) NOT NULL COMMENT '流程类型:DEPLOY/LEAVE/NACOS_CONFIG', + content TEXT NOT NULL COMMENT '流程定义(JSON)', + status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED/DISABLED', + + CONSTRAINT uk_flow_code UNIQUE (tenant_id, code) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审批流程定义表'; --- 表单实例表 -CREATE TABLE form_instance ( - id BIGINT PRIMARY KEY, - form_definition_id BIGINT NOT NULL, - form_data TEXT NOT NULL, - workflow_instance_id BIGINT, - submitter_id BIGINT NOT NULL, - submit_time TIMESTAMP NOT NULL, - status VARCHAR(20) NOT NULL, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - FOREIGN KEY (form_definition_id) REFERENCES form_definition(id) -); -``` +-- 审批任务表 +CREATE TABLE sys_approval_task ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + flow_id BIGINT NOT NULL COMMENT '流程定义ID', + node_id BIGINT NOT NULL COMMENT '当前节点ID', + title VARCHAR(200) NOT NULL COMMENT '审批标题', + status VARCHAR(20) NOT NULL COMMENT '状态:PENDING/APPROVED/REJECTED/CANCELED', + start_time DATETIME NOT NULL COMMENT '开始时间', + end_time DATETIME COMMENT '结束时间', + variables TEXT COMMENT '审批变量(JSON)', + + CONSTRAINT fk_task_flow FOREIGN KEY (flow_id) REFERENCES sys_approval_flow(id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审批任务表'; -#### 3.1.4 审批相关表 -```sql -- 审批记录表 -CREATE TABLE approval_record ( - id BIGINT PRIMARY KEY, - workflow_instance_id BIGINT NOT NULL, - node_instance_id BIGINT NOT NULL, - approver_id BIGINT NOT NULL, - approval_time TIMESTAMP NOT NULL, - result VARCHAR(20) NOT NULL, - comment TEXT, - attachments TEXT, - create_time TIMESTAMP NOT NULL -); - --- 审批配置表 -CREATE TABLE approval_config ( - id BIGINT PRIMARY KEY, - node_definition_id BIGINT NOT NULL, - approval_type VARCHAR(20) NOT NULL, - approver_ids TEXT, - role_ids TEXT, - department_ids TEXT, - approval_mode VARCHAR(20) NOT NULL, - timeout_hours INT, - reminder_enabled BOOLEAN DEFAULT FALSE, - reminder_interval INT, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - FOREIGN KEY (node_definition_id) REFERENCES node_definition(id) -); +CREATE TABLE sys_approval_record ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', + create_by VARCHAR(255) NULL COMMENT '创建人', + create_time DATETIME(6) NULL COMMENT '创建时间', + deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除', + update_by VARCHAR(255) NULL COMMENT '更新人', + update_time DATETIME(6) NULL COMMENT '更新时间', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', + tenant_id BIGINT NOT NULL COMMENT '租户ID', + + task_id BIGINT NOT NULL COMMENT '审批任务ID', + node_id BIGINT NOT NULL COMMENT '审批节点ID', + approver VARCHAR(100) NOT NULL COMMENT '审批人', + action VARCHAR(20) NOT NULL COMMENT '操作:APPROVE/REJECT', + comment TEXT COMMENT '审批意见', + + CONSTRAINT fk_record_task FOREIGN KEY (task_id) REFERENCES sys_approval_task(id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审批记录表'; ``` -#### 3.1.5 插件相关表 -```sql --- 插件信息表 -CREATE TABLE plugin_info ( - id BIGINT PRIMARY KEY, - code VARCHAR(50) NOT NULL UNIQUE, - name VARCHAR(100) NOT NULL, - description TEXT, - version VARCHAR(20) NOT NULL, - status VARCHAR(20) NOT NULL, - jar_path VARCHAR(200), - config_schema TEXT, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL -); +## 三、API接口设计 --- 插件配置表 -CREATE TABLE plugin_config ( - id BIGINT PRIMARY KEY, - plugin_id BIGINT NOT NULL, - config TEXT NOT NULL, - status VARCHAR(20) NOT NULL, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - FOREIGN KEY (plugin_id) REFERENCES plugin_info(id) -); +### 3.1 项目管理接口 + +#### 3.1.1 项目集管理 +```yaml +/api/v1/project-group: + post: + summary: 创建项目集 + description: | + 创建新的项目集,需要提供以下信息: + 1. 项目集基本信息(编码、名称、描述) + 2. Git仓库信息 + 3. Jenkins配置(可选) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectGroupDTO' + responses: + 200: + description: 成功创建项目集 + content: + application/json: + schema: + $ref: '#/components/schemas/Response' + + get: + summary: 查询项目集列表 + description: | + 支持以下查询条件: + 1. 名称模糊搜索 + 2. 状态过滤 + 3. 分页参数 + parameters: + - name: name + in: query + description: 项目集名称 + schema: + type: string + - name: status + in: query + description: 状态 + schema: + type: string + enum: [ENABLED, DISABLED] + responses: + 200: + description: 项目集列表 + content: + application/json: + schema: + $ref: '#/components/schemas/PageResponse' ``` -### 3.2 核心接口设计 - -#### 3.2.1 工作流引擎接口 -```java -/** - * 工作流引擎接口 - */ -public interface WorkflowEngine { - /** - * 启动工作流 - */ - WorkflowInstance startWorkflow(String workflowId, Map params); - - /** - * 暂停工作流 - */ - void pauseWorkflow(String instanceId); - - /** - * 恢复工作流 - */ - void resumeWorkflow(String instanceId); - - /** - * 终止工作流 - */ - void terminateWorkflow(String instanceId, String reason); - - /** - * 获取工作流状态 - */ - WorkflowStatus getWorkflowStatus(String instanceId); -} +#### 3.1.2 项目管理 +```yaml +/api/v1/project: + post: + summary: 创建项目 + description: | + 创建新项目,需要提供: + 1. 项目基本信息 + 2. 所属项目集 + 3. Git仓库信息 + 4. 构建配置 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProjectDTO' + responses: + 200: + description: 成功创建项目 + + get: + summary: 查询项目列表 + description: | + 支持条件: + 1. 项目集ID + 2. 名称搜索 + 3. 状态过滤 + parameters: + - name: groupId + in: query + required: true + schema: + type: integer + - name: name + in: query + schema: + type: string + responses: + 200: + description: 项目列表 ``` -#### 3.2.2 节点执行器接口 -```java -/** - * 节点执行器接口 - */ -public interface NodeExecutor { - /** - * 执行节点 - */ - NodeExecuteResult execute(NodeContext context); - - /** - * 取消执行 - */ - void cancel(NodeContext context); - - /** - * 获取执行状态 - */ - NodeStatus getStatus(NodeContext context); -} +### 3.2 工作流管理接口 + +#### 3.2.1 工作流设计 +```yaml +/api/v1/workflow/definition: + post: + summary: 创建工作流 + description: | + 创建工作流定义,支持: + 1. 节点配置 + 2. 连线规则 + 3. 变量定义 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowDefinitionDTO' + + get: + summary: 获取工作流定义 + description: | + 查询工作流定义,支持: + 1. 基本信息 + 2. 节点信息 + 3. 连线信息 + parameters: + - name: id + in: path + required: true + schema: + type: integer ``` -#### 3.2.3 插件接口 -```java -/** - * 插件接口 - */ -public interface WorkflowPlugin { - /** - * 获取插件信息 - */ - PluginInfo getPluginInfo(); - - /** - * 初始化插件 - */ - void init(PluginContext context); - - /** - * 获取节点执行器 - */ - NodeExecutor getNodeExecutor(); -} +#### 3.2.2 工作流执行 +```yaml +/api/v1/workflow/instance: + post: + summary: 启动工作流 + description: | + 启动工作流实例,需要: + 1. 工作流定义ID + 2. 项目环境ID + 3. 执行参数 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowStartDTO' + + get: + summary: 查询执行状态 + description: | + 查询工作流执行状态,包括: + 1. 整体状态 + 2. 节点状态 + 3. 执行日志 + parameters: + - name: id + in: path + required: true + schema: + type: integer ``` -### 3.3 前端组件设计 +## 四、前端集成指南 -#### 3.3.1 工作流设计器 +### 4.1 工作流设计器 + +#### 4.1.1 组件结构 ```typescript // 工作流设计器组件 const WorkflowDesigner: React.FC = () => { - const [nodes, setNodes] = useState([]); - const [connections, setConnections] = useState([]); - + // 1. 画布配置 + const graphConfig = { + container: 'workflow-container', + grid: true, + history: true, + connecting: { + snap: true, + allowBlank: false, + allowLoop: false, + highlight: true, + }, + }; + + // 2. 节点配置 + const nodeConfig = { + // Git同步节点 + gitSync: { + width: 120, + height: 60, + attrs: { + body: { + fill: '#E7F7FF', + stroke: '#1890FF', + }, + label: { + text: 'Git同步', + }, + }, + }, + // 其他节点配置... + }; + return (
- - - - + + +
+ + +
+
+ +
+
+ +
+ +
); }; ``` -#### 3.3.2 节点配置面板 +#### 4.1.2 节点配置 ```typescript -// 节点配置面板组件 -const NodeConfigPanel: React.FC = ({ node, onChange }) => { - return ( -
-
- - onChange({ ...node, name: e.target.value })} - /> - - - - onChange({ ...node, description: e.target.value })} - /> - - - onChange({ ...node, config })} - /> - -
- ); -}; -``` - -#### 3.3.3 表单设计器 -```typescript -// 表单设计器组件 -const FormDesigner: React.FC = () => { - const [formSchema, setFormSchema] = useState({}); - const [uiSchema, setUiSchema] = useState({}); +// 节点配置组件 +const NodeConfig: React.FC<{node: Node}> = ({ node }) => { + // 1. 动态加载配置组件 + const ConfigComponent = nodeConfigComponents[node.type]; + + // 2. 处理配置变更 + const handleConfigChange = (config: any) => { + // 更新节点配置 + node.updateConfig(config); + }; return ( -
-
- - -
- -
- { - setFormSchema(schema); - setUiSchema(ui); - }} +
+ +
+ ); +}; + +// Git同步节点配置 +const GitSyncConfig: React.FC<{value: any, onChange: (config: any) => void}> = ({ + value, + onChange, +}) => { + return ( +
+ + onChange({ ...value, branch: e.target.value })} /> -
- -
- - -
+ + + onChange({ ...value, localPath: e.target.value })} + /> + + + ); +}; +``` + +#### 4.1.3 日志查看 +```typescript +// 日志查看器组件 +const LogViewer: React.FC<{instance: WorkflowInstance}> = ({ instance }) => { + const [logs, setLogs] = useState([]); + + // 1. 建立WebSocket连接 + useEffect(() => { + const ws = new WebSocket(`ws://localhost:8080/api/logs/${instance.id}`); + + ws.onmessage = (event) => { + const log = JSON.parse(event.data); + setLogs(prev => [...prev, log]); + }; + + return () => ws.close(); + }, [instance]); + + // 2. 渲染日志 + return ( +
+ + + log.type === 'workflow')} /> + + + log.type === 'node')} /> + +
); }; ``` -## 四、部署架构 +### 4.2 状态管理 -### 4.1 系统部署架构 -``` - [负载均衡器 Nginx] - ↓ - [API网关 Spring Cloud Gateway] - ↓ - +----------------+----------------+----------------+ - ↓ ↓ ↓ ↓ -[工作流服务] [表单服务] [审批服务] [节点服务] - ↓ ↓ ↓ ↓ - [消息队列 RabbitMQ] - ↓ - [数据库 PostgreSQL] - ↓ - [缓存服务器 Redis] +#### 4.2.1 工作流状态 +```typescript +// 工作流状态管理 +const useWorkflowStore = create((set) => ({ + definitions: [], + instances: [], + + // 加载工作流定义 + loadDefinitions: async () => { + const response = await api.get('/api/v1/workflow/definition'); + set({ definitions: response.data }); + }, + + // 创建工作流实例 + createInstance: async (params) => { + const response = await api.post('/api/v1/workflow/instance', params); + set(state => ({ + instances: [...state.instances, response.data], + })); + }, + + // 更新实例状态 + updateInstanceStatus: (id, status) => { + set(state => ({ + instances: state.instances.map(instance => + instance.id === id + ? { ...instance, status } + : instance + ), + })); + }, +})); ``` -### 4.2 高可用方案 -1. 服务高可用 - - 服务多实例部署 - - 服务注册与发现 - - 负载均衡 - -2. 数据高可用 - - 数据库主从复制 - - 数据定期备份 - - 数据异地容灾 - -3. 消息高可用 - - 消息队列集群 - - 消息持久化 - - 消息重试机制 +#### 4.2.2 审批状态 +```typescript +// 审批状态管理 +const useApprovalStore = create((set) => ({ + tasks: [], + records: [], + + // 加载待办任务 + loadTasks: async () => { + const response = await api.get('/api/v1/approval/task'); + set({ tasks: response.data }); + }, + + // 审批通过 + approve: async (taskId, comment) => { + await api.post(`/api/v1/approval/task/${taskId}/approve`, { comment }); + set(state => ({ + tasks: state.tasks.filter(task => task.id !== taskId), + })); + }, + + // 审批拒绝 + reject: async (taskId, comment) => { + await api.post(`/api/v1/approval/task/${taskId}/reject`, { comment }); + set(state => ({ + tasks: state.tasks.filter(task => task.id !== taskId), + })); + }, +})); +``` -## 五、安全方案 +## 五、部署指南 -### 5.1 认证授权 -1. 用户认证 - - JWT Token认证 - - OAuth2.0集成 - - 单点登录支持 - -2. 权限控制 - - RBAC权限模型 - - 数据权限控制 - - API权限控制 +### 5.1 环境要求 +1. Java 21 +2. MySQL 8.0 +3. Redis 7.x +4. Node.js 18+ -### 5.2 数据安全 -1. 传输安全 - - HTTPS加密 - - 数据加密传输 - - 防重放攻击 - -2. 存储安全 - - 敏感数据加密 - - 数据脱敏 - - 数据备份 +### 5.2 配置说明 +```yaml +# application.yml +spring: + datasource: + url: jdbc:mysql://localhost:3306/deploy_ease + username: root + password: root + + redis: + host: localhost + port: 6379 + + rabbitmq: + host: localhost + port: 5672 + +workflow: + executor: + core-pool-size: 10 + max-pool-size: 20 + queue-capacity: 100 + + node: + timeout: 3600 # 节点执行超时时间(秒) + retry: + max-attempts: 3 + delay: 5000 +``` -## 六、监控运维 +### 5.3 部署步骤 +1. 数据库初始化 + ```bash + mysql -u root -p deploy_ease < schema.sql + mysql -u root -p deploy_ease < data.sql + ``` -### 6.1 系统监控 -1. 性能监控 +2. 后端部署 + ```bash + mvn clean package + java -jar deploy-ease.jar + ``` + +3. 前端部署 + ```bash + npm install + npm run build + ``` + +### 5.4 监控配置 +1. Prometheus监控 + ```yaml + scrape_configs: + - job_name: 'deploy-ease' + metrics_path: '/actuator/prometheus' + static_configs: + - targets: ['localhost:8080'] + ``` + +2. Grafana面板 - JVM监控 - - 数据库监控 - - 接口性能监控 - -2. 业务监控 - - 工作流执行监控 - - 节点执行监控 - - 审批流程监控 + - 接口监控 + - 业务监控 -### 6.2 日志管理 -1. 日志收集 - - 系统日志 - - 业务日志 - - 审计日志 - -2. 日志分析 - - ELK日志分析 - - 日志告警 - - 日志存档 +# 系统优化实现 -## 七、后续规划 +## 一、工作流引擎优化 -### 7.1 功能扩展 -1. 更多节点类型支持 -2. 工作流模板市场 -3. 移动端支持 -4. 多语言支持 - -### 7.2 性能优化 -1. 大规模工作流优化 -2. 复杂表单性能优化 -3. 查询性能优化 - -### 7.3 运维能力 -1. 自动化部署 -2. 容器化管理 -3. 监控告警 -4. 智能运维 - -## 八、数据源管理 - -### 8.1 数据源设计 -```sql --- 数据源定义表 -CREATE TABLE datasource_definition ( - id BIGINT PRIMARY KEY, - code VARCHAR(50) NOT NULL UNIQUE, - name VARCHAR(100) NOT NULL, - description TEXT, - type VARCHAR(20) NOT NULL, -- 数据源类型:MYSQL/POSTGRESQL/ORACLE/MONGODB等 - config TEXT NOT NULL, -- 加密存储的连接配置 - status VARCHAR(20) NOT NULL, - create_time TIMESTAMP NOT NULL, - update_time TIMESTAMP NOT NULL, - create_by VARCHAR(50) NOT NULL, - update_by VARCHAR(50) NOT NULL -); - --- 数据源授权表 -CREATE TABLE datasource_authorization ( - id BIGINT PRIMARY KEY, - datasource_id BIGINT NOT NULL, - node_definition_id BIGINT NOT NULL, - permission_type VARCHAR(20) NOT NULL, -- READ/WRITE/ALL - valid_from TIMESTAMP NOT NULL, - valid_until TIMESTAMP, - approved_by VARCHAR(50) NOT NULL, - approved_time TIMESTAMP NOT NULL, - status VARCHAR(20) NOT NULL, - create_time TIMESTAMP NOT NULL, - FOREIGN KEY (datasource_id) REFERENCES datasource_definition(id), - FOREIGN KEY (node_definition_id) REFERENCES node_definition(id) -); - --- 数据源操作审计表 -CREATE TABLE datasource_audit_log ( - id BIGINT PRIMARY KEY, - datasource_id BIGINT NOT NULL, - node_instance_id BIGINT NOT NULL, - operation_type VARCHAR(20) NOT NULL, -- SELECT/INSERT/UPDATE/DELETE - sql_statement TEXT, - affected_rows INT, - execution_time BIGINT, -- 毫秒 - status VARCHAR(20) NOT NULL, - error_message TEXT, - create_time TIMESTAMP NOT NULL, - FOREIGN KEY (datasource_id) REFERENCES datasource_definition(id), - FOREIGN KEY (node_instance_id) REFERENCES node_instance(id) -); -``` - -### 8.2 数据源管理核心接口 +### 1.1 增强的工作流引擎接口 ```java /** - * 数据源管理接口 + * 增强的工作流引擎接口 */ -public interface DataSourceManager { - /** - * 获取节点可用的数据源列表 - */ - List getAvailableDataSources(String nodeDefinitionId); +public interface WorkflowEngine { + // 基础功能 + WorkflowInstance startWorkflow(String code, Map params); + void pauseWorkflow(Long instanceId); + void resumeWorkflow(Long instanceId); + void terminateWorkflow(Long instanceId, String reason); - /** - * 验证节点是否有数据源的操作权限 - */ - boolean validatePermission(String nodeInstanceId, String datasourceId, OperationType operationType); + // 批量操作支持 + List batchStartWorkflow(List requests); - /** - * 获取数据源连接 - */ - Connection getConnection(String nodeInstanceId, String datasourceId); + // 定时执行支持 + WorkflowInstance scheduleWorkflow(String code, Map params, LocalDateTime executeTime); - /** - * 记录数据源操作审计 - */ - void auditOperation(DataSourceAuditLog auditLog); + // 条件触发支持 + void registerTrigger(WorkflowTrigger trigger); + + // 子流程支持 + WorkflowInstance startSubWorkflow(Long parentInstanceId, String code, Map params); } /** - * 数据源操作包装器 + * 工作流触发器 */ -public class DataSourceWrapper implements AutoCloseable { - private final Connection connection; - private final DataSourceAuditLogger auditLogger; - - public ResultSet executeQuery(String sql, Object... params) { - try { - long startTime = System.currentTimeMillis(); - ResultSet rs = executeQueryInternal(sql, params); - auditLogger.logQuery(sql, System.currentTimeMillis() - startTime); - return rs; - } catch (SQLException e) { - auditLogger.logError(sql, e); - throw new DataSourceException("Query execution failed", e); - } - } - - public int executeUpdate(String sql, Object... params) { - try { - long startTime = System.currentTimeMillis(); - int affected = executeUpdateInternal(sql, params); - auditLogger.logUpdate(sql, affected, System.currentTimeMillis() - startTime); - return affected; - } catch (SQLException e) { - auditLogger.logError(sql, e); - throw new DataSourceException("Update execution failed", e); - } - } +public interface WorkflowTrigger { + String getCode(); + boolean shouldTrigger(TriggerContext context); + Map prepareParams(TriggerContext context); } ``` -## 九、插件实现示例 - -### 9.1 Git操作插件 +### 1.2 工作流执行优化 ```java /** - * Git插件实现 + * 优化的工作流执行器 */ -@Plugin( - id = "git-plugin", - name = "Git Plugin", - version = "1.0.0", - description = "Git operations plugin" -) -public class GitPlugin implements WorkflowPlugin { - private PluginContext context; - - @Override - public void init(PluginContext context) { - this.context = context; - } - - @Override - public NodeExecutor getNodeExecutor() { - return new GitNodeExecutor(); - } - - /** - * Git节点执行器 - */ - public class GitNodeExecutor implements NodeExecutor { - @Override - public NodeExecuteResult execute(NodeContext context) { - try { - // 获取参数 - String repoUrl = context.getInput("repoUrl"); - String branch = context.getInput("branch"); - String targetPath = context.getInput("targetPath"); - - // 执行Git克隆 - context.getLogger().info("开始克隆代码: {}", repoUrl); - Git.cloneRepository() - .setURI(repoUrl) - .setBranch(branch) - .setDirectory(new File(targetPath)) - .call(); - - // 设置输出 - Map outputs = new HashMap<>(); - outputs.put("clonePath", targetPath); - - return NodeExecuteResult.success(outputs); - } catch (Exception e) { - return NodeExecuteResult.failure(e.getMessage()); - } - } - - @Override - public void cancel(NodeContext context) { - // 实现取消逻辑 - } - - @Override - public NodeStatus getStatus(NodeContext context) { - // 实现状态查询逻辑 - return NodeStatus.RUNNING; - } - } -} -``` - -### 9.2 Maven构建插件 -```java -/** - * Maven插件实现 - */ -@Plugin( - id = "maven-plugin", - name = "Maven Plugin", - version = "1.0.0", - description = "Maven build plugin" -) -public class MavenPlugin implements WorkflowPlugin { - private PluginContext context; - - @Override - public void init(PluginContext context) { - this.context = context; - } - - @Override - public NodeExecutor getNodeExecutor() { - return new MavenNodeExecutor(); - } - - /** - * Maven节点执行器 - */ - public class MavenNodeExecutor implements NodeExecutor { - @Override - public NodeExecuteResult execute(NodeContext context) { - try { - String projectPath = context.getInput("projectPath"); - String goals = context.getInput("goals", "clean package"); - String profile = context.getInput("profile"); - - context.getLogger().info("开始Maven构建: {}", projectPath); - - // 创建Maven请求 - InvocationRequest request = new DefaultInvocationRequest(); - request.setPomFile(new File(projectPath + "/pom.xml")); - request.setGoals(Arrays.asList(goals.split(" "))); - - if (StringUtils.isNotBlank(profile)) { - request.setProfiles(Collections.singletonList(profile)); - } - - // 执行Maven构建 - Invoker invoker = new DefaultInvoker(); - InvocationResult result = invoker.execute(request); - - if (result.getExitCode() != 0) { - return NodeExecuteResult.failure("Maven构建失败"); - } - - // 设置输出 - Map outputs = new HashMap<>(); - outputs.put("buildResult", result.getExitCode()); - outputs.put("targetDir", projectPath + "/target"); - - return NodeExecuteResult.success(outputs); - } catch (Exception e) { - return NodeExecuteResult.failure(e.getMessage()); - } - } - } -} -``` - -### 9.3 Docker构建插件 -```java -/** - * Docker插件实现 - */ -@Plugin( - id = "docker-plugin", - name = "Docker Plugin", - version = "1.0.0", - description = "Docker operations plugin" -) -public class DockerPlugin implements WorkflowPlugin { - private DockerClient dockerClient; - - @Override - public void init(PluginContext context) { - // 初始化Docker客户端 - this.dockerClient = DockerClientBuilder.getInstance() - .withDockerHost(context.getConfig("dockerHost")) - .withRegistryUsername(context.getConfig("registryUsername")) - .withRegistryPassword(context.getConfig("registryPassword")) - .build(); - } - - @Override - public NodeExecutor getNodeExecutor() { - return new DockerNodeExecutor(dockerClient); - } - - /** - * Docker节点执行器 - */ - public class DockerNodeExecutor implements NodeExecutor { - private final DockerClient dockerClient; - - public DockerNodeExecutor(DockerClient dockerClient) { - this.dockerClient = dockerClient; - } - - @Override - public NodeExecuteResult execute(NodeContext context) { - try { - String dockerfile = context.getInput("dockerfile"); - String imageName = context.getInput("imageName"); - String imageTag = context.getInput("imageTag"); - - context.getLogger().info("开始构建Docker镜像: {}:{}", imageName, imageTag); - - // 构建镜像 - String imageId = dockerClient.buildImageCmd() - .withDockerfile(new File(dockerfile)) - .withTag(imageName + ":" + imageTag) - .start() - .awaitImageId(); - - // 推送镜像 - dockerClient.pushImageCmd(imageName) - .withTag(imageTag) - .start() - .awaitCompletion(); - - // 设置输出 - Map outputs = new HashMap<>(); - outputs.put("imageId", imageId); - outputs.put("imageName", imageName); - outputs.put("imageTag", imageTag); - - return NodeExecuteResult.success(outputs); - } catch (Exception e) { - return NodeExecuteResult.failure(e.getMessage()); - } - } - } -} -``` - -### 9.4 Kubernetes部署插件 -```java -/** - * Kubernetes插件实现 - */ -@Plugin( - id = "kubernetes-plugin", - name = "Kubernetes Plugin", - version = "1.0.0", - description = "Kubernetes deployment plugin" -) -public class KubernetesPlugin implements WorkflowPlugin { - private KubernetesClient k8sClient; - - @Override - public void init(PluginContext context) { - // 初始化K8s客户端 - Config config = new ConfigBuilder() - .withMasterUrl(context.getConfig("masterUrl")) - .withOauthToken(context.getConfig("token")) - .build(); - - this.k8sClient = new DefaultKubernetesClient(config); - } - - @Override - public NodeExecutor getNodeExecutor() { - return new KubernetesNodeExecutor(k8sClient); - } - - /** - * Kubernetes节点执行器 - */ - public class KubernetesNodeExecutor implements NodeExecutor { - private final KubernetesClient k8sClient; - - public KubernetesNodeExecutor(KubernetesClient k8sClient) { - this.k8sClient = k8sClient; - } - - @Override - public NodeExecuteResult execute(NodeContext context) { - try { - String namespace = context.getInput("namespace"); - String deploymentFile = context.getInput("deploymentFile"); - - context.getLogger().info("开始部署到Kubernetes: {}", namespace); - - // 读取部署文件 - InputStream deploymentYaml = new FileInputStream(deploymentFile); - - // 创建或更新部署 - k8sClient.load(deploymentYaml) - .inNamespace(namespace) - .createOrReplace(); - - // 等待部署完成 - k8sClient.apps().deployments() - .inNamespace(namespace) - .withName(getDeploymentName(deploymentFile)) - .waitUntilReady(5, TimeUnit.MINUTES); - - // 设置输出 - Map outputs = new HashMap<>(); - outputs.put("namespace", namespace); - outputs.put("status", "deployed"); - - return NodeExecuteResult.success(outputs); - } catch (Exception e) { - return NodeExecuteResult.failure(e.getMessage()); - } - } - - private String getDeploymentName(String deploymentFile) { - // 从YAML文件中解析部署名称 - return "deployment-name"; - } - } -} -``` - -### 9.5 插件配置示例 -```properties -# Git插件配置 -plugin.id=git-plugin -plugin.name=Git Plugin -plugin.version=1.0.0 -plugin.main=com.example.plugin.git.GitPlugin -plugin.description=Git operations plugin -plugin.author=Your Name -plugin.requires=core>=1.0.0 - -# Maven插件配置 -plugin.id=maven-plugin -plugin.name=Maven Plugin -plugin.version=1.0.0 -plugin.main=com.example.plugin.maven.MavenPlugin -plugin.description=Maven build plugin -plugin.author=Your Name -plugin.requires=core>=1.0.0 - -# Docker插件配置 -plugin.id=docker-plugin -plugin.name=Docker Plugin -plugin.version=1.0.0 -plugin.main=com.example.plugin.docker.DockerPlugin -plugin.description=Docker operations plugin -plugin.author=Your Name -plugin.requires=core>=1.0.0 - -# Kubernetes插件配置 -plugin.id=kubernetes-plugin -plugin.name=Kubernetes Plugin -plugin.version=1.0.0 -plugin.main=com.example.plugin.kubernetes.KubernetesPlugin -plugin.description=Kubernetes deployment plugin -plugin.author=Your Name -plugin.requires=core>=1.0.0 -``` - -### 9.6 插件使用示例 -```java -// 获取插件实例 -GitPlugin gitPlugin = pluginManager.getPlugin("git-plugin"); -NodeExecutor gitExecutor = gitPlugin.getNodeExecutor(); - -// 准备节点上下文 -NodeContext context = NodeContext.builder() - .input("repoUrl", "https://github.com/example/repo.git") - .input("branch", "main") - .input("targetPath", "/workspace/code") - .build(); - -// 执行节点 -NodeExecuteResult result = gitExecutor.execute(context); - -if (result.isSuccess()) { - String clonePath = result.getOutput("clonePath"); - // 处理成功逻辑 -} else { - String errorMessage = result.getErrorMessage(); - // 处理失败逻辑 -} -``` - -这些插件实现示例展示了如何: -1. 实现基本的插件接口 -2. 处理插件配置和初始化 -3. 实现节点执行逻辑 -4. 处理执行结果和错误 -5. 提供插件使用示例 - -您可以基于这些示例快速开发新的插件。需要注意的是: -1. 每个插件都应该有清晰的职责 -2. 做好错误处理和日志记录 -3. 提供完整的配置说明 -4. 注意资源的释放和清理 -5. 考虑并发和性能问题 - -您觉得这些插件示例是否满足需求?我们可以根据您的��体需求进行调整或添加更多示例。 - -## 十、节点执行日志功能 - -### 10.1 日志模型设计 -```sql --- 节点执行日志表(分区表) -CREATE TABLE node_execution_log ( - id BIGINT PRIMARY KEY, - workflow_instance_id BIGINT NOT NULL, - node_instance_id BIGINT NOT NULL, - log_type VARCHAR(20) NOT NULL, -- INFO/ERROR/COMMAND/OUTPUT - content TEXT NOT NULL, - log_time TIMESTAMP NOT NULL, - sequence_no BIGINT NOT NULL, -- 日志序号,保证顺序 - create_time TIMESTAMP NOT NULL, - INDEX idx_node_seq (node_instance_id, sequence_no) -- 优化查询性能 -) PARTITION BY RANGE (create_time); - --- 创建最近一个月的分区 -CREATE TABLE node_execution_log_current PARTITION OF node_execution_log - FOR VALUES FROM ('2024-01-01') TO ('2024-02-01'); -``` - -### 10.2 日志查询接口 -```java -@RestController -@RequestMapping("/api/v1/workflow/node") -@Tag(name = "节点日志", description = "节点执行日志相关接口") -public class NodeLogController { - - @Resource - private NodeLogService nodeLogService; - - /** - * 分页查询日志 - */ - @GetMapping("/{nodeInstanceId}/logs") - @Operation(summary = "分页查询节点日志") - public PageResponse queryLogs( - @PathVariable Long nodeInstanceId, - @RequestParam(required = false) Long lastSequenceNo, - @RequestParam(defaultValue = "100") Integer pageSize) { - return nodeLogService.queryLogs(nodeInstanceId, lastSequenceNo, pageSize); - } - - /** - * 导出日志 - */ - @GetMapping("/{nodeInstanceId}/logs/export") - @Operation(summary = "导出节点日志") - public void exportLogs( - @PathVariable Long nodeInstanceId, - HttpServletResponse response) { - nodeLogService.exportLogs(nodeInstanceId, response); - } -} - @Service @Slf4j -public class NodeLogService { +public class OptimizedWorkflowExecutor { + private final ExecutorService executorService; + private final WorkflowEventBus eventBus; + private final RetryTemplate retryTemplate; - @Resource - private NodeLogRepository nodeLogRepository; + @Async + public void executeWorkflow(WorkflowInstance instance) { + MDC.put("workflowInstanceId", instance.getId().toString()); + try { + // 1. 前置处理 + preProcess(instance); + + // 2. 并行执行支持 + if (instance.isParallelExecutionEnabled()) { + executeParallel(instance); + } else { + executeSequential(instance); + } + + // 3. 后置处理 + postProcess(instance); + + } catch (Exception e) { + handleError(instance, e); + } finally { + MDC.remove("workflowInstanceId"); + } + } - /** - * 分页查询日志 - * @param nodeInstanceId 节点实例ID - * @param lastSequenceNo 上次查询的最后序号(首次查询传null) - * @param pageSize 每页大小 - */ - public PageResponse queryLogs(Long nodeInstanceId, Long lastSequenceNo, Integer pageSize) { - // 首次查询 - if (lastSequenceNo == null) { - return nodeLogRepository.findFirstPage(nodeInstanceId, pageSize); + private void executeParallel(WorkflowInstance instance) { + List parallelNodes = instance.getParallelNodes(); + List> futures = new ArrayList<>(); + + // 提交并行任务 + for (NodeDefinition node : parallelNodes) { + futures.add(executorService.submit(() -> executeNode(instance, node))); } - // 增量查询 - return nodeLogRepository.findIncrementalLogs(nodeInstanceId, lastSequenceNo, pageSize); - } - - /** - * 写入日志 - */ - @Async - public void writeLog(NodeLogEvent event) { - try { - NodeLog log = NodeLog.builder() - .nodeInstanceId(event.getNodeInstanceId()) - .logType(event.getType()) - .content(event.getContent()) - .logTime(LocalDateTime.now()) - .sequenceNo(generateSequenceNo()) - .build(); - - nodeLogRepository.save(log); - } catch (Exception e) { - log.error("Failed to write log", e); + // 等待所有任务完成 + for (Future future : futures) { + try { + future.get(instance.getTimeout(), TimeUnit.SECONDS); + } catch (Exception e) { + handleParallelExecutionError(instance, e); + } } } - /** - * 导出日志 - */ - public void exportLogs(Long nodeInstanceId, HttpServletResponse response) { - response.setContentType("text/plain"); - response.setHeader("Content-Disposition", - "attachment; filename=node-" + nodeInstanceId + "-logs.txt"); - - try (PrintWriter writer = response.getWriter()) { - nodeLogRepository.streamAllLogs(nodeInstanceId, log -> { - writer.println(String.format("[%s] [%s] %s", - formatTime(log.getLogTime()), - log.getLogType(), - log.getContent())); - }); - } catch (IOException e) { - log.error("Failed to export logs", e); - throw new BusinessException("导出日志失败"); - } + private NodeExecuteResult executeNode(WorkflowInstance instance, NodeDefinition node) { + return retryTemplate.execute(context -> { + NodeExecutor executor = getExecutor(node); + return executor.execute(createContext(instance, node)); + }); } } ``` -### 10.3 日志记录器 +## 二、节点执行优化 + +### 2.1 增强的节点上下文 ```java /** - * 节点日志记录器 + * 增强的节点上下文 */ -public class NodeLogger { - private final Long nodeInstanceId; - private final NodeLogService logService; +public interface NodeContext { + // 基础功能 + String getNodeId(); + T getNodeConfig(Class clazz); + Map getVariables(); + NodeLogger getLogger(); - public void info(String message) { - writeLog(LogType.INFO, message); + // 数据传递 + void setVariable(String key, Object value); + void setTransientVariable(String key, Object value); + + // 条件判断 + boolean evaluateCondition(String expression); + + // 重试策略 + RetryStrategy getRetryStrategy(); + + // 超时控制 + Duration getTimeout(); + + // 回滚操作 + void registerRollback(Runnable rollback); +} + +/** + * 重试策略 + */ +@Data +@Builder +public class RetryStrategy { + private int maxAttempts; + private Duration initialDelay; + private Duration maxDelay; + private double multiplier; + private List> retryableExceptions; +} +``` + +### 2.2 节点执行器增强 +```java +/** + * 增强的节点执行器 + */ +public interface NodeExecutor { + String getType(); + NodeExecuteResult execute(NodeContext context); + void cancel(NodeContext context); + + // 新增方法 + boolean canExecute(NodeContext context); + void validate(NodeContext context); + void prepare(NodeContext context); + void cleanup(NodeContext context); +} + +/** + * 节点执行结果 + */ +@Data +@Builder +public class NodeExecuteResult { + private boolean success; + private Map output; + private String errorMessage; + private Throwable error; + private long executionTime; + private Map metrics; +} +``` + +## 三、事件系统优化 + +### 3.1 事件总线实现 +```java +/** + * 事件总线 + */ +@Component +@Slf4j +public class WorkflowEventBus { + private final Map> listeners = new ConcurrentHashMap<>(); + private final ExecutorService executorService; + + public void publish(WorkflowEvent event) { + String eventType = event.getType(); + List eventListeners = listeners.get(eventType); + + if (eventListeners != null) { + // 异步处理事件 + for (WorkflowEventListener listener : eventListeners) { + executorService.submit(() -> { + try { + listener.onEvent(event); + } catch (Exception e) { + log.error("Handle event failed", e); + } + }); + } + } } - public void error(String message) { - writeLog(LogType.ERROR, message); + public void subscribe(String eventType, WorkflowEventListener listener) { + listeners.computeIfAbsent(eventType, k -> new CopyOnWriteArrayList<>()) + .add(listener); } - public void command(String command) { - writeLog(LogType.COMMAND, command); + public void unsubscribe(String eventType, WorkflowEventListener listener) { + List eventListeners = listeners.get(eventType); + if (eventListeners != null) { + eventListeners.remove(listener); + } + } +} +``` + +### 3.2 事件处理器 +```java +/** + * 日志事件处理器 + */ +@Component +@Slf4j +public class LoggingEventHandler implements WorkflowEventListener { + + @Override + public void onEvent(WorkflowEvent event) { + switch (event.getType()) { + case "WORKFLOW_START": + logWorkflowStart(event); + break; + case "WORKFLOW_END": + logWorkflowEnd(event); + break; + case "NODE_START": + logNodeStart(event); + break; + case "NODE_END": + logNodeEnd(event); + break; + default: + log.debug("Unhandled event type: {}", event.getType()); + } } - public void output(String output) { - writeLog(LogType.OUTPUT, output); + private void logWorkflowStart(WorkflowEvent event) { + WorkflowInstance instance = (WorkflowInstance) event.getPayload().get("instance"); + log.info("Workflow started: {}, type: {}", instance.getId(), instance.getType()); + } +} + +/** + * 指标收集处理器 + */ +@Component +@Slf4j +public class MetricsEventHandler implements WorkflowEventListener { + private final MeterRegistry registry; + + @Override + public void onEvent(WorkflowEvent event) { + switch (event.getType()) { + case "WORKFLOW_END": + recordWorkflowMetrics(event); + break; + case "NODE_END": + recordNodeMetrics(event); + break; + } } - private void writeLog(LogType type, String content) { - NodeLogEvent event = NodeLogEvent.builder() - .nodeInstanceId(nodeInstanceId) - .type(type) - .content(content) - .build(); + private void recordWorkflowMetrics(WorkflowEvent event) { + WorkflowInstance instance = (WorkflowInstance) event.getPayload().get("instance"); + Timer.builder("workflow.execution") + .tag("type", instance.getType()) + .tag("status", instance.getStatus().name()) + .register(registry) + .record(Duration.between(instance.getStartTime(), instance.getEndTime())); + } +} +``` + +## 四、插件系统优化 + +### 4.1 插件生命周期 +```java +/** + * 插件生命周期管理 + */ +public interface PluginLifecycle { + void onLoad(PluginContext context); + void onEnable(); + void onDisable(); + void onUnload(); +} + +/** + * 插件热更新支持 + */ +@Component +@Slf4j +public class PluginHotLoader { + private final PluginLoader pluginLoader; + private final FileWatcher fileWatcher; + + public void watchPluginDirectory(Path directory) { + fileWatcher.watch(directory, event -> { + if (event.kind() == StandardWatchEventKinds.ENTRY_MODIFY) { + String jarPath = event.context().toString(); + reloadPlugin(jarPath); + } + }); + } + + private void reloadPlugin(String jarPath) { + try { + // 1. 卸载旧插件 + pluginLoader.unloadPlugin(jarPath); - logService.writeLog(event); + // 2. 加载新插件 + pluginLoader.loadPlugin(jarPath); + + log.info("Plugin reloaded: {}", jarPath); + } catch (Exception e) { + log.error("Reload plugin failed: {}", jarPath, e); + } } } ``` -### 10.4 前端日志组件 -```typescript -interface LogDTO { - id: number; - logType: 'INFO' | 'ERROR' | 'COMMAND' | 'OUTPUT'; - content: string; - logTime: string; - sequenceNo: number; -} - -const NodeLogViewer: React.FC<{ nodeInstanceId: string }> = ({ nodeInstanceId }) => { - const [logs, setLogs] = useState([]); - const [loading, setLoading] = useState(false); - const [error, setError] = useState(); - const [lastSequenceNo, setLastSequenceNo] = useState(); - const logEndRef = useRef(null); - - // 首次加载日志 - useEffect(() => { - loadLogs(); - }, [nodeInstanceId]); - - // 定时增量查询 - useEffect(() => { - const timer = setInterval(() => { - if (lastSequenceNo) { - loadIncrementalLogs(); - } - }, 2000); // 每2秒查询一次 +### 4.2 插件配置 +```java +/** + * 插件配置管理 + */ +@Component +@Slf4j +public class PluginConfigManager { + private final Map configs = new ConcurrentHashMap<>(); - return () => clearInterval(timer); - }, [lastSequenceNo]); - - // 加载首页日志 - const loadLogs = async () => { - try { - setLoading(true); - const res = await axios.get(`/api/v1/workflow/node/${nodeInstanceId}/logs`); - setLogs(res.data.records); - if (res.data.records.length > 0) { - setLastSequenceNo(res.data.records[res.data.records.length - 1].sequenceNo); - } - } catch (e) { - setError('加载日志失败'); - } finally { - setLoading(false); + @PostConstruct + public void init() { + // 加载插件配置 + loadConfigs(); + + // 监听配置变更 + watchConfigChanges(); } - }; - - // 增量加载日志 - const loadIncrementalLogs = async () => { - try { - const res = await axios.get(`/api/v1/workflow/node/${nodeInstanceId}/logs`, { - params: { lastSequenceNo } - }); - if (res.data.records.length > 0) { - setLogs(logs => [...logs, ...res.data.records]); - setLastSequenceNo(res.data.records[res.data.records.length - 1].sequenceNo); - // 滚动到最新 - logEndRef.current?.scrollIntoView({ behavior: 'smooth' }); - } - } catch (e) { - console.error('增量加载日志失败', e); + + public void updateConfig(String pluginId, PluginConfig config) { + configs.put(pluginId, config); + // 通知插件配置更新 + notifyConfigUpdate(pluginId, config); } - }; - - // 导出日志 - const handleExport = () => { - window.open(`/api/v1/workflow/node/${nodeInstanceId}/logs/export`); - }; - - return ( -
-
-
- {loading && } -
-
- - -
-
- -
- {logs.map((log, index) => ( -
- {formatTime(log.logTime)} - {log.logType} - {log.content} -
- ))} -
-
- - {error && ( - - )} -
- ); -}; + + private void notifyConfigUpdate(String pluginId, PluginConfig config) { + Plugin plugin = pluginLoader.getPlugin(pluginId); + if (plugin instanceof ConfigurablePlugin) { + ((ConfigurablePlugin) plugin).onConfigUpdate(config); + } + } +} ``` -### 10.5 性能优化措施 +## 五、监控增强 -1. **数据库优化** - - 使用分区表按时间分区 - - 建立复合索引(node_instance_id, sequence_no) - - 定期归档历史日志 - - 使用序列号进行增量查询 - -2. **查询优化** - - 分页限制大小 - - 增量查询而不是全量 - - 适当的轮询间隔(2秒) - - 异步写入日志 - -3. **前端优化** - - 虚拟滚动显示大量日志 - - 本地缓存已加载的日志 - - 按需加载历史日志 - - 智能调整轮询间隔 - -4. **系统优化** - - 日志异步写入 - - 批量写入优化 - - 定期清理过期日志 - - 监控慢查询 - -这个基于HTTP轮询的方案相比WebSocket有以下优势: - -1. **更简单可靠** - - 无需维护长连接 - - 服务端实现更简单 - - 更容易做负载均衡 - - 出错重试更容易 - -2. **更好的性能** - - 服务器资源占用更少 - - 更容易控制并发 - - 更好的伸缩性 - - 便于性能优化 - -3. **更好的兼容性** - - 支持更多的客户端 - - 穿透防火墙更容易 - - 不依赖特殊协议 - - 更容易调试 - -您觉得这个基于HTTP轮询的方案如何?我们可以根据实际需求调整轮询间隔和其他参��。 - -## 十一、工作流编排界面实现 - -[之前提供的完整代码内容] - -## 十二、数据库表设计 - -### 12.1 工作流定义表 -```sql -CREATE TABLE workflow_definition ( - id BIGINT PRIMARY KEY, -- 主键 - name VARCHAR(100) NOT NULL, -- 工作流名称 - code VARCHAR(50) NOT NULL, -- 工作流编码 - description TEXT, -- 描述 - status VARCHAR(20) NOT NULL, -- 状态:DRAFT/PUBLISHED/DISABLED - version INT NOT NULL DEFAULT 1, -- 版本号 - content TEXT NOT NULL, -- 工作流定义内容(JSON) - create_time DATETIME NOT NULL, -- 创建时间 - create_by VARCHAR(50) NOT NULL, -- 创建人 - update_time DATETIME NOT NULL, -- 更新时间 - update_by VARCHAR(50) NOT NULL, -- 更新人 - deleted BOOLEAN NOT NULL DEFAULT FALSE, -- 是否删除 - UNIQUE KEY uk_code_version (code, version) -); - -### 12.2 工作流实例表 -```sql -CREATE TABLE workflow_instance ( - id BIGINT PRIMARY KEY, -- 主键 - definition_id BIGINT NOT NULL, -- 工作流定义ID - name VARCHAR(100) NOT NULL, -- 实例名称 - status VARCHAR(20) NOT NULL, -- 状态:RUNNING/COMPLETED/FAILED/CANCELED - start_time DATETIME, -- 开始时间 - end_time DATETIME, -- 结束时间 - variables TEXT, -- 工作流变量(JSON) - create_time DATETIME NOT NULL, -- 创建时间 - create_by VARCHAR(50) NOT NULL, -- 创建人 - update_time DATETIME NOT NULL, -- 更新时间 - update_by VARCHAR(50) NOT NULL, -- 更新人 - version INT NOT NULL DEFAULT 1, -- 版本号 - deleted BOOLEAN NOT NULL DEFAULT FALSE, -- 是否删除 - FOREIGN KEY (definition_id) REFERENCES workflow_definition(id) -); - -### 12.3 节点实例表 -```sql -CREATE TABLE node_instance ( - id BIGINT PRIMARY KEY, -- 主键 - workflow_instance_id BIGINT NOT NULL, -- 工作流实例ID - node_id VARCHAR(50) NOT NULL, -- 节点ID - node_name VARCHAR(100) NOT NULL, -- 节点名称 - node_type VARCHAR(50) NOT NULL, -- 节点类型 - status VARCHAR(20) NOT NULL, -- 状态:PENDING/RUNNING/COMPLETED/FAILED/CANCELED - start_time DATETIME, -- 开始时间 - end_time DATETIME, -- 结束时间 - error TEXT, -- 错误信息 - result TEXT, -- 执行结果(JSON) - create_time DATETIME NOT NULL, -- 创建时间 - create_by VARCHAR(50) NOT NULL, -- 创建人 - update_time DATETIME NOT NULL, -- 更新时间 - update_by VARCHAR(50) NOT NULL, -- 更新人 - version INT NOT NULL DEFAULT 1, -- 版本号 - deleted BOOLEAN NOT NULL DEFAULT FALSE, -- 是否删除 - FOREIGN KEY (workflow_instance_id) REFERENCES workflow_instance(id) -); - -### 12.4 节点执行日志表 -```sql -CREATE TABLE node_execution_log ( - id BIGINT PRIMARY KEY, -- 主键 - workflow_instance_id BIGINT NOT NULL, -- 工作流实例ID - node_instance_id BIGINT NOT NULL, -- 节点实例ID - log_type VARCHAR(20) NOT NULL, -- 日志类型:INFO/ERROR/COMMAND/OUTPUT - content TEXT NOT NULL, -- 日志内容 - log_time DATETIME NOT NULL, -- 日志时间 - sequence_no BIGINT NOT NULL, -- 日志序号 - create_time DATETIME NOT NULL, -- 创建时间 - create_by VARCHAR(50) NOT NULL, -- 创建人 - update_time DATETIME NOT NULL, -- 更新时间 - update_by VARCHAR(50) NOT NULL, -- 更新人 - version INT NOT NULL DEFAULT 1, -- 版本号 - deleted BOOLEAN NOT NULL DEFAULT FALSE, -- 是否删除 - FOREIGN KEY (workflow_instance_id) REFERENCES workflow_instance(id), - FOREIGN KEY (node_instance_id) REFERENCES node_instance(id) -) PARTITION BY RANGE (UNIX_TIMESTAMP(create_time)); - --- 创建最近一个月的分区 -CREATE TABLE node_execution_log_current - PARTITION OF node_execution_log - FOR VALUES FROM ('2024-01-01') TO ('2024-02-01'); - -### 12.5 工作流变量表 -```sql -CREATE TABLE workflow_variable ( - id BIGINT PRIMARY KEY, -- 主键 - workflow_instance_id BIGINT NOT NULL, -- 工作流实例ID - name VARCHAR(100) NOT NULL, -- 变量名 - value TEXT, -- 变量值 - type VARCHAR(50) NOT NULL, -- 变量类型 - scope VARCHAR(20) NOT NULL, -- 作用域:GLOBAL/NODE - node_id VARCHAR(50), -- 节点ID(作用域为NODE时必填) - create_time DATETIME NOT NULL, -- 创建时间 - create_by VARCHAR(50) NOT NULL, -- 创建人 - update_time DATETIME NOT NULL, -- 更新时间 - update_by VARCHAR(50) NOT NULL, -- 更新人 - version INT NOT NULL DEFAULT 1, -- 版本号 - deleted BOOLEAN NOT NULL DEFAULT FALSE, -- 是否删除 - FOREIGN KEY (workflow_instance_id) REFERENCES workflow_instance(id) -); +### 5.1 性能监控 +```java +/** + * 性能监控 + */ +@Component +@Slf4j +public class PerformanceMonitor { + private final MeterRegistry registry; + + // 节点执行时间分布 + private final Timer nodeExecutionTimer; + + // 工作流执行时间分布 + private final Timer workflowExecutionTimer; + + // 资源使用情况 + private final Gauge threadPoolActiveThreads; + private final Gauge threadPoolQueueSize; + + // 业务指标 + private final Counter workflowSuccessCounter; + private final Counter workflowFailureCounter; + private final Counter nodeFailureCounter; + + public void recordNodeExecution(String nodeType, long duration) { + nodeExecutionTimer.record(duration, TimeUnit.MILLISECONDS, + Tags.of("nodeType", nodeType)); + } + + public void recordWorkflowExecution(String workflowType, long duration) { + workflowExecutionTimer.record(duration, TimeUnit.MILLISECONDS, + Tags.of("workflowType", workflowType)); + } +} ``` -主要更新内容: +### 5.2 健康检查 +```java +/** + * 健康检查 + */ +@Component +public class WorkflowHealthIndicator implements HealthIndicator { + private final WorkflowInstanceRepository instanceRepository; + private final NodeExecutorRegistry executorRegistry; + + @Override + public Health health() { + try { + // 检查运行中的实例数 + long runningInstances = instanceRepository.countByStatus(WorkflowStatus.RUNNING); + + // 检查执行器状态 + Map executorStatus = checkExecutors(); + + return Health.up() + .withDetail("runningInstances", runningInstances) + .withDetail("executorStatus", executorStatus) + .build(); + + } catch (Exception e) { + return Health.down() + .withException(e) + .build(); + } + } + + private Map checkExecutors() { + Map status = new HashMap<>(); + for (NodeExecutor executor : executorRegistry.getExecutors()) { + status.put(executor.getType(), checkExecutor(executor)); + } + return status; + } +} +``` -1. **统一基础字段** - - id:BIGINT PRIMARY KEY - - create_time:DATETIME NOT NULL - - create_by:VARCHAR(50) NOT NULL - - update_time:DATETIME NOT NULL - - update_by:VARCHAR(50) NOT NULL - - version:INT NOT NULL DEFAULT 1 - - deleted:BOOLEAN NOT NULL DEFAULT FALSE +### 5.3 告警配置 +```java +/** + * 告警配置 + */ +@Configuration +public class AlertConfig { + + @Bean + public AlertManager alertManager(MeterRegistry registry) { + return AlertManager.builder() + .addRule(AlertRule.builder() + .metric("workflow.failure.count") + .threshold(5) + .duration(Duration.ofMinutes(5)) + .action(this::sendAlert) + .build()) + .addRule(AlertRule.builder() + .metric("node.failure.count") + .threshold(10) + .duration(Duration.ofMinutes(5)) + .action(this::sendAlert) + .build()) + .build(); + } + + private void sendAlert(Alert alert) { + // 发送告警通知 + } +} +``` -2. **表关系** - - 使用外键关联 - - 添加必要的索引 - - 分区表支持 - -3. **字段规范** - - 统一命名风格 - - 添加字段注释 - - 明确字段类型和约束 - -4. **数据完整性** - - NOT NULL 约束 - - 唯一索引 - - 默认值 - -您觉得这个数据库设计是否更符合规范?我们可以根据具体需求进行调整。 \ No newline at end of file +[保留现有的其他内容...] \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/controller/MenuController.java b/backend/src/main/java/com/qqchen/deploy/backend/controller/MenuController.java deleted file mode 100644 index 308d5d4b..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/controller/MenuController.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.qqchen.deploy.backend.controller; - -import com.qqchen.deploy.backend.entity.Menu; -import com.qqchen.deploy.backend.framework.api.Response; -import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.model.MenuDTO; -import com.qqchen.deploy.backend.model.query.MenuQuery; -import com.qqchen.deploy.backend.model.response.MenuResponse; -import com.qqchen.deploy.backend.service.IMenuService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -@Slf4j -@RestController -@RequestMapping("/mgmt/menu") -@Tag(name = "菜单管理", description = "菜单管理相关接口") -public class MenuController extends BaseController { - - /** - * 获取菜单树 - */ - @Operation(summary = "获取菜单树") - @GetMapping("/tree") - public Response> getMenuTree() { - return Response.success(((IMenuService) service).getMenuTree()); - } - - /** - * 获取当前用户的菜单 - */ - @Operation(summary = "获取当前用户的菜单") - @GetMapping("/current") - public Response> getCurrentUserMenus() { - return Response.success(((IMenuService) service).getUserMenus()); - } - - @Override - protected void exportData(HttpServletResponse response, List data) { - - } -} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/controller/RoleController.java b/backend/src/main/java/com/qqchen/deploy/backend/controller/RoleController.java deleted file mode 100644 index d4bce932..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/controller/RoleController.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.qqchen.deploy.backend.controller; - -import com.qqchen.deploy.backend.framework.api.Response; -import com.qqchen.deploy.backend.service.IRoleService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@RequestMapping("/mgmt/role") -@Tag(name = "角色管理") -public class RoleController { - - @Autowired - private IRoleService roleService; - - @PostMapping("/{id}/roles") - @Operation(summary = "分配角色") - public Response assignRoles( - @Parameter(description = "用户ID", required = true) @PathVariable Long id, - @Parameter(description = "角色ID列表", required = true) @RequestBody List roleIds - ) { - roleService.assignRoles(id, roleIds); - return Response.success(); - } -} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/controller/TenantController.java b/backend/src/main/java/com/qqchen/deploy/backend/controller/TenantController.java deleted file mode 100644 index 6d7835c5..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/controller/TenantController.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.qqchen.deploy.backend.controller; - -import com.qqchen.deploy.backend.model.query.TenantQuery; -import com.qqchen.deploy.backend.entity.Tenant; -import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.model.TenantDTO; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.IOException; -import java.io.OutputStream; -import java.util.List; - -@RestController -@RequestMapping("/tenant") -public class TenantController extends BaseController { - - @Override - protected void exportData(HttpServletResponse response, List data) { - response.setContentType("application/vnd.ms-excel"); - response.setHeader("Content-Disposition", "attachment;filename=tenants.xlsx"); - - try (OutputStream out = response.getOutputStream()) { - // ExcelUtils.export(data, out); - } catch (IOException e) { - throw new RuntimeException("Export failed", e); - } - } -} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/controller/UserController.java b/backend/src/main/java/com/qqchen/deploy/backend/controller/UserController.java deleted file mode 100644 index a6e00993..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/controller/UserController.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.qqchen.deploy.backend.controller; - -import com.qqchen.deploy.backend.api.UserApiController; -import com.qqchen.deploy.backend.model.UserDTO; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -@RestController -@RequestMapping("/mgmt/user") -public class UserController extends UserApiController { - - @Override - protected void exportData(HttpServletResponse response, List data) { - - } -} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/framework/service/impl/BaseServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/framework/service/impl/BaseServiceImpl.java index 9f2caef7..de8ca68b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/framework/service/impl/BaseServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/framework/service/impl/BaseServiceImpl.java @@ -43,9 +43,6 @@ import jakarta.persistence.PersistenceContext; import java.io.Serializable; import java.lang.reflect.Field; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.BeanFactory; -import org.springframework.beans.factory.BeanFactoryAware; import com.qqchen.deploy.backend.framework.annotation.ServiceType; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IRoleTagService.java b/backend/src/main/java/com/qqchen/deploy/backend/service/IRoleTagService.java deleted file mode 100644 index 0920081e..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/IRoleTagService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.qqchen.deploy.backend.service; - -import com.qqchen.deploy.backend.entity.RoleTag; -import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.model.RoleTagDTO; -import java.util.List; - -public interface IRoleTagService extends IBaseService { - -} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/ISysParamService.java b/backend/src/main/java/com/qqchen/deploy/backend/service/ISysParamService.java deleted file mode 100644 index 241f6af7..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/ISysParamService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.qqchen.deploy.backend.service; - -import com.qqchen.deploy.backend.entity.SysParam; -import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.model.SysParamDTO; - -public interface ISysParamService extends IBaseService { -} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/api/DepartmentApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/system/api/DepartmentApiController.java similarity index 74% rename from backend/src/main/java/com/qqchen/deploy/backend/api/DepartmentApiController.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/api/DepartmentApiController.java index 6db7b1c0..ac31d5f5 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/api/DepartmentApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/api/DepartmentApiController.java @@ -1,12 +1,12 @@ -package com.qqchen.deploy.backend.api; +package com.qqchen.deploy.backend.system.api; -import com.qqchen.deploy.backend.entity.Department; +import com.qqchen.deploy.backend.system.entity.Department; import com.qqchen.deploy.backend.framework.api.Response; import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.model.DepartmentDTO; -import com.qqchen.deploy.backend.model.query.DepartmentQuery; -import com.qqchen.deploy.backend.model.response.DepartmentResponse; -import com.qqchen.deploy.backend.service.IDepartmentService; +import com.qqchen.deploy.backend.system.model.DepartmentDTO; +import com.qqchen.deploy.backend.system.model.query.DepartmentQuery; +import com.qqchen.deploy.backend.system.model.response.DepartmentResponse; +import com.qqchen.deploy.backend.system.service.IDepartmentService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/api/ExternalSystemApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/system/api/ExternalSystemApiController.java similarity index 87% rename from backend/src/main/java/com/qqchen/deploy/backend/api/ExternalSystemApiController.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/api/ExternalSystemApiController.java index 582412a1..1fc006de 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/api/ExternalSystemApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/api/ExternalSystemApiController.java @@ -1,11 +1,11 @@ -package com.qqchen.deploy.backend.api; +package com.qqchen.deploy.backend.system.api; -import com.qqchen.deploy.backend.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; import com.qqchen.deploy.backend.framework.api.Response; import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.model.ExternalSystemDTO; -import com.qqchen.deploy.backend.model.query.ExternalSystemQuery; -import com.qqchen.deploy.backend.service.IExternalSystemService; +import com.qqchen.deploy.backend.system.model.ExternalSystemDTO; +import com.qqchen.deploy.backend.system.model.query.ExternalSystemQuery; +import com.qqchen.deploy.backend.system.service.IExternalSystemService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/api/MenuApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/system/api/MenuApiController.java similarity index 78% rename from backend/src/main/java/com/qqchen/deploy/backend/api/MenuApiController.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/api/MenuApiController.java index 20141259..f2a6fa58 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/api/MenuApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/api/MenuApiController.java @@ -1,13 +1,13 @@ -package com.qqchen.deploy.backend.api; +package com.qqchen.deploy.backend.system.api; -import com.qqchen.deploy.backend.entity.Menu; +import com.qqchen.deploy.backend.system.entity.Menu; import com.qqchen.deploy.backend.framework.api.Response; import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.model.MenuDTO; -import com.qqchen.deploy.backend.model.query.MenuQuery; -import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse; -import com.qqchen.deploy.backend.model.response.MenuResponse; -import com.qqchen.deploy.backend.service.IMenuService; +import com.qqchen.deploy.backend.system.model.MenuDTO; +import com.qqchen.deploy.backend.system.model.query.MenuQuery; +import com.qqchen.deploy.backend.system.model.response.MenuPermissionTreeResponse; +import com.qqchen.deploy.backend.system.model.response.MenuResponse; +import com.qqchen.deploy.backend.system.service.IMenuService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/api/PermissionApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/system/api/PermissionApiController.java similarity index 73% rename from backend/src/main/java/com/qqchen/deploy/backend/api/PermissionApiController.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/api/PermissionApiController.java index 81d5e860..adc1a86f 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/api/PermissionApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/api/PermissionApiController.java @@ -1,9 +1,9 @@ -package com.qqchen.deploy.backend.api; +package com.qqchen.deploy.backend.system.api; -import com.qqchen.deploy.backend.entity.Permission; +import com.qqchen.deploy.backend.system.entity.Permission; import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.model.PermissionDTO; -import com.qqchen.deploy.backend.model.query.PermissionQuery; +import com.qqchen.deploy.backend.system.model.PermissionDTO; +import com.qqchen.deploy.backend.system.model.query.PermissionQuery; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/api/RoleApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/system/api/RoleApiController.java similarity index 86% rename from backend/src/main/java/com/qqchen/deploy/backend/api/RoleApiController.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/api/RoleApiController.java index e9233f58..4f3545c4 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/api/RoleApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/api/RoleApiController.java @@ -1,12 +1,12 @@ -package com.qqchen.deploy.backend.api; +package com.qqchen.deploy.backend.system.api; -import com.qqchen.deploy.backend.entity.Role; +import com.qqchen.deploy.backend.system.entity.Role; import com.qqchen.deploy.backend.framework.api.Response; import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.model.PermissionDTO; -import com.qqchen.deploy.backend.model.RoleDTO; -import com.qqchen.deploy.backend.model.query.RoleQuery; -import com.qqchen.deploy.backend.service.IRoleService; +import com.qqchen.deploy.backend.system.model.PermissionDTO; +import com.qqchen.deploy.backend.system.model.RoleDTO; +import com.qqchen.deploy.backend.system.model.query.RoleQuery; +import com.qqchen.deploy.backend.system.service.IRoleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/api/RoleTagApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/system/api/RoleTagApiController.java similarity index 62% rename from backend/src/main/java/com/qqchen/deploy/backend/api/RoleTagApiController.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/api/RoleTagApiController.java index 9d6293be..76259516 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/api/RoleTagApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/api/RoleTagApiController.java @@ -1,16 +1,13 @@ -package com.qqchen.deploy.backend.api; +package com.qqchen.deploy.backend.system.api; -import com.qqchen.deploy.backend.entity.RoleTag; +import com.qqchen.deploy.backend.system.entity.RoleTag; import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.framework.query.BaseQuery; -import com.qqchen.deploy.backend.model.RoleTagDTO; -import com.qqchen.deploy.backend.model.query.RoleTagQuery; -import com.qqchen.deploy.backend.service.IRoleTagService; -import io.swagger.v3.oas.annotations.Operation; +import com.qqchen.deploy.backend.system.model.RoleTagDTO; +import com.qqchen.deploy.backend.system.model.query.RoleTagQuery; +import com.qqchen.deploy.backend.system.service.IRoleTagService; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/api/TenantApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/system/api/TenantApiController.java similarity index 85% rename from backend/src/main/java/com/qqchen/deploy/backend/api/TenantApiController.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/api/TenantApiController.java index ecc576ff..39f61687 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/api/TenantApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/api/TenantApiController.java @@ -1,11 +1,11 @@ -package com.qqchen.deploy.backend.api; +package com.qqchen.deploy.backend.system.api; -import com.qqchen.deploy.backend.entity.Tenant; +import com.qqchen.deploy.backend.system.entity.Tenant; import com.qqchen.deploy.backend.framework.api.Response; import com.qqchen.deploy.backend.framework.controller.BaseController; -import com.qqchen.deploy.backend.model.TenantDTO; -import com.qqchen.deploy.backend.model.query.TenantQuery; -import com.qqchen.deploy.backend.service.ITenantService; +import com.qqchen.deploy.backend.system.model.TenantDTO; +import com.qqchen.deploy.backend.system.model.query.TenantQuery; +import com.qqchen.deploy.backend.system.service.ITenantService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/api/UserApiController.java b/backend/src/main/java/com/qqchen/deploy/backend/system/api/UserApiController.java similarity index 79% rename from backend/src/main/java/com/qqchen/deploy/backend/api/UserApiController.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/api/UserApiController.java index 72ca98b7..d2cb8eec 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/api/UserApiController.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/api/UserApiController.java @@ -1,16 +1,14 @@ -package com.qqchen.deploy.backend.api; +package com.qqchen.deploy.backend.system.api; -import com.qqchen.deploy.backend.model.RoleDTO; -import com.qqchen.deploy.backend.model.query.UserQuery; -import com.qqchen.deploy.backend.model.request.DepartmentAssignRequest; -import com.qqchen.deploy.backend.model.request.UserRequest; +import com.qqchen.deploy.backend.system.model.query.UserQuery; +import com.qqchen.deploy.backend.system.model.request.DepartmentAssignRequest; import com.qqchen.deploy.backend.framework.controller.BaseController; import com.qqchen.deploy.backend.framework.api.Response; -import com.qqchen.deploy.backend.entity.User; -import com.qqchen.deploy.backend.model.UserDTO; -import com.qqchen.deploy.backend.model.request.LoginRequest; -import com.qqchen.deploy.backend.model.response.LoginResponse; -import com.qqchen.deploy.backend.service.IUserService; +import com.qqchen.deploy.backend.system.entity.User; +import com.qqchen.deploy.backend.system.model.UserDTO; +import com.qqchen.deploy.backend.system.model.request.LoginRequest; +import com.qqchen.deploy.backend.system.model.response.LoginResponse; +import com.qqchen.deploy.backend.system.service.IUserService; import io.swagger.v3.oas.annotations.Operation; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/DepartmentConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/DepartmentConverter.java similarity index 72% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/DepartmentConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/DepartmentConverter.java index 22e92b6a..02bd08e8 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/DepartmentConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/DepartmentConverter.java @@ -1,9 +1,9 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.entity.Department; +import com.qqchen.deploy.backend.system.entity.Department; import com.qqchen.deploy.backend.framework.converter.BaseConverter; -import com.qqchen.deploy.backend.model.DepartmentDTO; -import com.qqchen.deploy.backend.model.response.DepartmentResponse; +import com.qqchen.deploy.backend.system.model.DepartmentDTO; +import com.qqchen.deploy.backend.system.model.response.DepartmentResponse; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.ReportingPolicy; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/ExternalSystemConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/ExternalSystemConverter.java similarity index 71% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/ExternalSystemConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/ExternalSystemConverter.java index 1cbb6d52..c42391d0 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/ExternalSystemConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/ExternalSystemConverter.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; import com.qqchen.deploy.backend.framework.converter.BaseConverter; -import com.qqchen.deploy.backend.model.ExternalSystemDTO; +import com.qqchen.deploy.backend.system.model.ExternalSystemDTO; import org.mapstruct.Mapper; /** diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/MenuConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/MenuConverter.java similarity index 64% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/MenuConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/MenuConverter.java index 696c5199..97d9924d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/MenuConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/MenuConverter.java @@ -1,12 +1,12 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.entity.Menu; -import com.qqchen.deploy.backend.entity.Permission; +import com.qqchen.deploy.backend.system.entity.Menu; +import com.qqchen.deploy.backend.system.entity.Permission; import com.qqchen.deploy.backend.framework.converter.BaseConverter; -import com.qqchen.deploy.backend.model.MenuDTO; -import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse; -import com.qqchen.deploy.backend.model.response.MenuResponse; -import com.qqchen.deploy.backend.model.response.PermissionResponse; +import com.qqchen.deploy.backend.system.model.MenuDTO; +import com.qqchen.deploy.backend.system.model.response.MenuPermissionTreeResponse; +import com.qqchen.deploy.backend.system.model.response.MenuResponse; +import com.qqchen.deploy.backend.system.model.response.PermissionResponse; import org.mapstruct.Mapper; import org.mapstruct.Mapping; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/PermissionConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/PermissionConverter.java similarity index 56% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/PermissionConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/PermissionConverter.java index 184ad60f..b422b50a 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/PermissionConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/PermissionConverter.java @@ -1,9 +1,9 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.entity.Permission; +import com.qqchen.deploy.backend.system.entity.Permission; import com.qqchen.deploy.backend.framework.converter.BaseConverter; -import com.qqchen.deploy.backend.model.PermissionDTO; -import com.qqchen.deploy.backend.model.response.PermissionResponse; +import com.qqchen.deploy.backend.system.model.PermissionDTO; +import com.qqchen.deploy.backend.system.model.response.PermissionResponse; import org.mapstruct.Mapper; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/RepositoryConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/RepositoryConverter.java similarity index 66% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/RepositoryConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/RepositoryConverter.java index 2ba989ef..d3a49fc8 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/RepositoryConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/RepositoryConverter.java @@ -1,14 +1,13 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.entity.RepositoryGroup; -import com.qqchen.deploy.backend.entity.RepositoryProject; -import com.qqchen.deploy.backend.entity.RepositoryBranch; -import com.qqchen.deploy.backend.model.dto.RepositoryGroupDTO; -import com.qqchen.deploy.backend.model.dto.RepositoryProjectDTO; -import com.qqchen.deploy.backend.model.dto.RepositoryBranchDTO; +import com.qqchen.deploy.backend.system.entity.RepositoryGroup; +import com.qqchen.deploy.backend.system.entity.RepositoryProject; +import com.qqchen.deploy.backend.system.entity.RepositoryBranch; +import com.qqchen.deploy.backend.system.model.dto.RepositoryGroupDTO; +import com.qqchen.deploy.backend.system.model.dto.RepositoryProjectDTO; +import com.qqchen.deploy.backend.system.model.dto.RepositoryBranchDTO; import com.qqchen.deploy.backend.framework.converter.BaseConverter; import org.mapstruct.Mapper; -import org.mapstruct.Mapping; /** * 仓库相关的对象转换器 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/RoleConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/RoleConverter.java similarity index 86% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/RoleConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/RoleConverter.java index 58b68b23..aec3c0ae 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/RoleConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/RoleConverter.java @@ -1,7 +1,7 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.model.RoleDTO; -import com.qqchen.deploy.backend.entity.Role; +import com.qqchen.deploy.backend.system.model.RoleDTO; +import com.qqchen.deploy.backend.system.entity.Role; import com.qqchen.deploy.backend.framework.converter.BaseConverter; import org.mapstruct.Mapper; import org.mapstruct.Mapping; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/RoleTagConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/RoleTagConverter.java similarity index 83% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/RoleTagConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/RoleTagConverter.java index b3e88cc6..7001cfa1 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/RoleTagConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/RoleTagConverter.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.entity.RoleTag; +import com.qqchen.deploy.backend.system.entity.RoleTag; import com.qqchen.deploy.backend.framework.converter.BaseConverter; -import com.qqchen.deploy.backend.model.RoleTagDTO; +import com.qqchen.deploy.backend.system.model.RoleTagDTO; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.MappingTarget; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/SysParamConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/SysParamConverter.java similarity index 56% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/SysParamConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/SysParamConverter.java index b3276053..9444c714 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/SysParamConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/SysParamConverter.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.entity.SysParam; +import com.qqchen.deploy.backend.system.entity.SysParam; import com.qqchen.deploy.backend.framework.converter.BaseConverter; -import com.qqchen.deploy.backend.model.SysParamDTO; +import com.qqchen.deploy.backend.system.model.SysParamDTO; import org.mapstruct.Mapper; @Mapper(config = BaseConverter.class) diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/TenantConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/TenantConverter.java similarity index 61% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/TenantConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/TenantConverter.java index 3ae7d650..cc159461 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/TenantConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/TenantConverter.java @@ -1,7 +1,7 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.model.TenantDTO; -import com.qqchen.deploy.backend.entity.Tenant; +import com.qqchen.deploy.backend.system.model.TenantDTO; +import com.qqchen.deploy.backend.system.entity.Tenant; import com.qqchen.deploy.backend.framework.converter.BaseConverter; import org.mapstruct.Mapper; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/converter/UserConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/UserConverter.java similarity index 89% rename from backend/src/main/java/com/qqchen/deploy/backend/converter/UserConverter.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/converter/UserConverter.java index d6d5fef2..2ee1dade 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/converter/UserConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/converter/UserConverter.java @@ -1,9 +1,9 @@ -package com.qqchen.deploy.backend.converter; +package com.qqchen.deploy.backend.system.converter; -import com.qqchen.deploy.backend.entity.User; +import com.qqchen.deploy.backend.system.entity.User; import com.qqchen.deploy.backend.framework.converter.BaseConverter; -import com.qqchen.deploy.backend.model.UserDTO; -import com.qqchen.deploy.backend.model.response.LoginResponse; +import com.qqchen.deploy.backend.system.model.UserDTO; +import com.qqchen.deploy.backend.system.model.response.LoginResponse; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.MappingTarget; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/Department.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Department.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/Department.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/Department.java index 4d69b954..15beeaa1 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/Department.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Department.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/ExternalSystem.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/ExternalSystem.java similarity index 87% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/ExternalSystem.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/ExternalSystem.java index fabd27d0..160eb094 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/ExternalSystem.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/ExternalSystem.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; -import com.qqchen.deploy.backend.enums.ExternalSystemAuthTypeEnum; -import com.qqchen.deploy.backend.enums.ExternalSystemSyncStatusEnum; -import com.qqchen.deploy.backend.enums.ExternalSystemTypeEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemAuthTypeEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemSyncStatusEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; import jakarta.persistence.*; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsBuild.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsBuild.java similarity index 95% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsBuild.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsBuild.java index 4e965b92..15bd2c85 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsBuild.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsBuild.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsConfig.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsConfig.java similarity index 95% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsConfig.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsConfig.java index eadbe85c..a6f8a67d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsConfig.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsConfig.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsJob.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsJob.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsJob.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsJob.java index 01b936d4..d8995a0e 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsJob.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsJob.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsSyncHistory.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsSyncHistory.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsSyncHistory.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsSyncHistory.java index 93d46f4e..b29cb4a1 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsSyncHistory.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsSyncHistory.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsView.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsView.java similarity index 93% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsView.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsView.java index 0eddd3e5..5cf39e9c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/JenkinsView.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/JenkinsView.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/Menu.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Menu.java similarity index 89% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/Menu.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/Menu.java index 8a6f7baa..75dc32fd 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/Menu.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Menu.java @@ -1,11 +1,8 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; import jakarta.persistence.Column; -import jakarta.persistence.FetchType; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.JoinTable; import jakarta.persistence.ManyToMany; import jakarta.persistence.Table; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/Permission.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Permission.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/Permission.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/Permission.java index 7c122899..e3f13b42 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/Permission.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Permission.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/PermissionTemplate.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/PermissionTemplate.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/PermissionTemplate.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/PermissionTemplate.java index 19c90a08..abc8db58 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/PermissionTemplate.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/PermissionTemplate.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.domain.Entity; import jakarta.persistence.Column; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryBranch.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryBranch.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryBranch.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryBranch.java index 98d7ff48..e3fbfb44 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryBranch.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryBranch.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryGroup.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryGroup.java similarity index 95% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryGroup.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryGroup.java index 4044cad3..d88dc2db 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryGroup.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryGroup.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryProject.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryProject.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryProject.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryProject.java index 64e5a3f5..8647c071 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/RepositoryProject.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositoryProject.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/RepositorySyncHistory.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositorySyncHistory.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/RepositorySyncHistory.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositorySyncHistory.java index 594192cb..6df52974 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/RepositorySyncHistory.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RepositorySyncHistory.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/Role.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Role.java similarity index 97% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/Role.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/Role.java index a5c33e94..9ab236e9 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/Role.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Role.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/RoleTag.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RoleTag.java similarity index 95% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/RoleTag.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/RoleTag.java index 7d65e836..e5597293 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/RoleTag.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/RoleTag.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/SysParam.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/SysParam.java similarity index 93% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/SysParam.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/SysParam.java index 5a792f69..d87a39ca 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/SysParam.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/SysParam.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/Tenant.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Tenant.java similarity index 95% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/Tenant.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/Tenant.java index 2d7bb7cd..0e0d5d72 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/Tenant.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/Tenant.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/entity/User.java b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/User.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/entity/User.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/entity/User.java index 76a78f9f..78b2c051 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/entity/User.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/entity/User.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.entity; +package com.qqchen.deploy.backend.system.entity; import com.qqchen.deploy.backend.framework.annotation.LogicDelete; import com.qqchen.deploy.backend.framework.domain.Entity; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemAuthTypeEnum.java b/backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemAuthTypeEnum.java similarity index 67% rename from backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemAuthTypeEnum.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemAuthTypeEnum.java index 094b92be..aa000bba 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemAuthTypeEnum.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemAuthTypeEnum.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.enums; +package com.qqchen.deploy.backend.system.enums; /** * 认证类型枚举 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemSyncStatusEnum.java b/backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemSyncStatusEnum.java similarity index 62% rename from backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemSyncStatusEnum.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemSyncStatusEnum.java index b08e54a8..b9bd070c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemSyncStatusEnum.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemSyncStatusEnum.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.enums; +package com.qqchen.deploy.backend.system.enums; public enum ExternalSystemSyncStatusEnum { SUCCESS, diff --git a/backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemTypeEnum.java b/backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemTypeEnum.java similarity index 67% rename from backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemTypeEnum.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemTypeEnum.java index 1f531645..f58e6faa 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/enums/ExternalSystemTypeEnum.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/enums/ExternalSystemTypeEnum.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.enums; +package com.qqchen.deploy.backend.system.enums; /** * 系统类型枚举 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/event/UserEventListener.java b/backend/src/main/java/com/qqchen/deploy/backend/system/event/UserEventListener.java similarity index 93% rename from backend/src/main/java/com/qqchen/deploy/backend/event/UserEventListener.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/event/UserEventListener.java index 6ac88f1c..7ae7bdff 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/event/UserEventListener.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/event/UserEventListener.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.event; +package com.qqchen.deploy.backend.system.event; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/event/UserRoleChangedEvent.java b/backend/src/main/java/com/qqchen/deploy/backend/system/event/UserRoleChangedEvent.java similarity index 90% rename from backend/src/main/java/com/qqchen/deploy/backend/event/UserRoleChangedEvent.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/event/UserRoleChangedEvent.java index 77ca38c8..b0783aed 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/event/UserRoleChangedEvent.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/event/UserRoleChangedEvent.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.event; +package com.qqchen.deploy.backend.system.event; import com.qqchen.deploy.backend.framework.event.DomainEvent; import lombok.Getter; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/integration/IExternalSystemIntegration.java b/backend/src/main/java/com/qqchen/deploy/backend/system/integration/IExternalSystemIntegration.java similarity index 73% rename from backend/src/main/java/com/qqchen/deploy/backend/integration/IExternalSystemIntegration.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/integration/IExternalSystemIntegration.java index a6c72aed..8cb76c23 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/integration/IExternalSystemIntegration.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/integration/IExternalSystemIntegration.java @@ -1,7 +1,7 @@ -package com.qqchen.deploy.backend.integration; +package com.qqchen.deploy.backend.system.integration; -import com.qqchen.deploy.backend.entity.ExternalSystem; -import com.qqchen.deploy.backend.enums.ExternalSystemTypeEnum; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum; /** * 第三方系统集成接口 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/integration/impl/GitIntegration.java b/backend/src/main/java/com/qqchen/deploy/backend/system/integration/impl/GitIntegration.java similarity index 85% rename from backend/src/main/java/com/qqchen/deploy/backend/integration/impl/GitIntegration.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/integration/impl/GitIntegration.java index 7dc0402f..a96a638a 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/integration/impl/GitIntegration.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/integration/impl/GitIntegration.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.integration.impl; +package com.qqchen.deploy.backend.system.integration.impl; -import com.qqchen.deploy.backend.entity.ExternalSystem; -import com.qqchen.deploy.backend.enums.ExternalSystemTypeEnum; -import com.qqchen.deploy.backend.integration.IExternalSystemIntegration; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum; +import com.qqchen.deploy.backend.system.integration.IExternalSystemIntegration; import lombok.extern.slf4j.Slf4j; import org.springframework.http.*; import org.springframework.stereotype.Service; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/integration/impl/JenkinsIntegration.java b/backend/src/main/java/com/qqchen/deploy/backend/system/integration/impl/JenkinsIntegration.java similarity index 76% rename from backend/src/main/java/com/qqchen/deploy/backend/integration/impl/JenkinsIntegration.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/integration/impl/JenkinsIntegration.java index 7c94ffaa..a9e0bb57 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/integration/impl/JenkinsIntegration.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/integration/impl/JenkinsIntegration.java @@ -1,9 +1,8 @@ -package com.qqchen.deploy.backend.integration.impl; +package com.qqchen.deploy.backend.system.integration.impl; -import com.qqchen.deploy.backend.entity.ExternalSystem; -import com.qqchen.deploy.backend.enums.ExternalSystemAuthTypeEnum; -import com.qqchen.deploy.backend.enums.ExternalSystemTypeEnum; -import com.qqchen.deploy.backend.integration.IExternalSystemIntegration; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum; +import com.qqchen.deploy.backend.system.integration.IExternalSystemIntegration; import lombok.extern.slf4j.Slf4j; import org.springframework.http.*; import org.springframework.stereotype.Service; @@ -11,10 +10,6 @@ import org.springframework.web.client.RestTemplate; import java.util.Base64; -import static com.qqchen.deploy.backend.enums.ExternalSystemAuthTypeEnum.BASIC; -import static com.qqchen.deploy.backend.enums.ExternalSystemAuthTypeEnum.OAUTH; -import static com.qqchen.deploy.backend.enums.ExternalSystemAuthTypeEnum.TOKEN; - @Slf4j @Service public class JenkinsIntegration implements IExternalSystemIntegration { diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/DepartmentDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/DepartmentDTO.java similarity index 90% rename from backend/src/main/java/com/qqchen/deploy/backend/model/DepartmentDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/DepartmentDTO.java index 6a4a6d45..cda95e35 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/DepartmentDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/DepartmentDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/ExternalSystemDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/ExternalSystemDTO.java similarity index 80% rename from backend/src/main/java/com/qqchen/deploy/backend/model/ExternalSystemDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/ExternalSystemDTO.java index ce487e8a..2b069184 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/ExternalSystemDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/ExternalSystemDTO.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; -import com.qqchen.deploy.backend.enums.ExternalSystemAuthTypeEnum; -import com.qqchen.deploy.backend.enums.ExternalSystemSyncStatusEnum; -import com.qqchen.deploy.backend.enums.ExternalSystemTypeEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemAuthTypeEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemSyncStatusEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/MenuDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/MenuDTO.java similarity index 94% rename from backend/src/main/java/com/qqchen/deploy/backend/model/MenuDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/MenuDTO.java index 04326893..4379ac28 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/MenuDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/MenuDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/PermissionDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/PermissionDTO.java similarity index 86% rename from backend/src/main/java/com/qqchen/deploy/backend/model/PermissionDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/PermissionDTO.java index ed342b41..1b488c0a 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/PermissionDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/PermissionDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/RoleDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/RoleDTO.java similarity index 88% rename from backend/src/main/java/com/qqchen/deploy/backend/model/RoleDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/RoleDTO.java index 042f1cfe..67c5ec25 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/RoleDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/RoleDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/RoleTagDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/RoleTagDTO.java similarity index 84% rename from backend/src/main/java/com/qqchen/deploy/backend/model/RoleTagDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/RoleTagDTO.java index e5efd7b0..297c7212 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/RoleTagDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/RoleTagDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/SysParamDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/SysParamDTO.java similarity index 85% rename from backend/src/main/java/com/qqchen/deploy/backend/model/SysParamDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/SysParamDTO.java index b626826c..b3afc5bf 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/SysParamDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/SysParamDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/TenantDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/TenantDTO.java similarity index 90% rename from backend/src/main/java/com/qqchen/deploy/backend/model/TenantDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/TenantDTO.java index 87b5db3d..778dbd63 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/TenantDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/TenantDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/UserDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/UserDTO.java similarity index 91% rename from backend/src/main/java/com/qqchen/deploy/backend/model/UserDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/UserDTO.java index 863200ff..17a0b320 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/UserDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/UserDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model; +package com.qqchen.deploy.backend.system.model; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryBranchDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryBranchDTO.java similarity index 97% rename from backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryBranchDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryBranchDTO.java index 3ed16ab5..7a7bb6b4 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryBranchDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryBranchDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.dto; +package com.qqchen.deploy.backend.system.model.dto; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryGroupDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryGroupDTO.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryGroupDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryGroupDTO.java index 807fa8ee..b6cfe9f5 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryGroupDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryGroupDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.dto; +package com.qqchen.deploy.backend.system.model.dto; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryProjectDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryProjectDTO.java similarity index 97% rename from backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryProjectDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryProjectDTO.java index 62539956..7f68f60d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositoryProjectDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositoryProjectDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.dto; +package com.qqchen.deploy.backend.system.model.dto; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositorySyncStatusDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositorySyncStatusDTO.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositorySyncStatusDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositorySyncStatusDTO.java index 1d37f5ac..641a8306 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositorySyncStatusDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositorySyncStatusDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.dto; +package com.qqchen.deploy.backend.system.model.dto; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositorySyncTaskDTO.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositorySyncTaskDTO.java similarity index 96% rename from backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositorySyncTaskDTO.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositorySyncTaskDTO.java index 1f7d16cc..d24aa90c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/dto/RepositorySyncTaskDTO.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/dto/RepositorySyncTaskDTO.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.dto; +package com.qqchen.deploy.backend.system.model.dto; import com.qqchen.deploy.backend.framework.dto.BaseDTO; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/DepartmentQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/DepartmentQuery.java similarity index 91% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/DepartmentQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/DepartmentQuery.java index 5fa79025..2cf2a3c2 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/DepartmentQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/DepartmentQuery.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; import com.qqchen.deploy.backend.framework.query.BaseQuery; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/ExternalSystemQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/ExternalSystemQuery.java similarity index 86% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/ExternalSystemQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/ExternalSystemQuery.java index 2a806d7b..3bbda31d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/ExternalSystemQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/ExternalSystemQuery.java @@ -1,6 +1,6 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; -import com.qqchen.deploy.backend.enums.ExternalSystemTypeEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum; import com.qqchen.deploy.backend.framework.annotation.QueryField; import com.qqchen.deploy.backend.framework.enums.QueryType; import com.qqchen.deploy.backend.framework.query.BaseQuery; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/MenuQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/MenuQuery.java similarity index 87% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/MenuQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/MenuQuery.java index 0ed19e86..a96f79f9 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/MenuQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/MenuQuery.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; import com.qqchen.deploy.backend.framework.query.BaseQuery; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/PermissionQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/PermissionQuery.java similarity index 85% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/PermissionQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/PermissionQuery.java index daa0897e..32784352 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/PermissionQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/PermissionQuery.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; import com.qqchen.deploy.backend.framework.query.BaseQuery; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/RoleQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/RoleQuery.java similarity index 82% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/RoleQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/RoleQuery.java index fc2f40a6..9e31e86b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/RoleQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/RoleQuery.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; import com.qqchen.deploy.backend.framework.query.BaseQuery; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/RoleTagQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/RoleTagQuery.java similarity index 82% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/RoleTagQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/RoleTagQuery.java index a2487ee1..9cd79e74 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/RoleTagQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/RoleTagQuery.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; import com.qqchen.deploy.backend.framework.query.BaseQuery; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/SysParamQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/SysParamQuery.java similarity index 81% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/SysParamQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/SysParamQuery.java index 9c7f1186..fad838bd 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/SysParamQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/SysParamQuery.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; import com.qqchen.deploy.backend.framework.query.BaseQuery; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/TenantQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/TenantQuery.java similarity index 91% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/TenantQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/TenantQuery.java index 18d6f804..f9b6ad92 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/TenantQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/TenantQuery.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; import com.qqchen.deploy.backend.framework.annotation.QueryField; import com.qqchen.deploy.backend.framework.enums.QueryType; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/query/UserQuery.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/UserQuery.java similarity index 94% rename from backend/src/main/java/com/qqchen/deploy/backend/model/query/UserQuery.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/query/UserQuery.java index efa34212..8e26d7f4 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/query/UserQuery.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/query/UserQuery.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.query; +package com.qqchen.deploy.backend.system.model.query; import com.qqchen.deploy.backend.framework.annotation.QueryField; import com.qqchen.deploy.backend.framework.query.BaseQuery; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/request/DepartmentAssignRequest.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/DepartmentAssignRequest.java similarity index 69% rename from backend/src/main/java/com/qqchen/deploy/backend/model/request/DepartmentAssignRequest.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/request/DepartmentAssignRequest.java index e32ab153..c997cf91 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/request/DepartmentAssignRequest.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/DepartmentAssignRequest.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.request; +package com.qqchen.deploy.backend.system.model.request; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/request/LoginRequest.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/LoginRequest.java similarity index 85% rename from backend/src/main/java/com/qqchen/deploy/backend/model/request/LoginRequest.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/request/LoginRequest.java index f1ae44f9..63c10a73 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/request/LoginRequest.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/LoginRequest.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.request; +package com.qqchen.deploy.backend.system.model.request; import jakarta.validation.constraints.NotBlank; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/request/MenuRequest.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/MenuRequest.java similarity index 94% rename from backend/src/main/java/com/qqchen/deploy/backend/model/request/MenuRequest.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/request/MenuRequest.java index 90acefd7..4d87c134 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/request/MenuRequest.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/MenuRequest.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.request; +package com.qqchen.deploy.backend.system.model.request; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/request/UserRegisterRequest.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/UserRegisterRequest.java similarity index 86% rename from backend/src/main/java/com/qqchen/deploy/backend/model/request/UserRegisterRequest.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/request/UserRegisterRequest.java index 6ef352e5..aa4fbb17 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/request/UserRegisterRequest.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/UserRegisterRequest.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.request; +package com.qqchen.deploy.backend.system.model.request; import jakarta.validation.constraints.NotEmpty; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/request/UserRequest.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/UserRequest.java similarity index 93% rename from backend/src/main/java/com/qqchen/deploy/backend/model/request/UserRequest.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/request/UserRequest.java index e737798b..d5d8f92a 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/request/UserRequest.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/request/UserRequest.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.request; +package com.qqchen.deploy.backend.system.model.request; import jakarta.validation.constraints.Email; import jakarta.validation.constraints.NotBlank; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/response/DepartmentResponse.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/DepartmentResponse.java similarity index 93% rename from backend/src/main/java/com/qqchen/deploy/backend/model/response/DepartmentResponse.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/response/DepartmentResponse.java index a070ef96..a700a1d0 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/response/DepartmentResponse.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/DepartmentResponse.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.response; +package com.qqchen.deploy.backend.system.model.response; import com.qqchen.deploy.backend.framework.dto.BaseResponse; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/response/LoginResponse.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/LoginResponse.java similarity index 74% rename from backend/src/main/java/com/qqchen/deploy/backend/model/response/LoginResponse.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/response/LoginResponse.java index 7a4d1d34..4a24eb1a 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/response/LoginResponse.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/LoginResponse.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.response; +package com.qqchen.deploy.backend.system.model.response; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/response/MenuPermissionTreeResponse.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/MenuPermissionTreeResponse.java similarity index 91% rename from backend/src/main/java/com/qqchen/deploy/backend/model/response/MenuPermissionTreeResponse.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/response/MenuPermissionTreeResponse.java index ea20c08a..9c472ae3 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/response/MenuPermissionTreeResponse.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/MenuPermissionTreeResponse.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.response; +package com.qqchen.deploy.backend.system.model.response; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/response/MenuResponse.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/MenuResponse.java similarity index 93% rename from backend/src/main/java/com/qqchen/deploy/backend/model/response/MenuResponse.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/response/MenuResponse.java index 37f3f5cc..4a9e2671 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/response/MenuResponse.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/MenuResponse.java @@ -1,10 +1,9 @@ -package com.qqchen.deploy.backend.model.response; +package com.qqchen.deploy.backend.system.model.response; import com.qqchen.deploy.backend.framework.dto.BaseResponse; import lombok.Data; import lombok.EqualsAndHashCode; -import java.time.LocalDateTime; import java.util.List; @Data diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/response/PermissionResponse.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/PermissionResponse.java similarity index 86% rename from backend/src/main/java/com/qqchen/deploy/backend/model/response/PermissionResponse.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/response/PermissionResponse.java index 2b28eb98..e4456ff7 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/response/PermissionResponse.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/PermissionResponse.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.response; +package com.qqchen.deploy.backend.system.model.response; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/response/TenantResponse.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/TenantResponse.java similarity index 88% rename from backend/src/main/java/com/qqchen/deploy/backend/model/response/TenantResponse.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/response/TenantResponse.java index 9a087813..b23441ea 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/response/TenantResponse.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/TenantResponse.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.response; +package com.qqchen.deploy.backend.system.model.response; import com.qqchen.deploy.backend.framework.dto.BaseResponse; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/model/response/UserResponse.java b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/UserResponse.java similarity index 89% rename from backend/src/main/java/com/qqchen/deploy/backend/model/response/UserResponse.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/model/response/UserResponse.java index 2079339e..d62c1588 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/model/response/UserResponse.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/model/response/UserResponse.java @@ -1,4 +1,4 @@ -package com.qqchen.deploy.backend.model.response; +package com.qqchen.deploy.backend.system.model.response; import com.qqchen.deploy.backend.framework.dto.BaseResponse; import lombok.Data; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IDepartmentRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IDepartmentRepository.java similarity index 87% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IDepartmentRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IDepartmentRepository.java index 86dd0d12..f67abd7d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IDepartmentRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IDepartmentRepository.java @@ -1,7 +1,7 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.Department; +import com.qqchen.deploy.backend.system.entity.Department; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IExternalSystemRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IExternalSystemRepository.java similarity index 77% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IExternalSystemRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IExternalSystemRepository.java index b586a2b4..3a5d7c12 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IExternalSystemRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IExternalSystemRepository.java @@ -1,7 +1,7 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; -import com.qqchen.deploy.backend.entity.ExternalSystem; -import com.qqchen.deploy.backend.enums.ExternalSystemTypeEnum; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsBuildRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsBuildRepository.java similarity index 82% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsBuildRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsBuildRepository.java index e8c4e85a..516e6bd6 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsBuildRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsBuildRepository.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.JenkinsBuild; +import com.qqchen.deploy.backend.system.entity.JenkinsBuild; import org.springframework.stereotype.Repository; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsConfigRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsConfigRepository.java similarity index 75% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsConfigRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsConfigRepository.java index ad862a51..a9e93f68 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsConfigRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsConfigRepository.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.JenkinsConfig; +import com.qqchen.deploy.backend.system.entity.JenkinsConfig; import org.springframework.stereotype.Repository; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsJobRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsJobRepository.java similarity index 89% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsJobRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsJobRepository.java index 011bb067..037abaa2 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsJobRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsJobRepository.java @@ -1,7 +1,7 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.JenkinsJob; +import com.qqchen.deploy.backend.system.entity.JenkinsJob; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsSyncHistoryRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsSyncHistoryRepository.java similarity index 72% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsSyncHistoryRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsSyncHistoryRepository.java index 01b3eee2..5cb4e570 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsSyncHistoryRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsSyncHistoryRepository.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.JenkinsSyncHistory; +import com.qqchen.deploy.backend.system.entity.JenkinsSyncHistory; import org.springframework.stereotype.Repository; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsViewRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsViewRepository.java similarity index 80% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsViewRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsViewRepository.java index a9ccd8d5..e0283f55 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IJenkinsViewRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IJenkinsViewRepository.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.JenkinsView; +import com.qqchen.deploy.backend.system.entity.JenkinsView; import org.springframework.stereotype.Repository; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IMenuRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IMenuRepository.java similarity index 91% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IMenuRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IMenuRepository.java index 9c5966d1..c2f9754d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IMenuRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IMenuRepository.java @@ -1,6 +1,6 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; -import com.qqchen.deploy.backend.entity.Menu; +import com.qqchen.deploy.backend.system.entity.Menu; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IPermissionRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IPermissionRepository.java similarity index 90% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IPermissionRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IPermissionRepository.java index a7fcccca..ec1e3dce 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IPermissionRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IPermissionRepository.java @@ -1,6 +1,6 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; -import com.qqchen.deploy.backend.entity.Permission; +import com.qqchen.deploy.backend.system.entity.Permission; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryBranchRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryBranchRepository.java similarity index 82% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryBranchRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryBranchRepository.java index 78c3f28e..430a18a8 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryBranchRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryBranchRepository.java @@ -1,9 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.RepositoryBranch; +import com.qqchen.deploy.backend.system.entity.RepositoryBranch; import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryGroupRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryGroupRepository.java similarity index 81% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryGroupRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryGroupRepository.java index 30e07377..929177fc 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryGroupRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryGroupRepository.java @@ -1,9 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.RepositoryGroup; +import com.qqchen.deploy.backend.system.entity.RepositoryGroup; import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryProjectRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryProjectRepository.java similarity index 82% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryProjectRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryProjectRepository.java index a992f90d..17484e0f 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositoryProjectRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositoryProjectRepository.java @@ -1,9 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.RepositoryProject; +import com.qqchen.deploy.backend.system.entity.RepositoryProject; import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositorySyncHistoryRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositorySyncHistoryRepository.java similarity index 72% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositorySyncHistoryRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositorySyncHistoryRepository.java index e6525645..70e49427 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRepositorySyncHistoryRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRepositorySyncHistoryRepository.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; -import com.qqchen.deploy.backend.entity.RepositorySyncHistory; +import com.qqchen.deploy.backend.system.entity.RepositorySyncHistory; import org.springframework.stereotype.Repository; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRoleRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRoleRepository.java similarity index 88% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IRoleRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRoleRepository.java index 63a13119..a0a42faa 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRoleRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRoleRepository.java @@ -1,6 +1,6 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; -import com.qqchen.deploy.backend.entity.Role; +import com.qqchen.deploy.backend.system.entity.Role; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRoleTagRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRoleTagRepository.java similarity index 68% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IRoleTagRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRoleTagRepository.java index 1c9d9c39..7a50a864 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IRoleTagRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IRoleTagRepository.java @@ -1,9 +1,8 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; -import com.qqchen.deploy.backend.entity.RoleTag; +import com.qqchen.deploy.backend.system.entity.RoleTag; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import org.springframework.stereotype.Repository; -import java.util.List; @Repository public interface IRoleTagRepository extends IBaseRepository { diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/ISysParamRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/ISysParamRepository.java similarity index 89% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/ISysParamRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/ISysParamRepository.java index b6a58518..f47d495c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/ISysParamRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/ISysParamRepository.java @@ -1,6 +1,6 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; -import com.qqchen.deploy.backend.entity.SysParam; +import com.qqchen.deploy.backend.system.entity.SysParam; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/ITenantRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/ITenantRepository.java similarity index 69% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/ITenantRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/ITenantRepository.java index c2f01d2e..d11d378b 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/ITenantRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/ITenantRepository.java @@ -1,6 +1,6 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; -import com.qqchen.deploy.backend.entity.Tenant; +import com.qqchen.deploy.backend.system.entity.Tenant; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/repository/IUserRepository.java b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IUserRepository.java similarity index 85% rename from backend/src/main/java/com/qqchen/deploy/backend/repository/IUserRepository.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/repository/IUserRepository.java index f1f7d5e7..28911a95 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/repository/IUserRepository.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/repository/IUserRepository.java @@ -1,6 +1,6 @@ -package com.qqchen.deploy.backend.repository; +package com.qqchen.deploy.backend.system.repository; -import com.qqchen.deploy.backend.entity.User; +import com.qqchen.deploy.backend.system.entity.User; import com.qqchen.deploy.backend.framework.repository.IBaseRepository; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IDepartmentService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IDepartmentService.java similarity index 51% rename from backend/src/main/java/com/qqchen/deploy/backend/service/IDepartmentService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/IDepartmentService.java index 9be06296..535e8f65 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/IDepartmentService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IDepartmentService.java @@ -1,9 +1,9 @@ -package com.qqchen.deploy.backend.service; +package com.qqchen.deploy.backend.system.service; -import com.qqchen.deploy.backend.entity.Department; +import com.qqchen.deploy.backend.system.entity.Department; import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.model.DepartmentDTO; -import com.qqchen.deploy.backend.model.response.DepartmentResponse; +import com.qqchen.deploy.backend.system.model.DepartmentDTO; +import com.qqchen.deploy.backend.system.model.response.DepartmentResponse; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IExternalSystemService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IExternalSystemService.java similarity index 76% rename from backend/src/main/java/com/qqchen/deploy/backend/service/IExternalSystemService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/IExternalSystemService.java index a51146f3..9215752d 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/IExternalSystemService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IExternalSystemService.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.service; +package com.qqchen.deploy.backend.system.service; -import com.qqchen.deploy.backend.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.model.ExternalSystemDTO; +import com.qqchen.deploy.backend.system.model.ExternalSystemDTO; public interface IExternalSystemService extends IBaseService { diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IJenkinsService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IJenkinsService.java similarity index 100% rename from backend/src/main/java/com/qqchen/deploy/backend/service/IJenkinsService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/IJenkinsService.java diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IMenuService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IMenuService.java similarity index 59% rename from backend/src/main/java/com/qqchen/deploy/backend/service/IMenuService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/IMenuService.java index 87509d04..8a4e2849 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/IMenuService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IMenuService.java @@ -1,10 +1,10 @@ -package com.qqchen.deploy.backend.service; +package com.qqchen.deploy.backend.system.service; import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.entity.Menu; -import com.qqchen.deploy.backend.model.MenuDTO; -import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse; -import com.qqchen.deploy.backend.model.response.MenuResponse; +import com.qqchen.deploy.backend.system.entity.Menu; +import com.qqchen.deploy.backend.system.model.MenuDTO; +import com.qqchen.deploy.backend.system.model.response.MenuPermissionTreeResponse; +import com.qqchen.deploy.backend.system.model.response.MenuResponse; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IPermissionService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IPermissionService.java similarity index 65% rename from backend/src/main/java/com/qqchen/deploy/backend/service/IPermissionService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/IPermissionService.java index 22dcbcb0..8f8061ca 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/IPermissionService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IPermissionService.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.service; +package com.qqchen.deploy.backend.system.service; -import com.qqchen.deploy.backend.entity.Permission; +import com.qqchen.deploy.backend.system.entity.Permission; import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.model.PermissionDTO; +import com.qqchen.deploy.backend.system.model.PermissionDTO; import java.util.List; public interface IPermissionService extends IBaseService { diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IRepositoryService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IRepositoryService.java similarity index 100% rename from backend/src/main/java/com/qqchen/deploy/backend/service/IRepositoryService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/IRepositoryService.java diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IRoleService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IRoleService.java similarity index 79% rename from backend/src/main/java/com/qqchen/deploy/backend/service/IRoleService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/IRoleService.java index 0a8d6db7..eb846553 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/IRoleService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IRoleService.java @@ -1,9 +1,9 @@ -package com.qqchen.deploy.backend.service; +package com.qqchen.deploy.backend.system.service; import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.entity.Role; -import com.qqchen.deploy.backend.model.RoleDTO; -import com.qqchen.deploy.backend.model.PermissionDTO; +import com.qqchen.deploy.backend.system.entity.Role; +import com.qqchen.deploy.backend.system.model.RoleDTO; +import com.qqchen.deploy.backend.system.model.PermissionDTO; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/system/service/IRoleTagService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IRoleTagService.java new file mode 100644 index 00000000..92c7c6d3 --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IRoleTagService.java @@ -0,0 +1,9 @@ +package com.qqchen.deploy.backend.system.service; + +import com.qqchen.deploy.backend.system.entity.RoleTag; +import com.qqchen.deploy.backend.framework.service.IBaseService; +import com.qqchen.deploy.backend.system.model.RoleTagDTO; + +public interface IRoleTagService extends IBaseService { + +} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/system/service/ISysParamService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/ISysParamService.java new file mode 100644 index 00000000..556ffff8 --- /dev/null +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/ISysParamService.java @@ -0,0 +1,8 @@ +package com.qqchen.deploy.backend.system.service; + +import com.qqchen.deploy.backend.system.entity.SysParam; +import com.qqchen.deploy.backend.framework.service.IBaseService; +import com.qqchen.deploy.backend.system.model.SysParamDTO; + +public interface ISysParamService extends IBaseService { +} \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/ITenantService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/ITenantService.java similarity index 76% rename from backend/src/main/java/com/qqchen/deploy/backend/service/ITenantService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/ITenantService.java index 5baaebbd..617326df 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/ITenantService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/ITenantService.java @@ -1,8 +1,8 @@ -package com.qqchen.deploy.backend.service; +package com.qqchen.deploy.backend.system.service; -import com.qqchen.deploy.backend.entity.Tenant; +import com.qqchen.deploy.backend.system.entity.Tenant; import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.model.TenantDTO; +import com.qqchen.deploy.backend.system.model.TenantDTO; /** * 租户服务接口 diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/IUserService.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IUserService.java similarity index 79% rename from backend/src/main/java/com/qqchen/deploy/backend/service/IUserService.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/IUserService.java index ef585181..06e5c1f3 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/IUserService.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/IUserService.java @@ -1,13 +1,13 @@ -package com.qqchen.deploy.backend.service; +package com.qqchen.deploy.backend.system.service; -import com.qqchen.deploy.backend.model.UserDTO; +import com.qqchen.deploy.backend.system.model.UserDTO; import com.qqchen.deploy.backend.framework.annotation.Audited; import com.qqchen.deploy.backend.framework.service.IBaseService; -import com.qqchen.deploy.backend.model.request.LoginRequest; -import com.qqchen.deploy.backend.model.response.LoginResponse; -import com.qqchen.deploy.backend.entity.User; -import com.qqchen.deploy.backend.model.request.UserRequest; -import com.qqchen.deploy.backend.model.RoleDTO; +import com.qqchen.deploy.backend.system.model.request.LoginRequest; +import com.qqchen.deploy.backend.system.model.response.LoginResponse; +import com.qqchen.deploy.backend.system.entity.User; +import com.qqchen.deploy.backend.system.model.request.UserRequest; +import com.qqchen.deploy.backend.system.model.RoleDTO; import org.springframework.transaction.annotation.Transactional; import java.util.List; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/DepartmentServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/DepartmentServiceImpl.java similarity index 80% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/DepartmentServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/DepartmentServiceImpl.java index 35373853..a22235b6 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/DepartmentServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/DepartmentServiceImpl.java @@ -1,22 +1,19 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.converter.DepartmentConverter; -import com.qqchen.deploy.backend.entity.Department; -import com.qqchen.deploy.backend.entity.User; +import com.qqchen.deploy.backend.system.converter.DepartmentConverter; +import com.qqchen.deploy.backend.system.entity.Department; import com.qqchen.deploy.backend.framework.enums.ResponseCode; -import com.qqchen.deploy.backend.framework.exception.BusinessException; import com.qqchen.deploy.backend.framework.exception.UniqueConstraintException; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; -import com.qqchen.deploy.backend.model.DepartmentDTO; -import com.qqchen.deploy.backend.model.response.DepartmentResponse; -import com.qqchen.deploy.backend.repository.IDepartmentRepository; -import com.qqchen.deploy.backend.repository.IUserRepository; -import com.qqchen.deploy.backend.service.IDepartmentService; +import com.qqchen.deploy.backend.system.model.DepartmentDTO; +import com.qqchen.deploy.backend.system.model.response.DepartmentResponse; +import com.qqchen.deploy.backend.system.repository.IDepartmentRepository; +import com.qqchen.deploy.backend.system.repository.IUserRepository; +import com.qqchen.deploy.backend.system.service.IDepartmentService; import com.qqchen.deploy.backend.framework.annotation.ServiceType; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; -import org.springframework.transaction.annotation.Transactional; import java.util.*; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/ExternalSystemServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/ExternalSystemServiceImpl.java similarity index 90% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/ExternalSystemServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/ExternalSystemServiceImpl.java index 5d8a67fb..8e8940b9 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/ExternalSystemServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/ExternalSystemServiceImpl.java @@ -1,18 +1,18 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.entity.ExternalSystem; -import com.qqchen.deploy.backend.enums.ExternalSystemAuthTypeEnum; -import com.qqchen.deploy.backend.enums.ExternalSystemSyncStatusEnum; -import com.qqchen.deploy.backend.enums.ExternalSystemTypeEnum; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.enums.ExternalSystemAuthTypeEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemSyncStatusEnum; +import com.qqchen.deploy.backend.system.enums.ExternalSystemTypeEnum; import com.qqchen.deploy.backend.framework.annotation.ServiceType; import com.qqchen.deploy.backend.framework.enums.ResponseCode; import com.qqchen.deploy.backend.framework.exception.BusinessException; import com.qqchen.deploy.backend.framework.exception.UniqueConstraintException; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; -import com.qqchen.deploy.backend.integration.IExternalSystemIntegration; -import com.qqchen.deploy.backend.model.ExternalSystemDTO; -import com.qqchen.deploy.backend.repository.IExternalSystemRepository; -import com.qqchen.deploy.backend.service.IExternalSystemService; +import com.qqchen.deploy.backend.system.integration.IExternalSystemIntegration; +import com.qqchen.deploy.backend.system.model.ExternalSystemDTO; +import com.qqchen.deploy.backend.system.repository.IExternalSystemRepository; +import com.qqchen.deploy.backend.system.service.IExternalSystemService; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/IJenkinsServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/IJenkinsServiceImpl.java similarity index 100% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/IJenkinsServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/IJenkinsServiceImpl.java diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/MenuServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/MenuServiceImpl.java similarity index 89% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/MenuServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/MenuServiceImpl.java index 467bd092..1d1bb770 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/MenuServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/MenuServiceImpl.java @@ -1,20 +1,19 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.converter.MenuConverter; -import com.qqchen.deploy.backend.converter.PermissionConverter; -import com.qqchen.deploy.backend.entity.Menu; -import com.qqchen.deploy.backend.entity.Permission; +import com.qqchen.deploy.backend.system.converter.MenuConverter; +import com.qqchen.deploy.backend.system.entity.Menu; +import com.qqchen.deploy.backend.system.entity.Permission; import com.qqchen.deploy.backend.framework.annotation.ServiceType; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; -import com.qqchen.deploy.backend.model.MenuDTO; -import com.qqchen.deploy.backend.model.UserDTO; -import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse; -import com.qqchen.deploy.backend.model.response.MenuResponse; -import com.qqchen.deploy.backend.repository.IMenuRepository; -import com.qqchen.deploy.backend.repository.IPermissionRepository; -import com.qqchen.deploy.backend.service.IMenuService; -import com.qqchen.deploy.backend.service.IUserService; -import com.qqchen.deploy.backend.service.IRoleService; +import com.qqchen.deploy.backend.system.model.MenuDTO; +import com.qqchen.deploy.backend.system.model.UserDTO; +import com.qqchen.deploy.backend.system.model.response.MenuPermissionTreeResponse; +import com.qqchen.deploy.backend.system.model.response.MenuResponse; +import com.qqchen.deploy.backend.system.repository.IMenuRepository; +import com.qqchen.deploy.backend.system.repository.IPermissionRepository; +import com.qqchen.deploy.backend.system.service.IMenuService; +import com.qqchen.deploy.backend.system.service.IUserService; +import com.qqchen.deploy.backend.system.service.IRoleService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/PermissionServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/PermissionServiceImpl.java similarity index 83% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/PermissionServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/PermissionServiceImpl.java index 63e3c8c4..eff50701 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/PermissionServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/PermissionServiceImpl.java @@ -1,16 +1,15 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.converter.PermissionConverter; -import com.qqchen.deploy.backend.entity.Menu; -import com.qqchen.deploy.backend.entity.Permission; +import com.qqchen.deploy.backend.system.converter.PermissionConverter; +import com.qqchen.deploy.backend.system.entity.Menu; +import com.qqchen.deploy.backend.system.entity.Permission; import com.qqchen.deploy.backend.framework.annotation.ServiceType; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; -import com.qqchen.deploy.backend.model.PermissionDTO; -import com.qqchen.deploy.backend.repository.IMenuRepository; -import com.qqchen.deploy.backend.repository.IPermissionRepository; -import com.qqchen.deploy.backend.service.IPermissionService; +import com.qqchen.deploy.backend.system.model.PermissionDTO; +import com.qqchen.deploy.backend.system.repository.IMenuRepository; +import com.qqchen.deploy.backend.system.repository.IPermissionRepository; +import com.qqchen.deploy.backend.system.service.IPermissionService; import jakarta.annotation.Resource; -import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/RepositoryServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/RepositoryServiceImpl.java similarity index 100% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/RepositoryServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/RepositoryServiceImpl.java diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/RoleServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/RoleServiceImpl.java similarity index 83% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/RoleServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/RoleServiceImpl.java index 6d3091fa..6ebe584f 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/RoleServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/RoleServiceImpl.java @@ -1,25 +1,25 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.converter.PermissionConverter; -import com.qqchen.deploy.backend.entity.Menu; -import com.qqchen.deploy.backend.entity.Permission; -import com.qqchen.deploy.backend.entity.Role; -import com.qqchen.deploy.backend.entity.RoleTag; -import com.qqchen.deploy.backend.entity.User; +import com.qqchen.deploy.backend.system.converter.PermissionConverter; +import com.qqchen.deploy.backend.system.entity.Menu; +import com.qqchen.deploy.backend.system.entity.Permission; +import com.qqchen.deploy.backend.system.entity.Role; +import com.qqchen.deploy.backend.system.entity.RoleTag; +import com.qqchen.deploy.backend.system.entity.User; import com.qqchen.deploy.backend.framework.enums.ResponseCode; import com.qqchen.deploy.backend.framework.exception.BusinessException; import com.qqchen.deploy.backend.framework.exception.UniqueConstraintException; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; -import com.qqchen.deploy.backend.model.PermissionDTO; -import com.qqchen.deploy.backend.model.RoleDTO; -import com.qqchen.deploy.backend.repository.IMenuRepository; -import com.qqchen.deploy.backend.repository.IPermissionRepository; -import com.qqchen.deploy.backend.repository.IRoleRepository; -import com.qqchen.deploy.backend.repository.IRoleTagRepository; -import com.qqchen.deploy.backend.repository.IUserRepository; -import com.qqchen.deploy.backend.service.IRoleService; +import com.qqchen.deploy.backend.system.model.PermissionDTO; +import com.qqchen.deploy.backend.system.model.RoleDTO; +import com.qqchen.deploy.backend.system.repository.IMenuRepository; +import com.qqchen.deploy.backend.system.repository.IPermissionRepository; +import com.qqchen.deploy.backend.system.repository.IRoleRepository; +import com.qqchen.deploy.backend.system.repository.IRoleTagRepository; +import com.qqchen.deploy.backend.system.repository.IUserRepository; +import com.qqchen.deploy.backend.system.service.IRoleService; import com.qqchen.deploy.backend.framework.annotation.ServiceType; -import com.qqchen.deploy.backend.service.IPermissionService; +import com.qqchen.deploy.backend.system.service.IPermissionService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/RoleTagServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/RoleTagServiceImpl.java similarity index 82% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/RoleTagServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/RoleTagServiceImpl.java index 769122bc..4d7e8a48 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/RoleTagServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/RoleTagServiceImpl.java @@ -1,19 +1,18 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.entity.RoleTag; +import com.qqchen.deploy.backend.system.entity.RoleTag; import com.qqchen.deploy.backend.framework.enums.ResponseCode; import com.qqchen.deploy.backend.framework.exception.BusinessException; import com.qqchen.deploy.backend.framework.exception.UniqueConstraintException; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; -import com.qqchen.deploy.backend.model.RoleTagDTO; -import com.qqchen.deploy.backend.repository.IRoleTagRepository; -import com.qqchen.deploy.backend.service.IRoleTagService; +import com.qqchen.deploy.backend.system.model.RoleTagDTO; +import com.qqchen.deploy.backend.system.repository.IRoleTagRepository; +import com.qqchen.deploy.backend.system.service.IRoleTagService; import com.qqchen.deploy.backend.framework.annotation.ServiceType; import jakarta.transaction.Transactional; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; -import java.util.List; import static com.qqchen.deploy.backend.framework.annotation.ServiceType.Type.DATABASE; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/SysParamServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/SysParamServiceImpl.java similarity index 62% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/SysParamServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/SysParamServiceImpl.java index 371a8def..7c45490c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/SysParamServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/SysParamServiceImpl.java @@ -1,12 +1,12 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.converter.SysParamConverter; -import com.qqchen.deploy.backend.entity.SysParam; +import com.qqchen.deploy.backend.system.converter.SysParamConverter; +import com.qqchen.deploy.backend.system.entity.SysParam; import com.qqchen.deploy.backend.framework.annotation.ServiceType; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; -import com.qqchen.deploy.backend.model.SysParamDTO; -import com.qqchen.deploy.backend.repository.ISysParamRepository; -import com.qqchen.deploy.backend.service.ISysParamService; +import com.qqchen.deploy.backend.system.model.SysParamDTO; +import com.qqchen.deploy.backend.system.repository.ISysParamRepository; +import com.qqchen.deploy.backend.system.service.ISysParamService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/TenantServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/TenantServiceImpl.java similarity index 80% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/TenantServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/TenantServiceImpl.java index 521b95df..5d73f4a4 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/TenantServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/TenantServiceImpl.java @@ -1,11 +1,11 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.entity.Tenant; +import com.qqchen.deploy.backend.system.entity.Tenant; import com.qqchen.deploy.backend.framework.annotation.ServiceType; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; -import com.qqchen.deploy.backend.model.TenantDTO; -import com.qqchen.deploy.backend.repository.ITenantRepository; -import com.qqchen.deploy.backend.service.ITenantService; +import com.qqchen.deploy.backend.system.model.TenantDTO; +import com.qqchen.deploy.backend.system.repository.ITenantRepository; +import com.qqchen.deploy.backend.system.service.ITenantService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/UserDetailsServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/UserDetailsServiceImpl.java similarity index 87% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/UserDetailsServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/UserDetailsServiceImpl.java index 5e4c8756..0523351c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/UserDetailsServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/UserDetailsServiceImpl.java @@ -1,7 +1,7 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.entity.User; -import com.qqchen.deploy.backend.repository.IUserRepository; +import com.qqchen.deploy.backend.system.entity.User; +import com.qqchen.deploy.backend.system.repository.IUserRepository; import jakarta.annotation.Resource; import lombok.RequiredArgsConstructor; import org.springframework.security.core.authority.SimpleGrantedAuthority; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/UserServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/UserServiceImpl.java similarity index 90% rename from backend/src/main/java/com/qqchen/deploy/backend/service/impl/UserServiceImpl.java rename to backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/UserServiceImpl.java index 9171cada..0976fb01 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/service/impl/UserServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/system/service/impl/UserServiceImpl.java @@ -1,6 +1,6 @@ -package com.qqchen.deploy.backend.service.impl; +package com.qqchen.deploy.backend.system.service.impl; -import com.qqchen.deploy.backend.converter.UserConverter; +import com.qqchen.deploy.backend.system.converter.UserConverter; import com.qqchen.deploy.backend.framework.annotation.ServiceType; import com.qqchen.deploy.backend.framework.annotation.Audited; import com.qqchen.deploy.backend.framework.enums.ResponseCode; @@ -10,17 +10,17 @@ import com.qqchen.deploy.backend.framework.security.SecurityUtils; import com.qqchen.deploy.backend.framework.security.util.JwtTokenUtil; import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl; import com.qqchen.deploy.backend.framework.utils.PasswordGenerator; -import com.qqchen.deploy.backend.model.request.LoginRequest; -import com.qqchen.deploy.backend.model.request.UserRequest; -import com.qqchen.deploy.backend.model.response.LoginResponse; -import com.qqchen.deploy.backend.entity.User; -import com.qqchen.deploy.backend.repository.IUserRepository; -import com.qqchen.deploy.backend.service.IUserService; -import com.qqchen.deploy.backend.converter.RoleConverter; -import com.qqchen.deploy.backend.model.UserDTO; -import com.qqchen.deploy.backend.model.RoleDTO; -import com.qqchen.deploy.backend.repository.IDepartmentRepository; -import com.qqchen.deploy.backend.entity.Department; +import com.qqchen.deploy.backend.system.model.request.LoginRequest; +import com.qqchen.deploy.backend.system.model.request.UserRequest; +import com.qqchen.deploy.backend.system.model.response.LoginResponse; +import com.qqchen.deploy.backend.system.entity.User; +import com.qqchen.deploy.backend.system.repository.IUserRepository; +import com.qqchen.deploy.backend.system.service.IUserService; +import com.qqchen.deploy.backend.system.converter.RoleConverter; +import com.qqchen.deploy.backend.system.model.UserDTO; +import com.qqchen.deploy.backend.system.model.RoleDTO; +import com.qqchen.deploy.backend.system.repository.IDepartmentRepository; +import com.qqchen.deploy.backend.system.entity.Department; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.hibernate.Hibernate; diff --git a/backend/src/test/java/com/qqchen/deploy/backend/api/ExternalSystemApiControllerTest.java b/backend/src/test/java/com/qqchen/deploy/backend/api/ExternalSystemApiControllerTest.java index f336bf17..2bb800fe 100644 --- a/backend/src/test/java/com/qqchen/deploy/backend/api/ExternalSystemApiControllerTest.java +++ b/backend/src/test/java/com/qqchen/deploy/backend/api/ExternalSystemApiControllerTest.java @@ -1,14 +1,11 @@ package com.qqchen.deploy.backend.api; -import com.qqchen.deploy.backend.entity.ExternalSystem; -import com.qqchen.deploy.backend.model.ExternalSystemDTO; -import com.qqchen.deploy.backend.service.IExternalSystemService; +import com.qqchen.deploy.backend.system.service.IExternalSystemService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.http.MediaType; import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.web.servlet.MockMvc; diff --git a/backend/src/test/java/com/qqchen/deploy/backend/api/TenantApiControllerTest.java b/backend/src/test/java/com/qqchen/deploy/backend/api/TenantApiControllerTest.java index 4e93f379..56ef2a0a 100644 --- a/backend/src/test/java/com/qqchen/deploy/backend/api/TenantApiControllerTest.java +++ b/backend/src/test/java/com/qqchen/deploy/backend/api/TenantApiControllerTest.java @@ -1,6 +1,6 @@ package com.qqchen.deploy.backend.api; -import com.qqchen.deploy.backend.service.ITenantService; +import com.qqchen.deploy.backend.system.service.ITenantService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; diff --git a/backend/src/test/java/com/qqchen/deploy/backend/service/impl/ExternalSystemServiceImplTest.java b/backend/src/test/java/com/qqchen/deploy/backend/service/impl/ExternalSystemServiceImplTest.java index ec4e60c0..3542fce7 100644 --- a/backend/src/test/java/com/qqchen/deploy/backend/service/impl/ExternalSystemServiceImplTest.java +++ b/backend/src/test/java/com/qqchen/deploy/backend/service/impl/ExternalSystemServiceImplTest.java @@ -1,11 +1,12 @@ package com.qqchen.deploy.backend.service.impl; -import com.qqchen.deploy.backend.entity.ExternalSystem; +import com.qqchen.deploy.backend.system.entity.ExternalSystem; import com.qqchen.deploy.backend.framework.enums.ResponseCode; import com.qqchen.deploy.backend.framework.exception.BusinessException; import com.qqchen.deploy.backend.framework.exception.UniqueConstraintException; -import com.qqchen.deploy.backend.model.ExternalSystemDTO; -import com.qqchen.deploy.backend.repository.IExternalSystemRepository; +import com.qqchen.deploy.backend.system.model.ExternalSystemDTO; +import com.qqchen.deploy.backend.system.repository.IExternalSystemRepository; +import com.qqchen.deploy.backend.system.service.impl.ExternalSystemServiceImpl; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/backend/src/test/java/com/qqchen/deploy/backend/service/impl/MenuServiceImplTest.java b/backend/src/test/java/com/qqchen/deploy/backend/service/impl/MenuServiceImplTest.java index 8425418a..13784407 100644 --- a/backend/src/test/java/com/qqchen/deploy/backend/service/impl/MenuServiceImplTest.java +++ b/backend/src/test/java/com/qqchen/deploy/backend/service/impl/MenuServiceImplTest.java @@ -1,14 +1,15 @@ package com.qqchen.deploy.backend.service.impl; -import com.qqchen.deploy.backend.converter.MenuConverter; -import com.qqchen.deploy.backend.entity.Menu; -import com.qqchen.deploy.backend.entity.Permission; -import com.qqchen.deploy.backend.model.MenuDTO; -import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse; -import com.qqchen.deploy.backend.model.response.MenuResponse; -import com.qqchen.deploy.backend.model.response.PermissionResponse; -import com.qqchen.deploy.backend.repository.IMenuRepository; -import com.qqchen.deploy.backend.repository.IPermissionRepository; +import com.qqchen.deploy.backend.system.converter.MenuConverter; +import com.qqchen.deploy.backend.system.entity.Menu; +import com.qqchen.deploy.backend.system.entity.Permission; +import com.qqchen.deploy.backend.system.model.MenuDTO; +import com.qqchen.deploy.backend.system.model.response.MenuPermissionTreeResponse; +import com.qqchen.deploy.backend.system.model.response.MenuResponse; +import com.qqchen.deploy.backend.system.model.response.PermissionResponse; +import com.qqchen.deploy.backend.system.repository.IMenuRepository; +import com.qqchen.deploy.backend.system.repository.IPermissionRepository; +import com.qqchen.deploy.backend.system.service.impl.MenuServiceImpl; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/backend/src/test/java/com/qqchen/deploy/backend/service/impl/TenantServiceImplTest.java b/backend/src/test/java/com/qqchen/deploy/backend/service/impl/TenantServiceImplTest.java index 35eb192d..bdc16e6a 100644 --- a/backend/src/test/java/com/qqchen/deploy/backend/service/impl/TenantServiceImplTest.java +++ b/backend/src/test/java/com/qqchen/deploy/backend/service/impl/TenantServiceImplTest.java @@ -1,7 +1,8 @@ package com.qqchen.deploy.backend.service.impl; -import com.qqchen.deploy.backend.entity.Tenant; -import com.qqchen.deploy.backend.repository.ITenantRepository; +import com.qqchen.deploy.backend.system.entity.Tenant; +import com.qqchen.deploy.backend.system.repository.ITenantRepository; +import com.qqchen.deploy.backend.system.service.impl.TenantServiceImpl; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired;