dingdanquanliucheng/确定版需求说明书.md
2026-05-06 11:57:56 +08:00

1650 lines
41 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 订单管理系统需求说明书(确定版)
## 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》为准。