43 #4573 配房询房即扣库存+单日确认requirementId+弹窗全态回显currentSelections(前端必改) 44 #4574 日历团数按团期折叠修复+某天下钻详情新端点 45 #4575 待办按订单聚合一行多类型标签+类型字典化(前端必改) 46 #4578 定制师联系房务未读角标unreadMessageCount+站内信标题团号·联系人 47 #4576 转单操作日志显示接收人真名+转单理由(知悉)
2.8 KiB
2.8 KiB
房务待办列表:按订单聚合(一单一行、行内多类型标签)+ 类型字典化(前端必改)
模块:房务管家 · 待处理(管理后台) 类型:返回结构调整(PR #4587 已合 dev-v3 + 测试服实测) 关联工单:#4575 日期:2026-06-28
背景
房务反馈「同一订单出现多行(『刚抢单待配房』一行 + 『定制师消息未读』一行)」,要求一个订单只占一行,把该订单的多个待办分类标签都显示在这一行。
返回结构变更(GET /v3/admin/order/todos)
list[] 粒度由「(订单 × 待办类型) 一行」改为 「一个订单一行」,每行新增类型标签数组:
| 字段 | 类型 | 说明 |
|---|---|---|
todoTypes |
Array | 本单当前 scope 下全部待办分类标签(行内渲染多个标签) |
todoTypes[].typeCode |
String | 类型码(SWAP_HOTEL / REFUND / HOTEL_REPLY_TIMEOUT / REQUIREMENT_ADJUSTED / INVENTORY_CHECK_OVERDUE / PENDING_ARRANGE / UNREAD_CHAT …) |
todoTypes[].typeLabel |
String | 类型中文名(取数据字典 house_todo_type),前端直接展示 |
todoTypes[].urgency |
String | 该标签紧急度 |
todoTypes[].derived |
Boolean | true=派生项(刚抢单待配房/定制师消息未读,无 todoId 不可单独 RESOLVE);false=持久化项 |
todoTypes[].todoId |
Long | 持久化待办 ID(derived=false 时有,供 RESOLVE/查看) |
todoTypes[].unreadCount |
Integer | UNREAD_CHAT 标签的未读数 |
- 保留
orderTodoCount=todoTypes.size()(前端原「本单共 N 个待办」可继续用,或直接用todoTypes.length)。 - 行级
urgency= 该订单内各标签的最高紧急度(排序仍按此 + 时间)。 - 分页/total 口径改为 distinct 订单数(不再是待办行数)。前端分页器按此对齐。
- 「核房超期」(INVENTORY_CHECK_OVERDUE,酒店维度无 orderId) 仍独立成行。
前端必改
- 每行渲染
todoTypes[]多个分类标签(中文typeLabel),不再一订单多行。 - 操作入口按
todoTypes[].derived/todoId区分:派生标签(刚抢单待配房/消息未读)走对应跳转、不可 RESOLVE;持久化标签带 todoId 可 RESOLVE/查看。 - 分页 total 改读新的 distinct 订单口径。
顺带(前端自查)
顶部说明文案「共 N 件待办 · 换酒店/核房超期/退订/询房 · 完成订单前置工作后自动解除」是前端硬编码旧文案,且「共 N 件」此前按旧枚举子集求和导致显示 0。请按新流程更新文案,「共 N 件」改为对聚合后 list/stats 全量统计。
测试服实测
- 同订单「酒店超时未回复 + 刚抢单待配房」聚合为一行、todoTypes 2 个中文标签、orderTodoCount=2、total=distinct 订单数。