# 🚀 交付部署协同管理系统 (RMDC 前置过渡版)

## 1. 系统核心架构

采用关系型数据库模型。放弃以“项目”为维度的扁平记录，改用以**「项目本地化部署状态表（部署实例）」**为核心锚表。所有的环境、网络、中间件和业务微服务数据，均通过单向或双向关联字段与特定的“部署实例”绑定。

## 2. 角色与视图/权限设计

* **行业组/售前（需求方）：**
* **操作：** 仅可通过“表单收集”模式填写《项目基本/升级信息表》。
* **视图：** 只读访问《项目部署全局看板（甘特图/日历视图）》，一目了然查看预期时间和当前进度。


* **交付特战队（执行方）：**
* **操作：** 拥有核心锚表及各个子表的读写权限。
* **权限管控：** 敏感字段（如密码、管理后台用户）利用多维表格的“列权限”设置为特定人员可见/仅创建者可见。



## 3. 核心数据表结构定义

### 3.1 触发源头表 (通过表单收集)

**A. 项目本地化部署需求表 (合并首发与升级)**

* 项目名称 (文本，支持搜索)
* 部署类型 (单选：首次部署 / 平台升级)
* 行业组接口人 / 电话
* 省份 / 城市 (级联选择)
* 飞服平台版本 (如 2.3.0) / 监管平台版本
* 部署资源与前提条件 (富文本/附件：包含网络拓扑、服务器到位证明等)
* 期望交付日期 (日期)

> **💡 自动化动作：** 提交后，利用多维表格自动化机器人，提取核心信息，自动在《项目本地化部署状态表》中新建一条状态为“待排期”的记录。

### 3.2 核心锚表 (中枢调度)

**B. 项目本地化部署状态表 (部署排期与进度台账)**

* 命名空间 (Namespace) (唯一标识，如 `fs-xiongan-prod`，作为全表主键)
* 关联需求记录 (引用自《项目本地化部署需求表》)
* 部署状态 (单选：待排期 / 排期中 / 部署中 / 异常挂起 / 部署完成)
* 当前进度/卡点说明 (文本，供行业组查看了解详情)
* 部署开始时间 / 预计结束时间 (日期格式，用于生成甘特图)
* 部署负责人 / 电话
* **反向关联聚合区（直接透出子表数量，方便检查）：**
* 关联主机数 (自动统计《环境信息表》记录数)
* 公网暴露数 (自动统计《网络信息表》记录数)



### 3.3 基础设施与配置子表 (执行落地)

所有子表必须包含字段：`所属部署 (关联至状态表的命名空间)`

**C. 项目部署环境信息表 (台账：一机一行)**

* 内网IP / 公网IP
* CPU架构 (单选：**amd64** / **arm64** ) *注：严格规范架构类型，禁止随意填写以防镜像拉取失败。*
* 主机规格 (CPU核心数 / 内存 / 系统盘 / 数据盘)
* 主机角色 (单选：master / worker / storage / doris)
* SSH端口 / 用户名
* SSH凭证密码 (列权限管控，禁止非运维人员查看或编辑)

**D. 项目部署业务与中间件信息表 (可合并以简化层级)**

* 组件类型 (单选：微服务 / MySQL / Redis / RabbitMQ / EMQX / MinIO 等)
* 镜像名称与版本：*(需严格保持三段式规范，例如 `nginx:latest` 必须规范填写为 `${HARBOR_HOST}/cmii/nginx:latest`，基础组件镜像如 `ossrs/srs:v5.0.195` 同样需转换为 `${HARBOR_HOST}/cmii/srs:v5.0.195`)*
* 内网暴露 (IP:Port)
* 公网暴露 (是/否，公网Port)
* 认证信息 (用户名/密码 - 列权限强管控)

**E. 交付物与网络访问表 (对行业组输出)**

* 平台访问入口 (URL)
* 网络环境与访问方式 (单选：完全内网 / 单主机公网 / 全公网 + 堡垒机/VPN接入等)
* VPN客户端下载及账号信息

## 4. 状态切换校验流转规则

在多维表格的自动化或数据验证中设置：

* **【待排期】➜【部署中】：** 必须已分配“部署负责人”及“预计结束时间”才可扭转。
* **【部署中】➜【部署完成】：** 必须校验关联的《环境信息表》记录数 ≥ 1，且《网络访问表》已填写平台入口 URL。流转完成后，触发飞书/钉钉 webhook 自动@行业组接口人通知验收。
