2.7 KiB
2.7 KiB
作废需求详情冻结作废时配房快照
目标前端
- 端类型:管理后台(Web)
- 目标仓库:
mmg/hl-ui(https://git.1814.love:8443/mmg/hl-ui.git) - 联调/验收环境:
http://192.168.100.160:9527 - 小程序、H5 及其他前端:无需处理
业务规则
订单调整生成新住宿需求时,旧需求详情必须展示“该需求作废当时”的配房事实,不能复用当前订单的新日期、新行程地点或当前配房。历史数据严格只读,不能恢复或执行任何业务操作。
接口
GET /admin/house/orders/{orderId}?requirementId={作废需求ID}
历史详情的 itinerary[].assignments[] 明确返回冻结字段:
{
"dayNumber": 1,
"stayDate": "2026-07-28",
"assignments": [
{
"assignmentId": "2079188886726098945",
"hotelId": "2023714929877450753",
"hotelName": "呼伦贝尔香格里拉大酒店",
"roomTypeId": "2023727403196502017",
"roomTypeName": "普通标间",
"roomCategory": "STANDARD",
"confirmStatus": "CONFIRMED",
"confirmStatusLabel": "已确认",
"roomCount": 1,
"protoPrice": "280.00",
"settlementPrice": "279.00",
"settleType": "sign",
"sellPrice": "280.00",
"deductInventory": false
}
]
}
stayDate、酒店、房型、数量、价格、支付方式、库存口径和确认状态均来自作废时快照。后续删除/修改当前配房、资源酒店改名或价格调整,不影响历史详情。
管理后台处理要求
- 作废详情按
itinerary[]展示旧日期;每条配房至少显示酒店、roomTypeName、roomCount和confirmStatusLabel。 - 房型名称优先使用
roomTypeName;部署前没有可信名称快照的旧数据才允许回退roomCategoryLabel,不得按 ID 或列表位置猜测。 historicalRequirement=true或voided=true时保持严格只读:仅允许查看、关闭、查看车务;不得出现联系、转单、配房、删除、清空、驳回、最终确认等房务写操作。- 禁止用当前订单出发日期推算历史
stayDate,禁止调用当前资源结果覆盖后端返回的历史酒店/房型快照。 - ID 字段按字符串处理,禁止转换为 JavaScript
number。
兼容与验收证据
- 变更为 additive,当前生效需求的接口结构不变。
- 测试订单:
HL20260719151313174,orderId=2078739922130243586。 - 作废需求:
requirementId=2079181505287897090。 - 测试环境返回 3 晚旧配房:2026-07-28/29/30,酒店“呼伦贝尔香格里拉大酒店”,房型“普通标间”,数量 1/2/3,状态均为“已确认”。
- 浏览器验收使用仓库 CDP 脚本完成,页面无 console error 或 failed request。