Files
shanxia2.0/docs/crm-migration/step-01-prepare.md
T
2026-06-01 08:21:21 +08:00

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。