← 返回文档索引

模块 B:种子数据生成器 (Seed Data Generator)

目标: 编写 CLI 脚本,一键生成“清华园”、“安徽省十五五”等示例工程的完整树形数据(含财务/资源节点),用于演示和测试。

前置条件:

负责人: 一龙 状态: 待开始


1. 数据结构设计

1.1 清华园工程 (Template: Qinghuayuan 5021)

根节点: qh_5021_root 子结构:

qh_5021_root (总工程)
├── qh_edu (教育子工程)
│   ├── qh_reading (阅读习惯)
│   │   ├── behavior: 每天阅读 30 分钟 (budget: 0, cost: 0)
│   │   └── behavior: 购买绘本 (budget: 500, cost: 120) [资源节点]
│   └── qh_school (学校教育)
│       ├── qh_chinese (语文)
│       └── qh_math (数学)
├── qh_health (健康子工程)
│   └── behavior: 每天跳绳 500 下
└── qh_finance (家庭财务总控) [资源节点]
    ├── qh_fund_edu (教育基金) (budget: 50000, actual: 12500)
    └── qh_fund_health (健康基金) (budget: 20000, actual: 3000)

1.2 安徽省十五五规划 (Template: Anhui 15th Plan)

根节点: anhui_15th_root 子结构:

anhui_15th_root
├── eco_dev (经济发展)
│   ├── new_energy (新能源产业)
│   │   └── byd_project (比亚迪园区工程)
│   │       ├── behavior: 一期厂房建设
│   │       └── behavior: 招聘 5000 人
│   └── bio_med (生物医药)
├── people_livelihood (民生改善)
└── tech_innovation (科技创新)

2. 执行步骤

Step 1: 创建种子脚本文件

文件: backend/src/seeders/qinghuayuan.seeder.ts

Step 2: 实现生成逻辑

Step 3: 添加 CLI 命令

文件: backend/package.json

"scripts": {
  "seed:qinghuayuan": "nest ts-node src/seeders/qinghuayuan.seeder.ts",
  "seed:anhui15th": "nest ts-node src/seeders/anhui15th.seeder.ts"
}

Step 4: 运行并验证

npm run seed:qinghuayuan
curl "http://localhost:3000/api/v1/engineering/tree?tenantId=qh_5021"

3. 验收标准

  1. 运行脚本后,数据库中存在完整的树形数据。
  2. API 能正确返回带 budgetactual_cost 的节点。
  3. 脚本可重复运行(先清理旧数据)。

4. 注意事项


下一步:模块 C (基础 API 增强)

目录