dingdanquanliucheng/确定版需求说明书.md

1650 lines
41 KiB
Markdown
Raw Normal View History

2026-05-06 11:57:56 +08:00
# 订单管理系统需求说明书(确定版)
## 1. 文档信息
- 项目名称:订单管理系统
- 文档名称:确定版需求说明书
- 文档版本V1.0
- 编写日期2026-05-05
- 适用端WEB 业务员端、小程序管理层端、小程序司机端、WEB 管理后台
---
## 2. 项目背景
本系统用于管理销售订单、客户、产品、工厂、物流任务、回扣、欠款提醒和业绩统计等业务流程,覆盖业务员、管理层、秘书、司机和后台管理员等多个角色。
系统目标是实现订单从录入、审核、下发、履约到统计的完整闭环,同时支持权限隔离、信息可见性控制、提醒机制和 AI 辅助识别能力。
---
## 3. 建设目标
### 3.1 业务目标
1. 业务员可快速录入销售订单并提交审核。
2. 管理层可查看订单利润并进行最终审批。
3. 订单审批通过后可生成下发工厂的复制文本。
4. 司机可通过小程序完成接单、揽货、送达。
5. 系统可自动对物流超时、欠款超期、长期未下单客户进行提醒。
6. 后台可统一维护客户、产品、工厂、用户、角色和系统配置。
### 3.2 产品目标
- 建立订单从录入到完成的闭环管理。
- 建立不同角色的信息隔离与权限控制。
- 引入 AI 辅助识别与信息整理,提高录入和匹配效率。
- 通过配置化规则支持提醒和统计能力。
---
## 4. 角色定义
### 4.1 业务员
负责客户维护、订单录入、提交审核、查看个人订单、跟踪订单状态、处理系统提醒、发起取消申请等。
### 4.2 管理层 / 何总
负责审核销售单、查看完整订单信息、判断订单是否盈利、审批取消、查看全局经营数据。
### 4.3 何总秘书
负责物流图片录入、AI 识别辅助、订单信息整理等操作。
### 4.4 司机
负责接收运输任务、确认揽货、确认送达、上传照片、查看任务详情。
### 4.5 后台管理员
负责用户、角色、菜单、配置、客户、产品、工厂等基础数据管理,以及统计报表维护。
---
## 5. 端与模块划分
### 5.1 WEB 业务员端
用于业务员录单、查单、查看提醒、查看订单状态。
### 5.2 小程序管理层端
用于何总等管理人员审批订单、查看利润、处理取消审批、查看下发信息。
### 5.3 小程序司机端
用于司机查看任务、接单、揽货、送达、上传照片。
### 5.4 WEB 管理后台
用于客户、产品、工厂、员工、角色、菜单、配置、报表等基础管理。
---
## 6. 确认后的业务规则
### 6.1 订单状态定义
订单状态定义如下:
- 草稿
- 待审核
- 已通过
- 已退回
- 待下发工厂
- 待司机接单
- 已接单
- 已揽货
- 已送达
- 已取消
- 生产中
- 已发货
- 已完成
- 已结算
### 6.2 订单取消规则
- 草稿、待审核状态的订单可直接取消。
- 已通过后的订单取消需何总确认。
- 已进入履约阶段的订单,允许取消,但必须经过特殊审批规则。
### 6.3 新客户判定规则
- 新客户识别标准为:**手机号 + 姓名同时匹配**。
- 批量导入客户时,同样按姓名 + 手机号进行去重校验。
### 6.4 利润计算规则
利润公式统一如下:
- **利润 = 销售价 - 成本价 - 回扣 - 运费 - 税费 - 其他费用**
- **利润率 = 利润 ÷ 销售价 × 100%**
### 6.5 提醒规则
#### 6.5.1 物流超时提醒
- 第一个物流节点定义为:首次出现揽件/物流流转信息的节点。
- 当第一个物流节点超过 2 天无流转信息时,仅提醒一次。
#### 6.5.2 欠款提醒
- 月结客户信息维护在客户资料中。
- 欠款超期提醒起算节点支持配置:订单日期、对账日期、发货日期。
- 提醒对象为业务员。
#### 6.5.3 长时间未下单提醒
- 可配置客户长期未下单的周期。
- 可配置金额阈值。
- 低于金额阈值的小客户不纳入提醒范围。
### 6.6 AI 规则
- AI 仅用于辅助识别和整理。
- 最终结果由人工确认。
- 对识别不清晰或相似度高的订单,业务员或秘书需人工判断。
- AI 的原始识别结果与人工修正结果均需保留。
- AI 不作为自动审批的唯一依据。
### 6.7 工厂协同规则
- 当前工厂仅作为基础字典数据维护。
- 系统不建设工厂独立登录端。
- 审批通过后,系统生成可复制文本供人工发送给工厂。
- 不同工厂可生成不同模板内容,但本期均以文本复制为主。
### 6.8 司机端可见范围
司机端仅可查看以下信息:
- 取货地址
- 取件内容
- 数量
- 关联工厂
- 任务状态
- 部分所属业务员信息
司机端不可查看以下信息:
- 客户敏感信息
- 财务敏感信息
- 非任务相关内容
### 6.9 报表规则
- 业绩统计按月度、季度、年度维度展示。
- 报表统计内容包含订单数量、订单金额。
- 报表按工业品、日用品拆分统计。
- 电商平台订单通过订单来源标签进行识别并剔除。
- 报表支持导出。
- 提成核对相关统计纳入报表范围。
### 6.10 订单通知规则
- 订单状态变化时,相关角色可收到通知。
- 业务员仅能看到自己相关订单的有限信息。
- 管理层可查看订单全量信息,包括数量、成本、回扣、利润、报价等。
---
## 7. 核心业务流程
### 7.1 销售订单主流程
1. 业务员录入销售订单。
2. 系统识别客户是否存在。
3. 若客户不存在,则按手机号 + 姓名规则自动同步到客户库。
4. 业务员提交审核。
5. 管理层查看订单利润与相关信息后进行审批。
6. 审批通过后,系统生成下发工厂的复制文本。
7. 订单进入履约流程,由司机或相关人员继续处理物流任务。
8. 司机完成接单、揽货、送达。
9. 系统记录订单状态变更并支持追踪查询。
### 7.2 取消流程
- 草稿或待审核订单可直接取消。
- 已通过订单取消需何总确认。
- 已进入履约阶段的订单取消需走特殊审批规则。
- 取消操作需留痕。
### 7.3 物流提醒流程
- 系统监控订单的首个物流节点。
- 若首个物流节点超过 2 天未流转,自动提醒对应业务员。
- 提醒默认仅发送一次。
### 7.4 欠款提醒流程
- 系统根据客户月结信息和订单账期计算欠款。
- 对超过配置天数未结算的订单自动提醒业务员。
- 业务员负责后续催收跟进。
### 7.5 长时间未下单提醒流程
- 系统根据客户历史下单频率及最近下单时间判断是否长期未下单。
- 可配置金额阈值,低于阈值的客户可不纳入追踪。
- 提醒结果发送给业务员。
---
## 8. 功能需求说明
## 8.1 销售订单管理
### 8.1.1 销售单录入并提交审核
**功能描述:** 业务员录入销售订单,包括客户信息、物流信息、订单信息、回扣信息等,并提交审核。
**业务规则:**
- 如客户不存在,则根据手机号 + 姓名自动同步到客户库。
- 提交后订单进入待审核状态。
- 订单提交信息需记录提交人、提交时间。
### 8.1.2 查看个人历史销售订单
**功能描述:** 业务员查看自己历史提交的销售订单。
**权限规则:**
- 仅能查看与本人关联的订单。
- 显示字段按权限脱敏。
### 8.1.3 销售订单状态查询与追踪
**功能描述:** 查看订单状态与物流信息。
**业务规则:**
- 物流信息对接快递 100 接口。
- 支持订单及物流节点查询。
### 8.1.4 销售订单取消
**功能描述:** 业务员取消订单,或发起取消申请。
**业务规则:**
- 草稿、待审核状态可直接取消。
- 已通过订单取消需何总确认。
- 已进入履约阶段的订单取消需走特殊审批规则。
- 操作需记录取消原因与操作日志。
### 8.1.5 物流消息提醒
**功能描述:** 首个物流节点超时提醒业务员。
**业务规则:**
- 首个节点定义为首次揽件/首次物流流转。
- 超过 2 天无流转仅提醒一次。
### 8.1.6 订单进度信息通知
**功能描述:** 订单状态变化后向相关角色推送通知。
**权限规则:**
- 业务员只看自己相关订单的有限信息。
- 何总查看订单全部信息,包括数量、成本、回扣、利润、报价等。
### 8.1.7 物流图片录入与 AI 识别
**功能描述:** 何总秘书在泰兴工厂等场景下录入物流图片,并借助 AI 辅助识别订单信息。
**业务规则:**
- 支持自动识别与人工修正。
- 识别失败时可人工输入。
- 相似订单需人工判断是否重复。
### 8.1.8 长时间未下单提醒
**功能描述:** 对长时间未下单客户自动提醒业务员。
**业务规则:**
- 支持配置沉默周期。
- 支持配置金额阈值。
- 低于阈值客户可不提醒。
---
## 8.2 销售单审批管理
### 8.2.1 销售单最终审批
**功能描述:** 管理层根据订单信息进行最终审批。
**业务规则:**
- 系统自动匹配产品表,计算成本、利润和利润率。
- 审核页需展示计算过程与结果。
- 可一键通过或退回。
- 退回后业务员需收到通知。
### 8.2.2 审批通过后下发工厂
**功能描述:** 审批通过后生成可复制文本,供业务人员下发给工厂。
**业务规则:**
- 当前不要求工厂端系统对接。
- 不同工厂生成内容可不同,但本期以文本复制为主。
### 8.2.3 审批取消订单
**功能描述:** 对已审批订单进行取消审批。
**业务规则:**
- 与业务员端取消逻辑统一。
- 取消过程留痕。
### 8.2.4 回扣设置
**功能描述:** 录单时标记订单是否存在回扣,并录入金额。
**业务规则:**
- 回扣金额计入利润计算。
- 回扣信息可作为审核依据。
---
## 8.3 司机任务管理
### 8.3.1 查看任务详情
**功能描述:** 司机查看自己可执行的任务。
**可见信息:**
- 取货地址
- 取件内容
- 数量
- 关联工厂
- 所属业务员部分信息
**不可见信息:**
- 客户敏感信息
- 财务敏感信息
- 非任务相关内容
### 8.3.2 接单
**功能描述:** 司机确认接收任务。
### 8.3.3 确认揽货
**功能描述:** 司机拍照上传收货记录,并同步给业务员。
**业务规则:**
- 提交前可撤回。
- 提交后不可撤回。
- 图片存储至 COS。
- 通过微信订阅消息通知相关人员。
### 8.3.4 确认送达
**功能描述:** 司机确认送达仓库并更新任务状态。
---
## 8.4 产品管理
### 8.4.1 产品录入
**功能描述:** 录入产品基础信息,用于后续订单报价和成本核算。
**字段定义:**
- 产品名称
- 规格
- 单位
- 分类
- 成本价
- 售价
- 状态
- 备注
### 8.4.2 产品查询
**功能描述:** 支持按名称、规格、分类等条件查询产品。
---
## 8.5 工厂/供应商管理
### 8.5.1 维护合作工厂信息
**功能描述:** 维护合作工厂及供应商基础信息。
**业务规则:**
- 当前作为字典数据使用。
- 不要求工厂独立登录系统。
---
## 8.6 客户管理
### 8.6.1 客户信息录入与查询
**功能描述:** 录入和查询直接客户信息,支持批量导入。
**业务规则:**
- 姓名 + 电话作为重复校验标准。
- 支持导入模板。
- 重复数据支持去重或提示。
### 8.6.2 欠款及超期提醒
**功能描述:** 系统自动统计月结客户欠款总额,并推送超期提醒。
**业务规则:**
- 月结信息维护在客户资料中。
- 起算节点可配置为订单日期、对账日期、发货日期。
- 提醒对象为业务员。
---
## 8.7 员工管理
### 8.7.1 员工信息维护
**功能描述:** 管理后台维护员工基础信息。
**说明:** 当前原始需求未展开详细字段,后续可补充。
---
## 8.8 业绩统计报表
### 8.8.1 月度 / 季度 / 年度业绩统计
**功能描述:** 系统统计销售数据并生成可导出报表。
**统计维度:**
- 订单数量
- 订单金额
- 工业品 / 日用品分类
- 排除电商平台订单
**业务规则:**
- 产品分类需在产品表中维护。
- 电商平台订单需在订单数据中有来源标签。
- 支持导出。
- 提成核对相关统计纳入报表范围。
---
## 8.9 后台系统管理
### 8.9.1 后台用户管理
管理系统登录用户。
### 8.9.2 角色管理
管理业务员、管理层、司机、秘书、管理员等角色权限。
### 8.9.3 菜单管理
管理不同角色可访问的菜单。
### 8.9.4 配置管理
支持维护提醒周期、金额阈值、物流超时规则、欠款起算规则等配置项。
---
## 9. 权限与可见性规则
### 9.1 业务员
可查看自己订单、自己的客户、自己的任务及系统提醒。
### 9.2 管理层
可查看全量订单信息、成本、利润、回扣、报价、审批记录等。
### 9.3 司机
可查看任务信息、取货地址、取件内容、数量等,不可查看敏感财务信息。
### 9.4 管理员
可管理系统全部基础配置、用户、角色、菜单、字典及统计信息。
---
## 10. 配置项
后台支持以下配置项:
- 物流首节点超时时间
- 长时间未下单周期
- 欠款提醒超时时间
- 欠款提醒起算节点
- 金额阈值
- 提醒方式
- 订单利润判断阈值
- 是否允许某些状态取消
---
## 11. 验收标准
### 11.1 订单录入
- 可完成订单新增、客户自动识别、提交审核。
- 新客户按姓名 + 手机号规则写入客户库。
### 11.2 审核流程
- 审核时可看到计算结果和计算过程。
- 可通过、退回并触发消息通知。
### 11.3 取消流程
- 草稿、待审核订单可直接取消。
- 已通过订单需何总确认取消。
- 已进入履约阶段的订单取消需走特殊审批规则。
### 11.4 司机任务
- 司机可接单、揽货、送达。
- 揽货可上传照片并同步通知。
### 11.5 提醒流程
- 物流超时提醒可触发一次。
- 欠款提醒和长时间未下单提醒可按配置生效。
### 11.6 报表
- 可查看月度、季度、年度业绩统计并导出。
---
## 12. 接口级需求
本章节定义系统各模块需要提供的接口能力、请求/响应约定、关键入参、关键返回值以及接口级业务规则。具体接口命名在后续技术设计阶段可再细化,但本章作为需求基准需保持稳定。
### 12.1 通用接口约定
#### 12.1.1 接口风格
- 接口采用 HTTP/HTTPS 方式提供服务。
- 接口能力覆盖查询、新增、修改、删除、提交、审批、撤回、导出、通知等场景。
- 所有业务接口均需进行登录态校验和权限校验。
- 涉及敏感数据的接口需根据角色进行字段脱敏或隐藏。
#### 12.1.2 通用请求约定
- 所有登录后接口需携带用户身份信息。
- 列表类接口支持分页。
- 查询类接口支持按条件筛选。
- 涉及修改类接口需记录操作人、操作时间、操作前后变化。
#### 12.1.3 通用响应约定
- 接口响应需包含成功/失败状态。
- 失败时需返回可读的错误提示。
- 分页接口需返回总数、当前页、每页条数、数据列表。
### 12.2 登录与权限接口
#### 12.2.1 登录接口
**功能:** 用户登录系统。
**输入:** 账号、密码、角色类型。
**输出:** 用户信息、权限信息、可访问菜单、登录态凭证。
#### 12.2.2 当前用户信息接口
**功能:** 获取当前登录用户信息。
**输出:** 用户基本信息、所属角色、可见范围、菜单权限。
#### 12.2.3 退出登录接口
**功能:** 注销当前登录态。
### 12.3 订单接口
#### 12.3.1 订单新增接口
**功能:** 创建销售订单。
**输入:** 客户信息、订单明细、物流信息、回扣信息、备注等。
**业务规则:**
- 新客户按姓名 + 手机号规则自动识别并同步到客户库。
- 创建后默认进入草稿状态。
#### 12.3.2 订单提交审核接口
**功能:** 将草稿订单提交至待审核状态。
**输入:** 订单 ID。
**输出:** 提交结果、状态变更结果。
#### 12.3.3 订单详情接口
**功能:** 查询订单详情。
**输出:** 订单基础信息、订单明细、状态信息、物流信息、审批信息、回扣信息、权限内可见字段。
#### 12.3.4 订单列表接口
**功能:** 查询订单列表。
**输入:** 订单状态、客户名称、手机号、时间范围、业务员、工厂、订单来源、分页参数等。
**输出:** 订单列表、总数、分页信息。
#### 12.3.5 订单取消接口
**功能:** 取消订单或发起取消申请。
**业务规则:**
- 草稿、待审核订单可直接取消。
- 已通过订单需何总确认。
- 已进入履约阶段的订单需特殊审批。
#### 12.3.6 订单状态流转接口
**功能:** 更新订单状态。
**适用场景:** 审核通过、退回、取消、履约推进、完成等。
#### 12.3.7 订单通知接口
**功能:** 当订单状态变化时,推送消息给相关角色。
### 12.4 审批接口
#### 12.4.1 销售单最终审批接口
**功能:** 管理层审批订单。
**输入:** 订单 ID、审批结果、审批意见。
**输出:** 审批结果、状态变更结果、通知结果。
**业务规则:**
- 审核时需返回利润、利润率及计算过程。
- 审批结果包括通过和退回。
#### 12.4.2 取消审批接口
**功能:** 对已审批或履约中的订单进行取消确认。
**输入:** 订单 ID、审批结果、审批意见。
### 12.5 客户接口
#### 12.5.1 客户新增接口
**功能:** 新增客户信息。
**输入:** 姓名、手机号、地址、结算方式、月结天数、账期起算口径、客户类型、归属业务员、备注等。
#### 12.5.2 客户列表接口
**功能:** 查询客户列表。
**输入:** 姓名、手机号、客户类型、结算方式、业务员、分页参数等。
#### 12.5.3 客户详情接口
**功能:** 查询客户详情。
#### 12.5.4 客户导入接口
**功能:** 批量导入客户。
**业务规则:**
- 以姓名 + 手机号去重。
- 重复数据按规则提示或合并。
### 12.6 产品接口
#### 12.6.1 产品新增接口
**功能:** 新增产品基础信息。
**输入:** 产品名称、规格、单位、分类、成本价、售价、状态、备注。
#### 12.6.2 产品列表接口
**功能:** 查询产品列表。
#### 12.6.3 产品详情接口
**功能:** 查询产品详情。
### 12.7 工厂/供应商接口
#### 12.7.1 工厂新增接口
**功能:** 新增工厂或供应商基础信息。
#### 12.7.2 工厂列表接口
**功能:** 查询工厂或供应商信息。
#### 12.7.3 工厂下发文本生成接口
**功能:** 根据订单和工厂类型生成可复制文本。
**业务规则:**
- 当前不对接工厂端系统。
- 输出内容支持按不同工厂模板生成。
### 12.8 司机任务接口
#### 12.8.1 任务列表接口
**功能:** 查询司机可接任务列表。
#### 12.8.2 任务详情接口
**功能:** 查询司机任务详情。
#### 12.8.3 接单接口
**功能:** 司机确认接单。
#### 12.8.4 确认揽货接口
**功能:** 司机上传揽货照片并确认揽货。
**业务规则:**
- 提交前允许撤回。
- 提交后不可撤回。
- 图片上传后存储到 COS。
#### 12.8.5 确认送达接口
**功能:** 司机确认任务送达。
### 12.9 物流与 AI 接口
#### 12.9.1 物流查询接口
**功能:** 查询订单物流轨迹。
**业务规则:**
- 对接快递 100 接口。
- 返回物流节点信息。
#### 12.9.2 物流超时提醒接口
**功能:** 系统定时检查物流首节点超时情况。
#### 12.9.3 图片识别接口
**功能:** 对物流图片进行 AI 识别。
**输出:** 识别结果、识别置信度、原始结果、建议修正内容。
#### 12.9.4 图片修正接口
**功能:** 人工修正 AI 识别结果并保存。
### 12.10 提醒接口
#### 12.10.1 欠款提醒接口
**功能:** 识别并推送欠款超期提醒。
#### 12.10.2 长时间未下单提醒接口
**功能:** 识别并推送长期未下单提醒。
### 12.11 报表接口
#### 12.11.1 业绩统计接口
**功能:** 查询月度、季度、年度业绩统计结果。
#### 12.11.2 报表导出接口
**功能:** 导出统计报表。
**业务规则:**
- 统计结果需支持按工业品、日用品拆分。
- 电商平台订单需按来源标签剔除。
- 提成核对相关数据纳入统计。
### 12.12 配置接口
#### 12.12.1 配置查询接口
**功能:** 查询系统配置项。
#### 12.12.2 配置更新接口
**功能:** 修改提醒周期、金额阈值、起算口径等配置项。
### 12.13 审计接口要求
- 所有新增、修改、删除、提交、审批、取消、接单、揽货、送达等操作都需写入操作日志。
- 关键业务操作需记录操作人、时间、结果、备注。
- 涉及审批的操作需记录审批前后状态。
## 13. 数据库表设计草案
以下为满足当前需求的核心数据库表设计草案,字段为需求级建议,后续技术实现可在不改变业务语义的前提下细化类型、索引与约束。
### 13.1 用户表 `sys_user`
**用途:** 存储系统登录用户。
**核心字段:**
- `id`:主键
- `username`:登录账号
- `password_hash`:密码哈希
- `real_name`:姓名
- `mobile`:手机号
- `role_id`:角色 ID
- `status`:启用/停用
- `created_at`:创建时间
- `updated_at`:更新时间
### 13.2 角色表 `sys_role`
**用途:** 存储角色信息。
**核心字段:**
- `id`:主键
- `role_name`:角色名称
- `role_code`:角色编码
- `status`:状态
- `created_at`:创建时间
- `updated_at`:更新时间
### 13.3 菜单表 `sys_menu`
**用途:** 存储系统菜单。
**核心字段:**
- `id`:主键
- `parent_id`:父级菜单 ID
- `menu_name`:菜单名称
- `menu_path`:路由路径
- `menu_type`:菜单类型
- `permission_code`:权限标识
- `status`:状态
- `sort_no`:排序号
### 13.4 客户表 `crm_customer`
**用途:** 存储客户资料。
**核心字段:**
- `id`:主键
- `customer_name`:客户姓名
- `mobile`:手机号
- `address`:地址
- `settlement_type`:结算方式
- `settlement_days`:月结天数
- `settlement_start_type`:账期起算口径
- `customer_type`:客户类型
- `salesman_id`:归属业务员 ID
- `credit_limit`:信用额度
- `arrears_amount`:欠款金额
- `status`:状态
- `remark`:备注
- `created_at`:创建时间
- `updated_at`:更新时间
### 13.5 产品表 `product`
**用途:** 存储产品基础信息。
**核心字段:**
- `id`:主键
- `product_name`:产品名称
- `specification`:规格
- `unit`:单位
- `category`:分类
- `cost_price`:成本价
- `sale_price`:售价
- `status`:状态
- `remark`:备注
- `created_at`:创建时间
- `updated_at`:更新时间
### 13.6 工厂/供应商表 `base_supplier`
**用途:** 存储工厂和供应商信息。
**核心字段:**
- `id`:主键
- `supplier_name`:名称
- `supplier_type`:类型(工厂/供应商)
- `contact_name`:联系人
- `contact_mobile`:联系电话
- `address`:地址
- `template_type`:下发文本模板类型
- `status`:状态
- `remark`:备注
### 13.7 销售订单主表 `sales_order`
**用途:** 存储订单主信息。
**核心字段:**
- `id`:主键
- `order_no`:订单编号
- `customer_id`:客户 ID
- `customer_name_snapshot`:客户名称快照
- `customer_mobile_snapshot`:手机号快照
- `salesman_id`:业务员 ID
- `order_source`:订单来源标签
- `order_status`:订单状态
- `sale_price_total`:销售价总额
- `cost_price_total`:成本价总额
- `rebate_total`:回扣总额
- `freight_total`:运费总额
- `tax_total`:税费总额
- `other_fee_total`:其他费用总额
- `profit_total`:利润
- `profit_rate`:利润率
- `factory_id`:工厂 ID
- `delivery_type`:发货类型
- `created_by`:创建人
- `submitted_at`:提交时间
- `approved_by`:审批人
- `approved_at`:审批时间
- `canceled_at`:取消时间
- `completed_at`:完成时间
- `remark`:备注
- `created_at`:创建时间
- `updated_at`:更新时间
### 13.8 销售订单明细表 `sales_order_item`
**用途:** 存储订单明细行。
**核心字段:**
- `id`:主键
- `order_id`:订单 ID
- `product_id`:产品 ID
- `product_name_snapshot`:产品名称快照
- `specification_snapshot`:规格快照
- `unit_snapshot`:单位快照
- `quantity`:数量
- `sale_price`:销售单价
- `cost_price`:成本单价
- `rebate_amount`:回扣金额
- `freight_amount`:运费分摊
- `tax_amount`:税费分摊
- `other_fee_amount`:其他费用分摊
- `line_profit`:行利润
- `remark`:备注
### 13.9 审批记录表 `sales_order_approve_log`
**用途:** 存储订单审批记录。
**核心字段:**
- `id`:主键
- `order_id`:订单 ID
- `approve_type`:审批类型(提交审核/最终审批/取消审批)
- `approve_result`:结果(通过/退回/拒绝)
- `approve_opinion`:审批意见
- `approver_id`:审批人 ID
- `approver_name`:审批人名称快照
- `created_at`:审批时间
### 13.10 物流任务表 `logistics_task`
**用途:** 存储司机运输任务。
**核心字段:**
- `id`:主键
- `order_id`:订单 ID
- `task_no`:任务编号
- `driver_id`:司机用户 ID
- `status`:任务状态
- `pickup_address`:取货地址
- `delivery_address`:送达地址
- `pickup_content`:取件内容
- `quantity`:数量
- `factory_id`:工厂 ID
- `accepted_at`:接单时间
- `pickup_confirmed_at`:揽货时间
- `delivered_at`:送达时间
- `remark`:备注
- `created_at`:创建时间
- `updated_at`:更新时间
### 13.11 物流节点表 `logistics_trace`
**用途:** 存储物流轨迹节点。
**核心字段:**
- `id`:主键
- `order_id`:订单 ID
- `task_id`:任务 ID
- `node_time`:节点时间
- `node_desc`:节点描述
- `node_type`:节点类型
- `source_platform`:来源平台
- `created_at`:创建时间
### 13.12 客户欠款记录表 `customer_arrears`
**用途:** 存储欠款统计与提醒记录。
**核心字段:**
- `id`:主键
- `customer_id`:客户 ID
- `order_id`:订单 ID
- `arrears_amount`:欠款金额
- `settlement_start_date`:起算日期
- `due_date`:到期日期
- `status`状态pending/overdue/paid/closed
- `reminded_at`:提醒时间
- `created_at`:创建时间
### 13.13 提醒记录表 `system_reminder`
**用途:** 存储系统提醒记录。
**核心字段:**
- `id`:主键
- `reminder_type`:提醒类型
- `biz_type`:业务类型
- `biz_id`:业务主键
- `receiver_user_id`:接收人 ID
- `reminder_title`:提醒标题
- `reminder_content`:提醒内容
- `status`状态pending/sent/read/canceled
- `sent_at`:发送时间
- `created_at`:创建时间
### 13.14 系统配置表 `system_config`
**用途:** 存储可配置业务规则。
**核心字段:**
- `id`:主键
- `config_key`:配置键
- `config_value`:配置值
- `config_name`:配置名称
- `remark`:备注
- `status`:状态
- `updated_at`:更新时间
### 13.15 文件附件表 `file_attachment`
**用途:** 存储图片、附件等文件元数据。
**核心字段:**
- `id`:主键
- `biz_type`:业务类型
- `biz_id`:业务主键
- `file_name`:文件名
- `file_url`:文件地址
- `file_type`:文件类型
- `file_size`:文件大小
- `created_by`:上传人
- `created_at`:创建时间
### 13.16 AI 识别结果表 `ai_recognition_log`
**用途:** 存储图片识别的原始结果与修正结果。
**核心字段:**
- `id`:主键
- `biz_type`:业务类型
- `biz_id`:业务主键
- `image_url`:图片地址
- `raw_result`:原始识别结果
- `confidence`:置信度
- `corrected_result`:人工修正结果
- `created_by`:操作人
- `created_at`:创建时间
### 13.17 业绩统计缓存表 `performance_stat_cache`
**用途:** 存储业绩统计结果缓存。
**核心字段:**
- `id`:主键
- `stat_type`:统计类型(月/季/年)
- `stat_period`:统计周期
- `industry_amount`:工业品金额
- `daily_amount`:日用品金额
- `order_count`:订单数量
- `order_amount`:订单金额
- `commission_amount`:提成核对金额
- `created_at`:创建时间
---
## 14. 接口字段级定义
以下对前述接口补充字段级定义。字段为需求级定义,后续技术实现时可根据具体框架补充数据类型、校验规则与错误码。
### 14.1 登录与权限接口字段定义
#### 14.1.1 登录接口
**请求字段:**
- `username`:登录账号
- `password`:登录密码
- `role_type`:角色类型
**响应字段:**
- `user_id`:用户 ID
- `real_name`:姓名
- `role_id`:角色 ID
- `role_name`:角色名称
- `token`:登录凭证
- `menus`:可访问菜单列表
- `permissions`:权限标识列表
#### 14.1.2 当前用户信息接口
**响应字段:**
- `user_id`:用户 ID
- `username`:账号
- `real_name`:姓名
- `mobile`:手机号
- `role_id`:角色 ID
- `role_name`:角色名称
- `menus`:菜单列表
- `permissions`:权限列表
#### 14.1.3 退出登录接口
**请求字段:**
- 无必填字段
**响应字段:**
- `success`:是否成功
### 14.2 订单接口字段定义
#### 14.2.1 订单新增接口
**请求字段:**
- `customer_name`:客户姓名
- `customer_mobile`:客户手机号
- `customer_address`:客户地址
- `order_source`:订单来源标签
- `delivery_type`:发货类型
- `factory_id`:工厂 ID
- `remark`:备注
- `items`:订单明细列表
- `rebate_total`:回扣总额
- `freight_total`:运费总额
- `tax_total`:税费总额
- `other_fee_total`:其他费用总额
**订单明细字段:**
- `product_id`:产品 ID
- `product_name`:产品名称
- `specification`:规格
- `unit`:单位
- `quantity`:数量
- `sale_price`:销售单价
- `cost_price`:成本单价
- `rebate_amount`:回扣金额
- `freight_amount`:运费分摊
- `tax_amount`:税费分摊
- `other_fee_amount`:其他费用分摊
- `remark`:备注
**响应字段:**
- `order_id`:订单 ID
- `order_no`:订单编号
- `order_status`:订单状态
- `profit_total`:利润
- `profit_rate`:利润率
#### 14.2.2 订单提交审核接口
**请求字段:**
- `order_id`:订单 ID
**响应字段:**
- `order_id`:订单 ID
- `order_status`:变更后的状态
- `submitted_at`:提交时间
#### 14.2.3 订单详情接口
**响应字段:**
- `order_id`:订单 ID
- `order_no`:订单编号
- `customer_id`:客户 ID
- `customer_name`:客户姓名
- `customer_mobile`:客户手机号
- `salesman_id`:业务员 ID
- `order_source`:订单来源标签
- `order_status`:订单状态
- `delivery_type`:发货类型
- `factory_id`:工厂 ID
- `sale_price_total`:销售价总额
- `cost_price_total`:成本价总额
- `rebate_total`:回扣总额
- `freight_total`:运费总额
- `tax_total`:税费总额
- `other_fee_total`:其他费用总额
- `profit_total`:利润
- `profit_rate`:利润率
- `items`:订单明细列表
- `approve_logs`:审批记录列表
- `logistics_info`:物流信息
- `remark`:备注
#### 14.2.4 订单列表接口
**请求字段:**
- `order_status`:订单状态
- `customer_name`:客户姓名
- `customer_mobile`:客户手机号
- `salesman_id`:业务员 ID
- `factory_id`:工厂 ID
- `order_source`:订单来源标签
- `start_time`:开始时间
- `end_time`:结束时间
- `page_no`:页码
- `page_size`:每页条数
**响应字段:**
- `total`:总数
- `page_no`:页码
- `page_size`:每页条数
- `list`:订单列表
#### 14.2.5 订单取消接口
**请求字段:**
- `order_id`:订单 ID
- `cancel_reason`:取消原因
- `cancel_opinion`:取消意见
**响应字段:**
- `order_id`:订单 ID
- `order_status`:变更后的状态
- `canceled_at`:取消时间
#### 14.2.6 订单状态流转接口
**请求字段:**
- `order_id`:订单 ID
- `target_status`:目标状态
- `remark`:备注
**响应字段:**
- `order_id`:订单 ID
- `order_status`:变更后的状态
#### 14.2.7 订单通知接口
**请求字段:**
- `biz_id`:业务主键
- `biz_type`:业务类型
- `receiver_user_id`:接收人 ID
- `title`:通知标题
- `content`:通知内容
**响应字段:**
- `success`:是否成功
### 14.3 审批接口字段定义
#### 14.3.1 销售单最终审批接口
**请求字段:**
- `order_id`:订单 ID
- `approve_result`:审批结果
- `approve_opinion`:审批意见
**响应字段:**
- `order_id`:订单 ID
- `order_status`:审批后状态
- `profit_total`:利润
- `profit_rate`:利润率
- `approve_time`:审批时间
#### 14.3.2 取消审批接口
**请求字段:**
- `order_id`:订单 ID
- `approve_result`:审批结果
- `approve_opinion`:审批意见
**响应字段:**
- `order_id`:订单 ID
- `order_status`:审批后状态
### 14.4 客户接口字段定义
#### 14.4.1 客户新增接口
**请求字段:**
- `customer_name`:客户姓名
- `mobile`:手机号
- `address`:地址
- `settlement_type`:结算方式
- `settlement_days`:月结天数
- `settlement_start_type`:账期起算口径
- `customer_type`:客户类型
- `salesman_id`:归属业务员 ID
- `credit_limit`:信用额度
- `remark`:备注
**响应字段:**
- `customer_id`:客户 ID
- `customer_name`:客户姓名
- `mobile`:手机号
#### 14.4.2 客户列表接口
**请求字段:**
- `customer_name`:客户姓名
- `mobile`:手机号
- `customer_type`:客户类型
- `settlement_type`:结算方式
- `salesman_id`:归属业务员 ID
- `page_no`:页码
- `page_size`:每页条数
**响应字段:**
- `total`:总数
- `page_no`:页码
- `page_size`:每页条数
- `list`:客户列表
#### 14.4.3 客户详情接口
**响应字段:**
- `customer_id`:客户 ID
- `customer_name`:客户姓名
- `mobile`:手机号
- `address`:地址
- `settlement_type`:结算方式
- `settlement_days`:月结天数
- `settlement_start_type`:账期起算口径
- `customer_type`:客户类型
- `salesman_id`:归属业务员 ID
- `credit_limit`:信用额度
- `arrears_amount`:欠款金额
- `status`:状态
- `remark`:备注
#### 14.4.4 客户导入接口
**请求字段:**
- `file_url`:导入文件地址
- `import_mode`:导入模式
**响应字段:**
- `total_count`:总条数
- `success_count`:成功条数
- `duplicate_count`:重复条数
- `fail_count`:失败条数
- `fail_list`:失败明细
### 14.5 产品接口字段定义
#### 14.5.1 产品新增接口
**请求字段:**
- `product_name`:产品名称
- `specification`:规格
- `unit`:单位
- `category`:分类
- `cost_price`:成本价
- `sale_price`:售价
- `status`:状态
- `remark`:备注
**响应字段:**
- `product_id`:产品 ID
- `product_name`:产品名称
#### 14.5.2 产品列表接口
**请求字段:**
- `product_name`:产品名称
- `specification`:规格
- `category`:分类
- `status`:状态
- `page_no`:页码
- `page_size`:每页条数
**响应字段:**
- `total`:总数
- `page_no`:页码
- `page_size`:每页条数
- `list`:产品列表
#### 14.5.3 产品详情接口
**响应字段:**
- `product_id`:产品 ID
- `product_name`:产品名称
- `specification`:规格
- `unit`:单位
- `category`:分类
- `cost_price`:成本价
- `sale_price`:售价
- `status`:状态
- `remark`:备注
### 14.6 工厂/供应商接口字段定义
#### 14.6.1 工厂新增接口
**请求字段:**
- `supplier_name`:名称
- `supplier_type`:类型
- `contact_name`:联系人
- `contact_mobile`:联系电话
- `address`:地址
- `template_type`:模板类型
- `status`:状态
- `remark`:备注
**响应字段:**
- `supplier_id`:工厂/供应商 ID
- `supplier_name`:名称
#### 14.6.2 工厂列表接口
**请求字段:**
- `supplier_name`:名称
- `supplier_type`:类型
- `status`:状态
- `page_no`:页码
- `page_size`:每页条数
**响应字段:**
- `total`:总数
- `page_no`:页码
- `page_size`:每页条数
- `list`:工厂/供应商列表
#### 14.6.3 工厂下发文本生成接口
**请求字段:**
- `order_id`:订单 ID
- `supplier_id`:工厂/供应商 ID
**响应字段:**
- `text_content`:可复制文本内容
- `template_type`:模板类型
### 14.7 司机任务接口字段定义
#### 14.7.1 任务列表接口
**请求字段:**
- `status`:任务状态
- `page_no`:页码
- `page_size`:每页条数
**响应字段:**
- `total`:总数
- `page_no`:页码
- `page_size`:每页条数
- `list`:任务列表
#### 14.7.2 任务详情接口
**响应字段:**
- `task_id`:任务 ID
- `order_id`:订单 ID
- `task_no`:任务编号
- `status`:任务状态
- `pickup_address`:取货地址
- `delivery_address`:送达地址
- `pickup_content`:取件内容
- `quantity`:数量
- `factory_id`:工厂 ID
- `salesman_name`:业务员姓名(按可见范围返回)
#### 14.7.3 接单接口
**请求字段:**
- `task_id`:任务 ID
**响应字段:**
- `task_id`:任务 ID
- `status`:任务状态
- `accepted_at`:接单时间
#### 14.7.4 确认揽货接口
**请求字段:**
- `task_id`:任务 ID
- `photo_files`:照片文件列表
- `remark`:备注
**响应字段:**
- `task_id`:任务 ID
- `status`:任务状态
- `pickup_confirmed_at`:揽货时间
- `attachment_ids`:附件 ID 列表
#### 14.7.5 确认送达接口
**请求字段:**
- `task_id`:任务 ID
- `remark`:备注
**响应字段:**
- `task_id`:任务 ID
- `status`:任务状态
- `delivered_at`:送达时间
### 14.8 物流与 AI 接口字段定义
#### 14.8.1 物流查询接口
**请求字段:**
- `order_id`:订单 ID
**响应字段:**
- `order_id`:订单 ID
- `logistics_company`:物流公司
- `tracking_no`:运单号
- `trace_list`:物流节点列表
**物流节点字段:**
- `node_time`:节点时间
- `node_desc`:节点描述
- `node_type`:节点类型
- `source_platform`:来源平台
#### 14.8.2 物流超时提醒接口
**请求字段:**
- `order_id`:订单 ID
- `node_type`:节点类型
- `timeout_hours`:超时时长
**响应字段:**
- `reminder_result`:提醒结果
#### 14.8.3 图片识别接口
**请求字段:**
- `image_url`:图片地址
- `biz_type`:业务类型
- `biz_id`:业务 ID
**响应字段:**
- `raw_result`:原始识别结果
- `confidence`:置信度
- `suggested_result`:建议修正结果
#### 14.8.4 图片修正接口
**请求字段:**
- `log_id`:识别记录 ID
- `corrected_result`:人工修正结果
**响应字段:**
- `log_id`:识别记录 ID
- `saved`:是否保存成功
### 14.9 提醒接口字段定义
#### 14.9.1 欠款提醒接口
**请求字段:**
- `customer_id`:客户 ID
- `order_id`:订单 ID
- `arrears_amount`:欠款金额
- `settlement_start_date`:起算日期
- `due_date`:到期日期
**响应字段:**
- `reminder_id`:提醒 ID
- `status`:提醒状态
#### 14.9.2 长时间未下单提醒接口
**请求字段:**
- `customer_id`:客户 ID
- `last_order_time`:最近订单时间
- `threshold_days`:提醒周期
- `threshold_amount`:金额阈值
**响应字段:**
- `reminder_id`:提醒 ID
- `status`:提醒状态
### 14.10 报表接口字段定义
#### 14.10.1 业绩统计接口
**请求字段:**
- `stat_type`:统计类型(月/季/年)
- `start_date`:开始日期
- `end_date`:结束日期
- `category_type`:分类维度
**响应字段:**
- `stat_period`:统计周期
- `order_count`:订单数量
- `order_amount`:订单金额
- `industry_amount`:工业品金额
- `daily_amount`:日用品金额
- `commission_amount`:提成核对金额
#### 14.10.2 报表导出接口
**请求字段:**
- `stat_type`:统计类型
- `start_date`:开始日期
- `end_date`:结束日期
**响应字段:**
- `file_url`:导出文件地址
### 14.11 配置接口字段定义
#### 14.11.1 配置查询接口
**请求字段:**
- `config_key`:配置键
**响应字段:**
- `config_key`:配置键
- `config_value`:配置值
- `config_name`:配置名称
- `remark`:备注
#### 14.11.2 配置更新接口
**请求字段:**
- `config_key`:配置键
- `config_value`:配置值
- `remark`:备注
**响应字段:**
- `config_key`:配置键
- `updated`:是否更新成功
### 14.12 审计接口要求
- 所有新增、修改、删除、提交、审批、取消、接单、揽货、送达等操作都需写入操作日志。
- 日志至少包含:操作人、操作时间、操作类型、业务主键、操作前值、操作后值、结果、备注。
---
## 15. 字段映射检查表
为了统一《确定版需求说明书》《数据库.sql》《系统标准API文档》的字段口径新增《字段映射检查表.md》作为三份文档之间的字段对照依据。
字段映射检查表定义了:
- 核心业务对象的统一字段名
- 数据库字段命名
- API 字段命名
- 状态字段统一口径
- 三份文档的对齐说明
后续开发、数据库设计和接口设计均以三份文档及《字段映射检查表.md》为准。