← 返回主页
道纳科技 V2.0 · 业务需求文档 BRD · 工程总览

Daona CPMS v2.0 业务需求文档

央企海外公司数字化操作系统 · 4 域 + AI Agent 矩阵 + 集团驾驶舱 · React 18 + shadcn/ui × go-zero 微服务
⚛️ React 18 + TypeScript
🎨 shadcn/ui + Tailwind CSS
⚡ Vite + Zustand + TanStack Query
🐹 go-zero · Go 1.23
🐘 PostgreSQL + pgvector
📊 ClickHouse + Milvus
🤖 LangChain + Dify + Multi-LLM
🏛 信创:鲲鹏 + 麒麟 + 达梦
业务域
4
微服务
14
AI Agent
8
业务数据
102
数字能力
278
工作台
67
REST API
~350
RPC 方法
~480
文档版本 V2.0 · 编制 2026-06-27 · 配套 Pre-A BP · 仅供内部开发团队

01项目概述

1.1 项目背景

道纳 CPMS v2.0 是为中国央企海外公司打造的「数字化操作系统 + AI 决策中台」,核心切入点是跟随 YUJ Group 58 个海外建材项目自动嵌入部署。本 BRD 是从 Pre-A BP 商业模型派生的工程实现需求文档,指导开发团队 12 个月内交付 v2.0 完整版。

1.2 业务目标

目标M12 (Y1)M24 (Y2)M36 (Y3 / IPO 申报)
嵌入 YUJ 项目数103060
覆盖央企客户数51530
FDE 团队规模1545130
系统稳定性 (SLA)99.5%99.9%99.95%
合规资质国密二级 / 等保三级+ CCRC / 信创适配+ ISO27001 / SOC2

1.3 v2.0 vs v1.0 关键差异

维度v1.0(独立 SaaS)v2.0(YUJ 项目流绑定)
客户获取独立 BD 央企(12-18 月)YUJ 立项即捆绑(1-3 月部署)
部署模式独立租户实例项目级实例 + 集团级聚合
4 步陪跑分散功能4 域工作台 + AI Agent 闭环
AI 能力单点 AI Agent8 类 Agent 矩阵 + 工作流编排
合规计算器4 类海外合规+ 信创国密等保
多端仅 WebWeb + 移动端 + CEO 一屏决策

1.4 范围(In Scope / Out of Scope)

✅ IN SCOPE

本期交付(M0-M12)

  • 4 域工作台(投标/执行/决策/资产)
  • AI Agent 矩阵(8 类)
  • 集团驾驶舱(Web + 移动)
  • 4 类海外合规计算器
  • 多租户 + RBAC + 审计日志
  • 信创全栈适配
❌ OUT OF SCOPE

本期不交付(v3.0 排期)

  • 区块链存证(v3.0)
  • RWA 资产代币化(v4.0)
  • YUJ Capital 基金管理(独立产品)
  • 政府/央企总部级集成(A 轮后)
  • 跨境支付(依赖 YUJ 现有能力)

02角色与权限模型(RBAC + ABAC)

2.1 12 大角色

角色所属核心权限优先级
Super Admin道纳运维租户/系统/审计全权限P0
Tenant Admin央企集团 IT本租户用户/权限/数据管理P0
Group CEO央企集团总部集团驾驶舱 + 战略决策 + 全集团数据只读P0
Subsidiary CEO海外公司本子公司 4 域全权限 + 子公司驾驶舱P0
Project Manager (PM)项目级本项目 4 域操作权限P0
BD Manager子公司投标域全权 + AI BD AgentP0
Compliance Officer子公司/项目合规计算器 + 合规审批节点P0
Finance Manager子公司/项目资产域 + 资金工具 + 财务驾驶舱P0
FDE Engineer道纳驻场跨租户陪跑权限(受 NDA 控制)P1
Auditor央企审计/外审只读 + 审计日志 + 导出P1
Field Engineer项目现场NCR/RFI 上报 + 移动端打卡P1
External Supplier外部供应商仅 Asset 域指定模块(货权/对账)P2

2.2 权限模型:RBAC + ABAC + 数据隔离

① RBAC(基于角色)

用户 → 角色 → 权限点(API/页面/功能按钮)。权限点粒度 = REST endpoint + HTTP method。

② ABAC(基于属性)

动态条件判断:用户属性(部门/项目/层级) × 资源属性(项目/客户/金额)+ 环境属性(时间/IP/设备)= 决策。
例:CEO 仅能审批本子公司项目 + 金额 < $50M

③ 数据隔离(Multi-tenant)

租户级(央企集团) → 子公司级 → 项目级 → 行级(基于 row-level security)。
PostgreSQL RLS 策略 + 业务层 WHERE 双重隔离。

2.3 权限关键场景

场景权限规则
FDE 跨租户陪跑需 Tenant Admin 授权 + 时间窗口(如 7 天)+ 操作记录上链
Group CEO 查看子公司数据仅可只读(驾驶舱聚合视图),不可修改交易数据
合规审批金额 > $10M 必须 Compliance Officer + Finance Manager 双签
审计日志所有写操作(POST/PUT/DELETE)入审计表,180 天保留
数据导出需 Auditor 角色 + 二次验证(短信/OTP)

03业务架构总览

3.1 4 域 + AI Agent + 集团驾驶舱 总体架构

🎯 Layer 0:集团驾驶舱 (Group Cockpit)

CEO 一屏决策
毛利告警
IPO 管线
汇率套保
移动端 H5

🤖 Layer 1:AI Agent 矩阵 (8 类)

BD Agent
合规 Agent
财务 Agent
项目监督 Agent
投标分析 Agent
合同评审 Agent
NCR/RFI Agent
汇率套保 Agent

📊 Layer 2:4 域工作台 (67 工作台)

投标域 (18)
执行域 (22)
决策域 (12)
资产域 (15)

🔧 Layer 3:通用能力 (278 项数字能力)

14 套投标模版引擎
4 类合规计算器
G0-G7 闸门工作流
BOQ 报价引擎
保函全周期
NCR/RFI 闭环

🗄 Layer 4:数据底座 (102 类业务数据)

PostgreSQL(业务)
ClickHouse(分析)
Milvus(向量)
Redis(缓存)
MinIO/OSS(文件)
RabbitMQ(消息)

3.2 4 域的因果关系

业务流闭环: 投标域 找单 → 执行域 做单 → 资产域 收单 → 决策域 复盘 →(数据回灌)→ 投标域 优化。
AI Agent 矩阵横贯 4 域,每个 Agent 服务于不同域的特定场景;集团驾驶舱聚合 4 域指标供 CEO 决策。

3.3 系统能力指标(v2.0 目标)

指标目标说明
并发用户5,00010 项目 × 30 个用户 × 16 个集团
RPS2,000峰值(驾驶舱刷新 + 移动端轮询)
P99 响应时间< 300ms读接口(含 1 跳 RPC)
P99 AI Agent 响应< 8s含 LLM 调用 + 工作流编排
数据规模100TB+3 年累积,含文件/日志/分析
单租户隔离硬隔离独立 DB schema + 文件桶

04投标域(Bid Domain)

投标域核心目标:把"投不投 / 怎么报 / 标书自动化"3 个核心问题工具化,覆盖从客户画像 → 招标响应 → 报价决策 → 投后跟踪全流程。共 18 个工作台

4.1 核心功能模块

B-01

客户画像 (KYP)

14 国央国企买方画像库:决策链/采购偏好/历史合同/付款习惯/竞争对手关系。AI 自动从公开数据更新。
GET /v1/bid/kyp/:client_id
B-02

14 套标书模版引擎

覆盖 GCC/北非/中亚主流标书格式:Aldar/Mubadala/Aramco/ADNOC/Saudi Aramco/NEOM 等。变量化注入 + AI 起草。
POST /v1/bid/template/render
B-03

工厂直供池

52 家中国品牌供应商资源池 + 实时库存/产能/价格/账期。供应商响应招标时间 < 24h。
GET /v1/bid/supply-pool/search
B-04

BOQ 报价工作台

Bill of Quantity 自动报价:成本结构(材料+人工+物流+税+利润)+ 竞品价格库 + 中标概率预测。
POST /v1/bid/boq/calculate
B-05

投标决策沙盘

5 维度评分:客户匹配度/技术能力/价格竞争力/项目利润/风险敞口 → S/A/B/D/F 评级 → 投/不投建议。
POST /v1/bid/decision/score
B-06

S/A/B/D/F 接单红线

D/F 评级自动拒绝(系统硬拦截,需 CEO 二次审批才可推翻)。NEOM/The Line 教训直接编码进规则引擎。
GET /v1/bid/redline/:project_id
B-07

谈判让步阶梯

价格谈判工具:自动生成"首报-第二次让步-底线"3 档报价矩阵 + 让步交换条件建议。
POST /v1/bid/negotiation/ladder
B-08

合同 AI 评审

合同条款 AI 扫描:识别 50+ 高风险条款(无限责任/付款拖延/汇率波动/单方变更等)→ 标红 + 建议修改。
POST /v1/bid/contract/review

4.2 投标域工作流(G0 投前 → G1 决策 → G2 投后)

// 投标工作流状态机(Go state machine)
type BidState int
const (
    G0_Identified   BidState = iota  // 客户机会识别
    G1_Qualified                // KYP + 风险扫描通过
    G2_BidPrep                  // 标书准备中(14 模版选择)
    G3_PricingReview            // BOQ 报价决策(沙盘评分)
    G4_RedlineCheck             // S/A/B/D/F 红线校验
    G5_Submitted                // 已投递
    G6_Negotiating              // 谈判中(让步阶梯)
    G7_Won_or_Lost              // 中标/失标
    G8_ContractSigned           // 合同签约(AI 评审通过)
)

4.3 关键 SLA & 业务规则

规则说明
BOQ 计算响应< 3 秒(含成本库查询 + 竞品比对)
标书模版渲染< 30 秒(包含 AI 起草 200 页标书)
合同 AI 评审< 2 分钟(100 页合同识别 50+ 风险点)
D/F 评级拦截硬拦截(需走升级审批流,CEO + COO 双签)
投标数据保留5 年(合规要求)

05执行域(Execution Domain)

执行域核心目标:G0-G7 项目闸门工作流 + 4 类海外合规自动核查 + NCR/RFI 闭环 + 月度毛利告警。共 22 个工作台

5.1 G0-G7 项目闸门工作流

阶段关键交付物必经审批AI 介入点
G0 立项项目章程 / 团队 / 预算子公司 CEO项目可行性 AI 评估
G1 设计BIM 模型 / 技术方案技术总监BIM 自动检查冲突
G2 采购BOM 拆分 / 供应商签约采购总监BOM AI 优化(替代品建议)
G3 生产工厂排产 / 出货计划生产总监排产 AI 优化
G4 物流跨境清关 / 仓储物流总监清关风险 AI 预警
G5 安装现场施工 / 进度项目经理NCR/RFI 自动归类
G6 验收客户验收 / 整改客户 + 项目经理缺陷分类与影响评估
G7 结算尾款回收 / 质保金财务总监回款风险 AI 预测

5.2 4 类海外合规自动核查

E-CC-01

OFAC / UN / EU 制裁名单

实时校验客户/供应商/最终受益人是否在制裁名单。每日自动更新名单库。核查 < 5 秒
POST /v1/exec/compliance/sanction-check
E-CC-02

沙特化 (Saudization) 计算器

Nitaqat 计划合规:沙特籍员工比例、工资水平、岗位类型自动核算 → 红/黄/绿/铂分级。
POST /v1/exec/compliance/saudization
E-CC-03

IKTVA 计算器(沙特本地化)

In-Kingdom Total Value Add:本地化采购/服务/雇佣/培训比例 → 自动生成 Aramco 合规报告。
POST /v1/exec/compliance/iktva
E-CC-04

Estidama / LEED 可持续

阿联酋 Estidama Pearl Rating + 国际 LEED 双认证计算 → 自动生成绿色建筑评估报告。
POST /v1/exec/compliance/estidama

5.3 NCR/RFI 闭环(不符合项 / 信息请求)

// NCR 状态机
type NCRState int
const (
    Reported      NCRState = iota  // 现场工程师上报
    Triaged                       // AI 分类(轻/中/严重)
    Assigned                      // 分配责任人
    RootCauseAnalysis             // 根因分析
    CorrectiveAction              // 整改方案
    Verification                  // 验证
    Closed                        // 关闭归档
)
// 已沉淀 50+ 项 NCR/RFI 实例为 AI 训练样本

5.4 关键业务规则

规则说明
月度毛利告警项目实际毛利 < 预算毛利 × 80% 时自动告警 CEO + Finance
汇率套保美元/沙特里亚尔 等敞口 > $5M 自动建议套保策略
G 阶段强制审批跳过审批 = 系统硬阻断 + 审计标记
合规失败处理OFAC 命中 → 项目自动暂停 + Compliance Officer 介入

06决策域(Decision Domain)

决策域核心目标:把"集团 CEO 月度 30 天才能拿到子公司报表"压缩到"实时一屏决策"。共 12 个工作台

6.1 CEO 一屏决策驾驶舱

D-01

集团驾驶舱(Web + 移动端)

5 大区块:项目热力图 / 财务红绿灯 / 合规告警 / 中标率漏斗 / 现金流瀑布。实时刷新 < 10 秒
WS /v1/decision/cockpit/stream
D-02

30+ 单 IPO 管线驾驶舱

投行视角:管线项目按 IPO 进度阶段聚合,预测季度交付 / 年度营收 / 估值锚定。
GET /v1/decision/ipo-pipeline
D-03

谈判让步阶梯(决策级)

大客户合同谈判时,AI 推演"3 档让步" → 每一档对应预期毛利率 + 中标概率。
POST /v1/decision/negotiation/simulate
D-04

合同 AI 评审(决策级)

CEO 审批合同前,AI 自动汇总:风险点 / 类似合同对比 / 历史争议条款。
POST /v1/decision/contract/exec-review
D-05

战略沙盘(What-If)

模拟器:若 Y2 进入新市场 + 收 1 个子公司 → 5 年财务影响 + 估值变化。
POST /v1/decision/strategy/whatif
D-06

月度复盘报告

AI 自动生成月度复盘 PPT/PDF:业务表现 / 偏差分析 / 下月行动建议。
POST /v1/decision/monthly-review/generate

6.2 CEO 移动端(H5 + 微信小程序)

移动端模块核心功能
首屏4 个关键数字:今日营收 / 本月毛利 / 现金流 / 待审批数
项目雷达红色/黄色项目地图 + 一键钻取到具体 NCR
移动审批支持 6 类审批(合同/采购/付款/休假/差旅/出海)
语音问答"小道,本月毛利如何?" → AI 语音回答 + 图表
消息中心红色告警实时推送 + 微信 / 短信 / Slack 多渠道

07资产域(Asset Domain)

资产域核心目标:把 BA/LC/SBLC/BG 银行工具组合 + 货权管理 + 保函全周期 + BOQ 价格库结构化沉淀。共 15 个工作台

7.1 核心模块

A-01

BOQ 报价工作台

100,000+ SKU 中东建材成本库 + 实时汇率 + 物流报价 + 税费计算器,3 秒生成完整 BOQ 报价。
POST /v1/asset/boq/quote
A-02

保函全周期管理

投标保函 / 履约保函 / 预付款保函 / 质量保函 4 类。覆盖签发 → 期限管理 → 释放/退还 → 索赔。
GET /v1/asset/guarantee/lifecycle
A-03

BA/LC/SBLC/BG 资金工具池

17 家银行合作伙伴接口:DFSA/ADGM/UAE CB 三牌后净息差 +1.3pp。资金工具组合优化器。
POST /v1/asset/finance/optimize
A-04

货权质押管理

YUJ 保税仓 15 万㎡ 货权登记 → 区块链存证(v3.0)→ 智能合约提货。Currently DB-based。
POST /v1/asset/cargo-pledge
A-05

NCR/RFI 闭环(资产视角)

从财务角度跟踪:NCR 整改成本 / 客户索赔 / 项目利润影响。
GET /v1/asset/ncr/financial-impact
A-06

应收应付 + 现金流瀑布

实时现金流预测:T+3 / T+7 / T+30 / T+90 应收应付预测 + 资金缺口告警。
GET /v1/asset/cashflow/forecast

7.2 资金工具池业务规则

工具适用场景系统能力
BA(银行承兑)跨境贸易付款17 家银行 BA 比价 + 自动签发
LC(信用证)大额采购LC 条款 AI 解析 + 风险点标红
SBLC(备用信用证)履约担保金额/期限/受益人参数化签发
BG(银行保函)投标/预付款自动签发 + 期限管理 + 释放追踪
福费廷 (Forfaiting)应收账款贴现买断价/利率 AI 比价

08AI Agent 矩阵(8 大 Agent)

8.1 8 大 Agent 全景

Agent所属域核心能力底层 LLM调用频率
BD Agent投标域客户画像更新 / 商机推荐 / 关系链挖掘Claude 4.7 / 通义千问每客户日均 5 次
合规 Agent执行域OFAC 名单核查 / IKTVA 报告生成 / 沙特化预警DeepSeek + 规则引擎每项目日均 20 次
财务 Agent资产域现金流预测 / 汇率套保建议 / 资金工具优化Claude 4.7每项目日均 10 次
项目监督 Agent执行域项目进度异常检测 / G 闸门状态健康度GPT-5每项目小时级
投标分析 Agent投标域BOQ 自动报价 / 中标概率预测 / S/A/B 评级Claude 4.7 + GPT-5每标书 1 次
合同评审 Agent投标/决策域50+ 风险条款识别 / 修改建议 / 历史合同对比Claude 4.7每合同 1 次
NCR/RFI Agent执行域NCR 自动分类 / 根因分析 / 整改方案推荐通义千问每 NCR 1 次
汇率套保 Agent资产域多币种敞口监控 / 套保策略推荐DeepSeek实时

8.2 Agent 技术架构(LangChain + Dify)

// AI Agent 工作流编排架构
┌───────────────────────────────────────────────────────────┐
│       前端调用:POST /v1/ai/agent/:agent_id/invoke           │
└─────────────────────────┬─────────────────────────────────┘┌───────────────────────────────────────────────────────────┐
│   go-zero: ai-agent-api → ai-agent-rpc (orchestrator)     │
└─────────────────────────┬─────────────────────────────────┘┌───────────────────────────────────────────────────────────┐
│              LangChain + Dify Workflow Engine              │
│   ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐  │
│   │ Retriever│→ │ Reasoner │→ │ Tools    │→ │ Responder│  │
│   │ (RAG)    │  │ (LLM)    │  │ (Action) │  │ (Format) │  │
│   └──────────┘  └──────────┘  └──────────┘  └──────────┘  │
└─────┬───────────┬───────────┬───────────┬─────────────────┘
       ↓           ↓           ↓           ↓
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Milvus  │ │  LLM    │ │ Internal│ │ Stream  │
│ Vector  │ │  API    │ │  RPC    │ │ Response│
└─────────┘ └─────────┘ └─────────┘ └─────────┘

8.3 大模型选型

场景推荐模型理由
境外项目(中东/中亚)Claude 4.7 / GPT-5多语言能力强、上下文窗口大
境内央企(信创合规)DeepSeek / 通义千问 / 智谱 GLM本地化部署 + 信创认证
财务/数字密集型Claude 4.7推理能力强、错误率低
合同/法律评审Claude 4.7200K+ context、专业领域准确
结构化数据抽取DeepSeek速度快、成本低
成本控制:所有 Agent 调用走道纳统一 LLM 网关,自动按场景路由到最优模型;缓存常见 query;统计每个 Agent 月度成本。预计 M12 LLM 月成本 < ¥50 万。

09数据模型(102 类业务数据)

9.1 核心实体 ER(简化版)

// 12 大核心实体(PostgreSQL 主表)

CREATE TABLE tenant ( -- 租户(央企集团)
    id BIGSERIAL PRIMARY KEY,
    name VARCHAR(200),
    code VARCHAR(50) UNIQUE,
    created_at TIMESTAMP
);

CREATE TABLE subsidiary ( -- 海外公司
    id BIGSERIAL PRIMARY KEY,
    tenant_id BIGINT REFERENCES tenant(id),
    country VARCHAR(10), -- ISO 3166-1
    region VARCHAR(50) -- 中东/中亚/东南亚
);

CREATE TABLE project ( -- 项目(核心业务单元)
    id BIGSERIAL PRIMARY KEY,
    tenant_id BIGINT, subsidiary_id BIGINT,
    name VARCHAR(200), client_id BIGINT,
    status VARCHAR(20), -- G0-G7 + Closed
    contract_amount NUMERIC(18,2),
    currency CHAR(3),
    start_date DATE, expected_end DATE,
    yuj_bound BOOLEAN DEFAULT TRUE -- YUJ 项目流标记
);

CREATE TABLE bid ( -- 投标记录
    id BIGSERIAL, project_id BIGINT,
    state VARCHAR(20), -- G0_Identified ... G8_ContractSigned
    grade CHAR(1), -- S/A/B/D/F
    boq_total NUMERIC(18,2),
    win_probability NUMERIC(5,2) -- AI 预测
);

CREATE TABLE ncr ( -- 不符合项
    id BIGSERIAL, project_id BIGINT,
    severity VARCHAR(10), -- light/medium/critical
    state VARCHAR(20),
    root_cause TEXT, corrective_action TEXT
);

-- 其余 7 张核心表:client, supplier, contract, guarantee, cargo_pledge, ai_agent_call, audit_log
-- 102 类业务数据 = 12 主表 + 90 业务流水/统计/明细表

9.2 数据分层架构

数据库用途规模
OLTP(事务)PostgreSQL 16 + pgvector业务交易 + 主数据 + 向量搜索(轻量)~5TB / 3 年
OLAP(分析)ClickHouse驾驶舱聚合 / 报表 / BI~50TB / 3 年
向量库(AI)MilvusRAG 知识库 / 标书/合同向量~5TB
缓存Redis 7session / 热数据 / 限流~100GB
消息队列RabbitMQ + Kafka异步任务 / 事件驱动
文件存储MinIO / 阿里 OSS合同/标书/图片/视频~30TB
搜索Elasticsearch全文检索 / 日志~10TB

9.3 信创适配(生产环境)

组件开源/海外信创替代
OSCentOS / Ubuntu麒麟 / 统信 UOS
CPUx86_64鲲鹏 920 / 飞腾
数据库PostgreSQL达梦 DM8 / 人大金仓 KingbaseES
中间件Redis / Kafka东方通 TongRDS / TongQ
容器Docker / K8s原生兼容(无需替换)

10后端架构:go-zero 微服务(14 个服务)

10.1 微服务清单

服务类型职责端口依赖
gatewayAPI Gateway路由 / 鉴权 / 限流 / 日志8888所有 API
auth-api + auth-rpcAPI + RPC登录 / 鉴权 / JWT / RBAC8001 / 9001user-rpc
user-api + user-rpcAPI + RPC用户 / 租户 / 角色管理8002 / 9002
bid-api + bid-rpcAPI + RPC投标域:KYP / BOQ / 标书 / 评级8003 / 9003ai-rpc, user-rpc
exec-api + exec-rpcAPI + RPC执行域:G0-G7 / NCR / 合规8004 / 9004compliance-rpc
decision-api + decision-rpcAPI + RPC决策域:驾驶舱 / 战略沙盘8005 / 9005所有 -rpc
asset-api + asset-rpcAPI + RPC资产域:保函 / BA-LC / 货权8006 / 9006
ai-agent-api + ai-agent-rpcAPI + RPCAI Agent 矩阵编排8007 / 9007LangChain/Dify
compliance-rpcRPC4 类合规计算器9008外部名单 API
notification-rpcRPC消息推送(短信/微信/Slack/邮件)9009第三方
file-rpcRPC文件上传/下载/转换9010MinIO/OSS
audit-rpcRPC审计日志(所有写操作)9011
analytics-rpcRPC驾驶舱聚合 / BI 查询9012ClickHouse
scheduler-rpcRPC定时任务(汇率/制裁名单/月报生成)9013

10.2 go-zero 项目结构

daona-cpms-backend/
├── gateway/                  # 网关
│   ├── etc/gateway.yaml
│   ├── internal/middleware/  # JWT / 限流 / 日志
│   └── gateway.go
├── services/
│   ├── auth/
│   │   ├── api/              # REST API 层
│   │   │   ├── etc/auth-api.yaml
│   │   │   ├── internal/
│   │   │   │   ├── handler/
│   │   │   │   ├── logic/
│   │   │   │   ├── svc/
│   │   │   │   └── types/
│   │   │   ├── auth.api      # goctl 生成源
│   │   │   └── auth.go
│   │   └── rpc/              # gRPC 层
│   │       ├── etc/auth-rpc.yaml
│   │       ├── internal/server/
│   │       ├── auth.proto    # protobuf 定义
│   │       └── auth.go
│   ├── bid/ (同构)
│   ├── exec/ (同构)
│   ├── decision/ (同构)
│   ├── asset/ (同构)
│   ├── ai-agent/ (同构)
│   └── ...
├── common/                   # 通用包
│   ├── model/                # sqlc / ent 生成的 model
│   ├── errorx/               # 业务错误码
│   ├── middleware/
│   ├── llm/                  # LLM 调用封装
│   └── audit/
├── deploy/
│   ├── docker-compose.yaml
│   ├── k8s/
│   └── helm/
├── scripts/                  # goctl 生成脚本
└── go.mod

10.3 go-zero 关键技术决策

决策点选型理由
API → RPC 通信gRPC + protobuf性能 + 强类型 + go-zero 原生
服务发现etcdgo-zero 原生支持
配置中心etcd + Nacos动态配置 + 信创合规
分布式事务Saga + 本地消息表不用 TCC(复杂度高)
缓存go-zero 内置 cache + Redis多级缓存
限流go-zero token bucketAPI 网关层 + 业务接口层
熔断降级go-zero breaker原生
日志go-zero logx + ELK
链路追踪OpenTelemetry + Jaeger跨语言标准
ORMsqlc + sqlx性能 + 类型安全

10.4 .api 文件示例(投标域)

// services/bid/api/bid.api
syntax = "v1"

info (
    title:   "Daona Bid Domain API"
    desc:    "投标域 REST 接口"
    version: "v2.0"
)

type BoqQuoteReq {
    ProjectId   int64  `json:"project_id"`
    Currency    string `json:"currency"`
    Items       []BoqItem `json:"items"`
}

type BoqQuoteResp {
    TotalAmount float64 `json:"total_amount"`
    Breakdown   CostBreakdown `json:"breakdown"`
    WinProb     float64 `json:"win_probability"`
}

@server(
    group:      bid
    jwt:        Auth
    middleware: Audit,RateLimit
)
service bid-api {
    @handler BoqQuote
    post /v1/bid/boq/quote (BoqQuoteReq) returns (BoqQuoteResp)
}

11前端架构:React 18 + shadcn/ui

11.1 技术栈

类别选型用途
框架React 18 + TypeScript 5主框架
构建Vite 5开发 + 构建
UI 组件shadcn/ui + Radix UI无缝 Tailwind 组件库
样式Tailwind CSS 3.4原子化 CSS
路由React Router 6 (Data Router)路由 + loader
状态Zustand全局状态(轻量)
异步TanStack Query (React Query) v5请求缓存 + 同步
表单React Hook Form + Zod表单 + 校验
图表Recharts + ECharts驾驶舱 / BI
地图Mapbox / 高德项目地理分布
富文本TipTap合同 / 标书编辑
i18ni18next中英 + 阿拉伯文(RTL)
测试Vitest + Playwright单测 + E2E
代码规范ESLint + Prettier + Husky

11.2 项目结构

daona-cpms-frontend/
├── src/
│   ├── routes/                  # React Router data routes
│   │   ├── _root.tsx
│   │   ├── auth/login.tsx
│   │   ├── dashboard/index.tsx       # 集团驾驶舱
│   │   ├── bid/                      # 投标域(18 工作台)
│   │   ├── exec/                     # 执行域(22 工作台)
│   │   ├── decision/                 # 决策域(12 工作台)
│   │   ├── asset/                    # 资产域(15 工作台)
│   │   ├── ai-agents/
│   │   └── admin/
│   ├── components/
│   │   ├── ui/                       # shadcn/ui 生成组件
│   │   │   ├── button.tsx
│   │   │   ├── dialog.tsx
│   │   │   ├── table.tsx
│   │   │   └── ...
│   │   ├── domain/                   # 业务组件
│   │   │   ├── bid/BoqEditor.tsx
│   │   │   ├── exec/GateFlow.tsx
│   │   │   ├── decision/Cockpit.tsx
│   │   │   └── asset/GuaranteeCard.tsx
│   │   └── layout/
│   ├── hooks/
│   ├── stores/                  # Zustand stores
│   ├── api/                     # API client (typed via openapi-ts)
│   ├── i18n/
│   └── main.tsx
├── public/
├── tailwind.config.ts
├── components.json              # shadcn/ui 配置
├── vite.config.ts
└── package.json

11.3 shadcn/ui 关键组件使用清单

组件用途使用场景
Table + DataTable数据表格项目列表 / BOQ 明细 / 标书清单
Dialog + Sheet弹窗 / 侧边栏详情查看 / 表单编辑
Form + Input表单所有数据录入
Select + Combobox下拉选择客户/供应商/项目选择
Tabs标签切换4 域工作台导航
Card卡片驾驶舱 KPI 卡
Toast + Alert通知合规告警 / 操作反馈
Command命令面板全局搜索 (Ctrl+K)
Calendar日期选择合同日期 / G 阶段日期
Progress进度项目进度 / 上传进度

11.4 关键页面 wireframe(文字版)

// 集团驾驶舱 (dashboard/index.tsx)
┌──────────────────────────────────────────────────────────┐
│ Header: 道纳 CPMS │ 搜索 (Ctrl+K) │ 通知 │ 用户          │
├──────────────────────────────────────────────────────────┤
│ Sidebar      │ 主区                                       │
│ 📊 驾驶舱     │ ┌─────────┐ ┌─────────┐ ┌─────────┐         │
│ 📋 投标       │ │ 今日营收│ │本月毛利 │ │ 现金流  │   KPI   │
│ ⚙️ 执行       │ └─────────┘ └─────────┘ └─────────┘         │
│ 🎯 决策       │                                            │
│ 💎 资产       │ ┌──────────────────────────────────────┐   │
│ 🤖 AI Agent  │ │   项目地图(红/黄/绿)                │   │
│ 👤 我的       │ └──────────────────────────────────────┘   │
│              │                                            │
│              │ ┌─────────────────┐ ┌────────────────┐    │
│              │ │ 中标率漏斗      │ │ AI Agent 通知  │    │
│              │ └─────────────────┘ └────────────────┘    │
└──────────────────────────────────────────────────────────┘

11.5 移动端策略

技术覆盖功能
移动 H5React 同代码 + Tailwind 响应式CEO 一屏决策 + 移动审批 + 消息中心
微信小程序Taro (React 同构)同上 + 微信集成
原生 App(v3.0)React Native现场工程师 NCR/RFI 上报 + 离线

12API 规范

12.1 REST API 设计原则

规则说明
版本URL 中显式:/v1/... / /v2/...
资源命名复数名词:/v1/projects/v1/bids/:id
HTTP 方法GET (读) / POST (创建) / PUT (全量更新) / PATCH (部分) / DELETE
响应格式统一包裹:{ "code": 0, "msg": "ok", "data": {...} }
错误码0 = 成功;1xxx = 通用;2xxx-9xxx = 业务域;HTTP status 也对应
分页?page=1&size=20,返回 { list, total, page, size }
过滤?status=G3&country=AE
排序?sort=-created_at,name (- 为降序)
认证JWT Bearer Token,header Authorization: Bearer xxx
幂等POST 接口支持 Idempotency-Key header

12.2 API 请求/响应示例

// POST /v1/bid/boq/quote
// Request
{
  "project_id": 12345,
  "currency": "USD",
  "items": [
    {"sku": "ALU-3MM-2440", "qty": 5000, "unit": "m2"},
    {"sku": "GLASS-12MM-LOW-E", "qty": 3000, "unit": "m2"}
  ]
}

// Response
{
  "code": 0,
  "msg": "ok",
  "data": {
    "total_amount": 1850000.00,
    "breakdown": {
      "material": 1100000,
      "labor": 280000,
      "logistics": 150000,
      "tax": 120000,
      "profit": 200000
    },
    "win_probability": 0.68,
    "grade": "A",
    "ai_insights": ["建议适当下调铝材报价 3%"]
  },
  "request_id": "req_abc123"
}

12.3 错误码规范

范围含义示例
0成功
1000-1999通用错误1001 参数错误 / 1002 未授权 / 1003 限流
2000-2999认证/权限2001 token 过期 / 2002 权限不足
3000-3999用户/租户3001 用户不存在 / 3002 租户停用
4000-4999投标域4001 BOQ 计算失败 / 4002 标书模版不存在
5000-5999执行域5001 G 阶段不允许跳跃 / 5002 OFAC 命中
6000-6999决策域
7000-7999资产域7001 保函已签发不可撤销
8000-8999AI Agent8001 LLM API 超时 / 8002 上下文超限
9000-9999系统错误9001 DB 不可用 / 9999 内部错误

12.4 WebSocket / SSE

场景协议endpoint
驾驶舱实时刷新WebSocket/ws/v1/decision/cockpit
AI Agent 流式响应SSE/sse/v1/ai/agent/:id/stream
消息推送WebSocket/ws/v1/notification
NCR 实时上报WebSocket/ws/v1/exec/ncr

13非功能需求

13.1 性能

指标目标
API P50 / P9950ms / 300ms(读);100ms / 800ms(写)
AI Agent P99< 8 秒(含 LLM 调用)
页面 FCP / TTI< 1.5s / < 3.0s
系统可用性 SLA99.95%(M36 目标)
RTO / RPORTO < 30 分 / RPO < 5 分

13.2 安全

类别措施
传输加密TLS 1.3,国密 SM2/SM3/SM4 双栈
存储加密数据库 TDE + 文件 AES-256
认证JWT + Refresh Token + MFA(高敏感操作)
授权RBAC + ABAC + 行级安全(RLS)
审计所有写操作 + 数据导出 100% 入审计表,180 天保留
漏洞扫描每周 SCA + SAST + DAST
渗透测试每季度第三方
数据脱敏非生产环境自动脱敏(金额/姓名/电话)

13.3 合规资质(M12 必须拿到)

资质认证机构必要性
国密二级(密评)商密办央企必要
等保三级公安部央企必要
CCRC 信息安全服务中国网络安全审查认证央企必要
信创适配认证国家信创工委会央企必要
ISO 27001国际海外项目
SOC 2 Type II美国 AICPA面向跨国客户
GDPR / DIFC DPL欧盟 / 迪拜海外用户数据

13.4 可扩展性

维度策略
水平扩展所有 API / RPC 无状态,K8s HPA 自动扩缩容
数据库分片按租户分库 → 按项目分表(> 1 亿行时)
异步处理耗时任务(AI 调用 / 报表生成)入 RabbitMQ / Kafka
读写分离PostgreSQL 主从 + 读副本
缓存多级(L1 进程内 + L2 Redis)+ TTL 策略

14部署架构与排期

14.1 部署架构

// 生产环境部署拓扑(信创适配 + 多可用区)
┌─────────────────────────────────────────────────────────────┐
│  Internet → WAF (Cloudflare + 国内 CDN) → SLB (阿里 LB)      │
└────────────────────────┬────────────────────────────────────┘┌─────────────────────────────────────────────────────────────┐
│       Kubernetes Cluster (阿里 ACK / 华为 CCE / 自建)        │
│  ┌──────────────────────────────────────────────────────┐   │
│  │ Namespace: gateway                                    │   │
│  │   - gateway (Deployment, 3 replicas, HPA)            │   │
│  └──────────────────────────────────────────────────────┘   │
│  ┌──────────────────────────────────────────────────────┐   │
│  │ Namespace: services                                   │   │
│  │   - auth, user, bid, exec, decision, asset 等 14 服务 │   │
│  │   - 每服务 3-6 replicas (按流量)                      │   │
│  └──────────────────────────────────────────────────────┘   │
│  ┌──────────────────────────────────────────────────────┐   │
│  │ Namespace: ai                                         │   │
│  │   - ai-agent-api/rpc + LangChain workers              │   │
│  │   - Dify 工作流编排                                   │   │
│  └──────────────────────────────────────────────────────┘   │
│  ┌──────────────────────────────────────────────────────┐   │
│  │ Namespace: data                                       │   │
│  │   - PostgreSQL StatefulSet (主 + 2 从)                │   │
│  │   - ClickHouse / Milvus / Redis / RabbitMQ            │   │
│  └──────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────┐
│  外部依赖:LLM API / 银行 API / OFAC 名单 / OSS 文件       │
└─────────────────────────────────────────────────────────────┘

14.2 环境矩阵

环境用途资源数据
dev开发自用docker-compose 单机mock 数据
sit集成测试K8s 1 节点脱敏样本
uat客户验收K8s 3 节点客户脱敏数据
staging预发同生产 50%生产快照
prod生产K8s 多 AZ 全规模生产数据
prod-信创央企信创环境鲲鹏 + 麒麟同 prod 镜像

14.3 CI/CD(GitLab CI + ArgoCD)

# .gitlab-ci.yml 简化版
stages:
  - lint
  - test
  - build
  - scan          # SAST + SCA + 镜像扫描
  - deploy-dev
  - deploy-sit
  - deploy-uat    # 手动触发
  - deploy-prod   # 手动触发 + 双签

backend-build:
  stage: build
  script:
    - "go build -ldflags '-s -w' -o bin/ ./..."
    - "docker build -t daona/{service}:$CI_COMMIT_SHA ."
    - "docker push registry.daona.com/{service}:$CI_COMMIT_SHA"

frontend-build:
  stage: build
  script:
    - "pnpm install --frozen-lockfile"
    - "pnpm run build"
    - "docker build -t daona/frontend:$CI_COMMIT_SHA ."

14.4 12 个月排期(与 BP 节奏对齐)

阶段月份关键交付团队
Sprint 0M1架构设计 + 基础设施 + CI/CD5 人
Sprint 1-2M2-M3auth / user / gateway + 投标域 MVP(B-01/02/04)+ shadcn/ui 基础10 人
Sprint 3-4M4-M5执行域 G0-G3 + 4 类合规计算器 + 第 1 个 YUJ 项目部署15 人
Sprint 5-6M6-M7资产域(BOQ/保函/资金工具)+ 3 个 AI Agent + 国密+等保审核25 人
Sprint 7-8M8-M9决策域驾驶舱 + CEO 移动端 + 剩余 5 个 AI Agent35 人
Sprint 9-10M10-M1110 项目并行部署 + 性能优化 + 信创适配50 人
Sprint 11-12M12v2.0 GA 上线 + ISO27001 / SOC2 启动 + 客户上线培训50 人

14.5 团队配比

角色M3M6M12
前端 (React + shadcn)3610
后端 (go-zero)41015
AI / Agent 工程师135
架构 / SRE123
测试 (含安全)135
产品 / 设计235
FDE(驻场客户)2815
合计143558
关键依赖与风险(项目交付层面):
① 国密+等保认证周期 12 月(与开发并行,M11 必须到手);
② shadcn/ui 阿拉伯文 RTL 支持需自行扩展(M3 投入 1 人月);
③ 大模型 API 在中东项目的合规出境需提前 3 月与法务沟通;
④ 信创适配(鲲鹏+达梦)需 2 人月专门测试(M9-M10)。

14.6 验收标准(Definition of Done)

层级验收标准
代码单测覆盖率 ≥ 70% / Lint 100% 通过 / 安全扫描 0 高危
功能所有 Acceptance Criteria 通过 + PM/PO 验收签字
性能SLA 达标 + 压测报告通过
安全渗透测试无高危 + 合规审核通过
客户验收UAT 通过率 ≥ 95% + 客户签字
道纳 CPMS v2.0 业务需求文档 BRD
React 18 + shadcn/ui × go-zero · 编制 2026-06-27 · 配套 Pre-A BP V2.0
仅供内部开发团队 · 文档版本将随 Sprint 迭代更新