3.6 KiB
3.6 KiB
步骤一:模块分析 + 编写迁移方案
移植新模块时首先加载此文档。完成后进入 step-02。 前置条件:通用指南已阅读,理解强制要求。
目标
产出该模块的完整迁移方案(7 个小文档),作为后续所有实施步骤的依据。
强制要求
⚠️ 不写方案直接编码是禁止行为。方案必须审核通过后才能进入 step-02。
操作流程
1. 分析原 CRM 模块
在 shanxia/crm/web/ 和 shanxia/crm/backend/ 中全面搜索该模块相关文件,输出:
| 分析维度 | 操作 | 输出 |
|---|---|---|
| 前端页面 | 搜索 crm/{module}/ 下所有 .vue 文件 |
文件映射表 |
| 数据库表 | 从 docs/sql/sx.sql 找 crm_* 表 |
表清单 + DDL |
| API 接口 | 阅读前端 API 调用 + Java Controller | API 清单 |
| 特殊场景 | 搜索定时任务/监听器/批量操作 | 场景清单 |
| 字典数据 | 从 sx.sql 找 crm_% 字典 |
字典清单 |
2. 清理 shanxia2.0 中已有代码
如果该模块之前有部分移植代码,先删除避免干扰:
删除范围:
- web-admin/src/views/crm/{module}/ 目录
- web-admin/src/api/crm/{module}.ts
- backend/app/crud/crm/{module}.py
- backend/app/schemas/crm/{module}.py
- backend/app/models/crm_models.py 中该模块的 Model 类
- backend/app/api/crm.py 中该模块的路由
3. 按模板编写迁移方案
在 docs/crm-migration/plans/{module}/ 目录下,按以下模板逐个创建方案文档:
| 文件 | 模板 | 内容 | 填写指引 |
|---|---|---|---|
01-overview.md |
模板 | 迁移范围、涉及表、文件映射、策略 | 从 sx.sql 和 Java 源码提取 |
02-database.md |
模板 | 原始DDL、迁移后DDL、字段对照表 | 每张表一节,字段逐个对照 |
03-frontend-spec.md |
模板 | 每个页面的字段/按钮/交互流程 | 从原 CRM Vue 组件提取 |
04-api-spec.md |
模板 | URL、参数、响应、业务逻辑 | 从 Java Controller/Service 提取 |
05-special.md |
模板 | 定时任务、导入导出、状态机 | 从 Java Task/Listener 提取 |
06-steps.md |
模板 | 10~20个分步实施计划 | 每步有目标+文件+完成标准 |
07-verify.md |
模板 | 功能验证清单、UI合规检查、测试用例 | 对照原 CRM 功能逐条编写 |
4. 方案审核
方案编写完成后,逐文档检查:
- 每个文档聚焦单一主题,内容多时已拆分为子文档(如 04a/04b)
- 数据库表与 sx.sql 核对一致
- API 清单中每个 URL 有 Java 源码位置
- 前端功能完整性对照表无遗漏
- 字段对照表中 dict_value 与原 CRM 一致
参考资源
| 资源 | 用途 |
|---|---|
docs/客户管理及公海池迁移方案.md |
内容参考(4291行完整方案,但不要照搬格式) |
docs/crm-migration/plan-template/ |
模板文件(按此结构拆分) |
docs/crm-migration/ref-database-rules.md |
数据库适配规则 |
docs/sql/sx.sql |
原 CRM 数据库快照 |
shanxia/crm/web/ |
原 CRM 前端源码 |
shanxia/crm/backend/ |
原 CRM Java 后端源码 |
完成标准
docs/crm-migration/plans/{module}/下所有文档已创建- 每个文档信息完整,未压缩或精简
- 方案审核通过
下一步
方案审核通过后加载 step-02-frontend-copy.md。