完善配送订单列表可读信息

This commit is contained in:
czl231
2026-08-25 23:32:58 +08:00
parent 59a01192c0
commit 44014a0e4f
7 changed files with 154 additions and 11 deletions

View File

@@ -0,0 +1,40 @@
# 操作日志:配送点订单列表可读信息
操作时间2026-08-25
操作类型:扩展、修改
影响模块5176 配送订单列表、配送订单列表接口
## 操作前状态
- 收货地址快照经过通用位置保护后,列表显示为 `-`
- 合同气瓶属于订单明细集合,通用列表响应没有可读摘要。
- 5173 已有受控地址恢复和气瓶摘要,但 5176 仍使用通用列表函数。
## 具体操作
1. 把 5173 已有订单列表展示构造过程封装为共享函数。
2. 配送端先限定当前配送点订单,再调用共享函数生成安全响应。
3. 前端字段声明读取 `address``contract_products_summary` 派生字段。
4. 合同气瓶摘要增加订单详情入口,空值统一显示“未填写”。
5. 增加静态契约检查,防止以后退回裸关联字段或横线展示。
## 行为变化
- 变更前:收货地址和合同气瓶均显示 `-`
- 变更后:地址显示订单快照;气瓶显示可读摘要并可进入订单详情。
- 兼容性:不修改数据库、创建订单请求和既有路由,只扩展已鉴权列表响应。
## 验证结果
- `go test ./api/internal/logic/delivery ./api/internal/logic/platform/gasorder`:通过。
- `npm.cmd run type:check`:通过。
- `npm.cmd run resource-pages:check`:通过,详情 17、新建 9、编辑 5。
- `npm.cmd run contract:check`通过18 个资源。
- `npm.cmd run build`通过2648 个模块完成生产构建。
- 后端已重新构建并恢复监听 `12426`,旧程序已备份为 `platform-api.before-order-list-20260825-232713.exe`
## 风险评估
- 地址属于敏感数据:仅对当前配送点已授权订单恢复快照,不影响公共接口。
- 气瓶当前名称可能随设备档案改名变化;类型和编码仍使用订单快照。
- 完整气瓶信息继续以订单详情为准,列表只提供紧凑摘要。

View File

@@ -0,0 +1,43 @@
# 项目文档:配送点订单列表可读信息 v1.0
## 1. 项目概述
5176 配送点管理端订单列表复用 5173 的受控展示规则,在当前配送点数据范围内显示订单收货地址快照和合同气瓶摘要。数据库、订单创建协议及通用敏感字段保护规则保持不变。
## 2. 核心实现
```text
backend/api/internal/logic/
├── delivery/order.go # 先限定当前配送点,再构造订单列表响应
└── platform/gasorder/order_list_display.go # 统一生成地址和气瓶可读摘要
frontend/delivery_admin/src/
├── api/resources.ts # 声明列表派生展示字段
└── views/shared/ResourceListPage.vue # 渲染只读摘要和详情入口
```
## 3. 展示规则
- 收货地址显示订单创建时保存的地址快照;空快照显示“未填写”。
- 合同气瓶显示第一只气瓶的当前智能气阀名称和下单时类型快照;多只气瓶追加“等 N 个”。
- 合同气瓶摘要可进入订单详情查看完整明细。
- 地址和气瓶摘要均为只读派生字段,不参与新建或业务动作提交。
## 4. 安全边界
- 配送端必须先按当前登录账号所属配送点筛选订单,再调用共享展示构造器。
- 地址恢复只作用于已经鉴权、已经完成配送点范围过滤的订单分页结果。
- 气瓶摘要只按当前页订单主键批量查询,不接受前端提供任意订单主键。
- 通用资源响应的地址、经纬度保护规则不变。
## 5. 验证
```text
go test ./api/internal/logic/delivery ./api/internal/logic/platform/gasorder
npm.cmd run type:check
npm.cmd run resource-pages:check
npm.cmd run build
```
## 6. 变更记录
- v1.02026-08-25修复配送点订单列表收货地址和合同气瓶显示为横线的问题。