228 lines
14 KiB
Markdown
228 lines
14 KiB
Markdown
# 配送点管理系统需求(规划基线)
|
||
|
||
## 1. 文档目的
|
||
|
||
本文按照 `docs/05-平台总后台需求.md` 的章节、资源模式、权限和验收口径,定义配送点管理系统的规划基线。
|
||
|
||
前端工作目录: `frontend/delivery_admin` 完全复制:`frontend/platform_admin`内所有文件在修改
|
||
后端工作目录:`backend/api` 与总平台复用一个API目录
|
||
后端API的URL前缀:/heqi/delivery/v1
|
||
|
||
|
||
后续实现事实按以下顺序核对并回写本文:
|
||
|
||
1. 配送点端实际 HTTP 路由。
|
||
2. 配送点端前后端资源契约。
|
||
3. 配送点端字段、关系、页面模式和业务动作定义。
|
||
4. 配送点端菜单、页面与隐藏子资源。
|
||
5. 配送点端状态机、事务、权限和数据范围校验。
|
||
|
||
## 2. 系统定位与边界
|
||
|
||
配送点管理系统面向配送点负责人、调度员、仓管员和配送质控人员,负责本点当班能力、配送调度、配送仓、轨迹异常、交接质控、邀请注册和对账异议。
|
||
|
||
当前规划不替代以下系统:
|
||
|
||
- 平台总后台:全局组织、用户与人员账号、角色资质、资金审核和安全规则仍由平台主责。
|
||
- 气站管理系统:气站库存、燃气配送订单主责、跨配送点协调和气站结算仍由所属气站主责。
|
||
- 生产管理系统:生产批次、出厂质检、设备身份和召回仍由生产系统主责。
|
||
- 用户端与服务端 App:用户注册确认、配送员接单、定位、扫码、签收和现场取证仍由对应 App 完成。
|
||
- 电商平台:商品、分类、购物车、商城订单、评价和营销活动不属于配送点管理系统。
|
||
|
||
配送点不能创建全局用户或人员账号,不能授予安全角色,不能创建交易订单、审核提现、修改资金流水、关闭安全事件或跨点调度。组织、人员、用户关系和跨点事项只能向所属气站或平台申请。
|
||
|
||
独立 API 基础路径和鉴权请求头格式须在实现时通过契约确定;确定前不得沿用平台 API 路径冒充配送点端接口。
|
||
|
||
## 3. 技术与数据约定
|
||
|
||
### 3.1 实现目录
|
||
|
||
| 范围 | 规划目录 | 职责 |
|
||
| --- | --- | --- |
|
||
| 管理端 | `frontend/delivery_admin` | Vue 3、TypeScript、Vite、Pinia、Arco Design |
|
||
| 页面 | `frontend/delivery_admin/src/views` | 首页、报表及按业务域组织的资源页面 |
|
||
| 资源定义 | `frontend/delivery_admin/src/api` | 字段、关系、页面模式和业务动作 |
|
||
| 前端契约 | `frontend/delivery_admin/src/contracts` | 后端资源与路由生成清单 |
|
||
| 前端路由 | `frontend/delivery_admin/src/router` | 菜单、受控本地路由和隐藏详情资源 |
|
||
| 后端 API | `backend/api` | Gin HTTP API、JWT、事务和统一响应 |
|
||
| 路由 | `backend/api/internal/routers/delivery.go` | 平台 API 唯一路由注册入口 |
|
||
| 业务逻辑 | `backend/api/internal/logic/delivery` | 各领域查询、动作、权限和状态流转 |
|
||
| 模型 | `backend/api/internal/models` | 复用现在的,没特殊要求不可新增 |
|
||
|
||
以上目录均为规划归属,任务未明确要求前不得提前创建空壳工程。新管理端须复用 `sample/front` 的公共机制,新 Go 进程须遵循 `sample/server` 的分层。
|
||
|
||
### 3.2 数据身份
|
||
|
||
- 每一张表均使用 `id bigint` 自增主键,Go 模型对应 `ID uint64`。
|
||
- 主表及需要单独访问、跨系统引用或审计定位的明细表使用 UUID V7 `identity`。
|
||
- `id` 仅用于数据库内部关联;HTTP、前端、事件、审计和跨服务调用使用 `identity`。
|
||
- 配送点数据范围至少校验 `delivery_basic_identity`、任务归属和订单/调拨关系。
|
||
- 通用状态与任务、库存、邀请、质控和对账等业务状态分离。
|
||
- 删除执行归档或受控删除;任务过程、库存流水、轨迹、证据、邀请使用和对账事实不得物理删除。
|
||
- 金额使用最小货币单位整数;配送点只能读取权威金额快照。
|
||
|
||
### 3.3 资源页面模式
|
||
|
||
| 模式 | 能力 |
|
||
| --- | --- |
|
||
| `writable` | 列表、详情、新增、编辑、状态调整和归档 |
|
||
| `editable` | 列表、详情、新增、编辑和状态调整,不提供归档 |
|
||
| `readonly` | 列表和详情;可通过显式业务动作处理,但无通用增删改 |
|
||
| `append_only` | 可创建事实记录,既有记录不通用编辑或删除 |
|
||
| `managed` | 可创建和编辑,但生命周期必须通过专用动作推进 |
|
||
|
||
普通资源应复用共享资源页面。库存流水、轨迹、证据、邀请使用记录和对账事实使用只读或仅追加模式;任务状态不得通过通用 CRUD 直接修改。
|
||
|
||
## 4. 登录、账户与权限
|
||
|
||
### 4.1 登录与个人账户
|
||
|
||
- 配送点后台账号由平台创建或关联,配送点系统不提供自助创建管理员账号。
|
||
- 停用、冻结、未关联本点或角色无效的账户不得登录。
|
||
- 登录成功返回 JWT、账户 `identity`、显示名称、角色编码、配送点 `identity` 和菜单编码。
|
||
- 已登录账户只能查看和修改本人的非敏感资料;角色、组织归属和数据范围不能自行修改。
|
||
- 修改密码必须校验当前密码,新密码不少于 6 位。
|
||
- 配送点系统不得初始化共享默认管理员密码;首次账号由平台受控创建。
|
||
|
||
### 4.2 RBAC 与数据能力
|
||
|
||
- 配送点负责人、调度员、仓管员和配送质控人员使用独立菜单能力。
|
||
- 配送点负责人不自动拥有仓管、调度、质控、敏感导出和资金能力。
|
||
- 调度员只能选择已关联本点、角色有效、资质有效且在岗的配送员。
|
||
- 仓管员只能操作本点配送仓,不能修改任务、金额、资金、安全事件和人员权限。
|
||
- 质控人员只能查看和标记本点证据异常,不能修改原始证据或关闭平台安全事件。
|
||
- 邀请管理权限独立授予;邀请码只能绑定当前配送点和已授权服务区域。
|
||
- 精确轨迹回放、完整证据和敏感导出使用独立权限并记录用途。
|
||
- 配送员不使用 Web 后台,只通过服务端 App 处理本人任务。
|
||
- 前端菜单隐藏只负责展示,最终权限由服务端执行。
|
||
|
||
## 5. 首页与报表
|
||
|
||
首页规划聚合以下本点指标:
|
||
|
||
- 待接收、待分配、待接单、配送中、待确认、异常和已完成任务数量。
|
||
- 当前在岗、可接单、任务占用和作业前置异常人员数量。
|
||
- 配送仓可用、冻结、在途、待退回和盘点差异数量。
|
||
- 超时、无定位、偏航、轨迹中断、拒收和货损数量。
|
||
- 待质控任务、证据缺失、疑似冲突和退回补充数量。
|
||
- 邀请二维码启用数、扫码数、注册数和服务关系建立数。
|
||
- 当前周期配送服务费快照和对账差异数量。
|
||
- 最近 7 个自然日的任务数量、完成率和平均时效趋势;无数据日期补零。
|
||
|
||
首页快捷入口按角色菜单过滤。报表只聚合本点真实任务、库存和质控事实,不展示其他配送点明细,不生成虚构数据,不提供电商报表。
|
||
|
||
## 6. 规划功能域
|
||
|
||
规划路径必须在独立配送点端契约中确认。下表的“路径”统一标记为待确认,不得直接复用平台资源路径。
|
||
|
||
### 6.1 配送点经营设置
|
||
|
||
| 资源 | 路径 | 模式 | 规划能力 |
|
||
| --- | --- | --- | --- |
|
||
| 配送点资料 | 待契约确认 | `readonly` | 查看平台维护的组织、地址、区域、归属气站和状态 |
|
||
| 营业设置 | 待契约确认 | `managed` | 维护营业时段、预约容量、值班联系和临时接单状态 |
|
||
| 组织变更申请 | 待契约确认 | `append_only` | 提交地址、区域、冻结、归档和迁移申请 |
|
||
|
||
配送点不能直接修改组织主数据、覆盖区域或归属气站。
|
||
|
||
### 6.2 当班人员
|
||
|
||
| 资源 | 路径 | 模式 | 规划能力 |
|
||
| --- | --- | --- | --- |
|
||
| 人员名册 | 待契约确认 | `readonly` | 查看平台已关联本点的人员 |
|
||
| 作业能力 | 待契约确认 | `readonly` | 查看角色、资质、培训、车辆、在岗和可接单结果 |
|
||
| 班次 | 待契约确认 | `managed` | 在已授权角色和区域内安排本点班次 |
|
||
| 人员变更申请 | 待契约确认 | `append_only` | 申请新增关联、角色变更、冻结、离职和跨点支援 |
|
||
|
||
配送点不能创建人员账号、授予角色、修改资质和培训结论,也不能查看无关证件和银行卡数据。
|
||
|
||
### 6.3 配送任务调度
|
||
|
||
| 资源 | 路径 | 模式 | 规划能力 |
|
||
| --- | --- | --- | --- |
|
||
| 配送任务 | 待契约确认 | `managed` | 接收气站需求并执行本点职责范围内的状态动作 |
|
||
| 分配记录 | 待契约确认 | `append_only` | 记录分配、回收和本点改派 |
|
||
| 订单摘要 | 待契约确认 | `readonly` | 查看履约必需的订单、预约和金额快照 |
|
||
| 异常协调申请 | 待契约确认 | `append_only` | 提交跨点、超区域和高风险任务协调 |
|
||
|
||
配送点不能创建交易订单、修改最终金额或跳过任务状态机。跨点改派只能由气站或平台协调。
|
||
|
||
### 6.4 配送仓
|
||
|
||
| 资源 | 路径 | 模式 | 规划能力 |
|
||
| --- | --- | --- | --- |
|
||
| 库存余额 | 待契约确认 | `readonly` | 查询本点可用、冻结、在途和待退回数量 |
|
||
| 库存流水 | 待契约确认 | `append_only` | 记录接收、入库、拣货、出库、退回和损耗 |
|
||
| 调拨接收 | 待契约确认 | `managed` | 核对所属气站调拨并确认差异 |
|
||
| 盘点单 | 待契约确认 | `managed` | 创建盘点、记录实盘和差异,按阈值复核 |
|
||
|
||
库存余额不能直接编辑。无有效任务不得出库,跨气站调拨不能由配送点创建。
|
||
|
||
### 6.5 履约与轨迹质控
|
||
|
||
| 资源 | 路径 | 模式 | 规划能力 |
|
||
| --- | --- | --- | --- |
|
||
| 轨迹 | 待契约确认 | `readonly` | 查看本点任务状态时间线和授权范围内轨迹 |
|
||
| 现场证据 | 待契约确认 | `readonly` | 查看扫码、照片、视频、签名、收款确认和空瓶回收 |
|
||
| 质控记录 | 待契约确认 | `append_only` | 标记材料缺失、数据冲突、疑似造假和复核结果 |
|
||
| 轨迹异常 | 待契约确认 | `managed` | 处理无定位、偏航、异常速度和轨迹中断提醒 |
|
||
|
||
后台不能补造或修改 App 产生的到达、定位、扫码、签收和收款事实。旧任务轨迹在改派后只读保留。
|
||
|
||
### 6.6 用户履约视图
|
||
|
||
| 资源 | 路径 | 模式 | 规划能力 |
|
||
| --- | --- | --- | --- |
|
||
| 用户履约摘要 | 待契约确认 | `readonly` | 查看当前任务所需的脱敏联系人、地址和交接要求 |
|
||
| 服务记录 | 待契约确认 | `append_only` | 记录本点预约、联系、配送异常和回访 |
|
||
| 用户变更申请 | 待契约确认 | `append_only` | 提交资料纠错和服务关系变更申请 |
|
||
|
||
配送点不能创建或编辑全局用户、查看完整钱包、冻结账号、注销用户或直接改变服务关系。
|
||
|
||
### 6.7 邀请注册
|
||
|
||
| 资源 | 路径 | 模式 | 规划能力 |
|
||
| --- | --- | --- | --- |
|
||
| 邀请二维码 | 待契约确认 | `managed` | 创建、预览、下载、启停和重新生成本点邀请 |
|
||
| 邀请使用记录 | 待契约确认 | `readonly` | 查询扫码、注册、关系建立和失败原因 |
|
||
| 邀请统计 | 待契约确认 | `readonly` | 聚合扫码、注册和服务关系转化 |
|
||
|
||
二维码只承载平台签名、可撤销且可过期的令牌或短链接。新用户完成平台统一注册;已有用户确认后只建立本点服务关系。重复扫码不得覆盖既有关系。
|
||
|
||
### 6.8 对账视图
|
||
|
||
| 资源 | 路径 | 模式 | 规划能力 |
|
||
| --- | --- | --- | --- |
|
||
| 任务对账 | 待契约确认 | `readonly` | 查看任务金额、配送服务费、库存交接和异常差异 |
|
||
| 对账异议 | 待契约确认 | `append_only` | 提交签收、货损、拒收、收款或库存差异 |
|
||
| 结算结果 | 待契约确认 | `readonly` | 查看气站或平台生成的处理结果 |
|
||
|
||
配送点不能创建资金流水、调整余额、审核提现、修改分账比例或确认打款。
|
||
|
||
## 7. 通用页面与接口行为
|
||
|
||
- 列表资源提供分页、字段筛选、状态展示、详情和受数据范围约束的关联选择。
|
||
- 关联字段提交业务 `identity`,后端解析为内部关联。
|
||
- 账户密码不在详情和列表返回明文。
|
||
- 响应使用统一封装;前端统一处理登录失效和稳定错误码。
|
||
- 写操作携带幂等键;异步操作返回可查询标识。
|
||
- 业务动作按当前状态展示,但后端仍必须拒绝非法流转。
|
||
- 轨迹、现场证据、支付、资金流水和安全事件仅查询,不开放通用修改或删除。
|
||
- 邀请、派单、改派、库存、质控、对账和敏感访问记录完整审计。
|
||
- 路由、资源模式、菜单、权限和前端页面必须通过契约检查保持一致。
|
||
|
||
## 9. 规划验收标准
|
||
|
||
1. 匿名用户只能访问登录和明确公开接口;所有业务资源要求有效认证。
|
||
2. 账户只能访问所属配送点及已分配菜单,不能猜测路径访问其他配送点数据。
|
||
3. 实际路由、资源契约、页面定义、菜单和本文资源模式一致。
|
||
4. 所有表保留自增 `id`;对外统一使用 UUID V7 `identity`。
|
||
5. 配送点不能创建全局用户或人员账号,不能授予安全角色。
|
||
6. 调度只能选择已关联本点、角色与资质有效且在岗的配送员。
|
||
7. 配送仓库存变化由调拨、任务和交接流水驱动,余额不能直接编辑。
|
||
8. 后台不能补造或修改定位、扫码、照片、视频、签名、收款和签收事实。
|
||
9. 邀请只能在本点授权区域内生效,不能重复建用户或覆盖既有服务关系。
|
||
10. 配送点只能提交对账异议,不能修改资金、分账或提现状态。
|
||
11. 首页与报表来自本点真实数据,不包含电商或其他配送点数据。
|
||
12. 契约检查、权限测试、状态机测试、后端测试和前端构建全部通过。
|