From f7fbc5dacff62a8ab766b5595b63868e3c4d3ebc Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Sat, 27 Jun 2026 09:08:34 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog-v2):=20=E9=85=8D=E6=88=BF?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=A4=A7=E6=94=B9=E5=A4=A9=E7=BA=A7=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4(=E8=AF=A2=E6=88=BF=E4=B8=AD=E2=86=92=E5=8D=95?= =?UTF-8?q?=E6=97=A5=E7=A1=AE=E8=AE=A4=E2=86=92=E6=95=B4=E4=BD=93=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E2=86=92=E5=8F=AF=E6=94=B9)+=E5=88=A0=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=BC=8F=E8=AF=A2=E6=88=BF+=E5=BE=85=E5=8A=9E2?= =?UTF-8?q?=E6=96=B0=E6=A7=BD=20(#4470=20#4475)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-询房中单日确认整体确认可改+删记录式询房-管理后台.md | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 changelogs-v2/2026-06/29_4469_配房改天级确认流程大改-询房中单日确认整体确认可改+删记录式询房-管理后台.md diff --git a/changelogs-v2/2026-06/29_4469_配房改天级确认流程大改-询房中单日确认整体确认可改+删记录式询房-管理后台.md b/changelogs-v2/2026-06/29_4469_配房改天级确认流程大改-询房中单日确认整体确认可改+删记录式询房-管理后台.md new file mode 100644 index 0000000..d9dd977 --- /dev/null +++ b/changelogs-v2/2026-06/29_4469_配房改天级确认流程大改-询房中单日确认整体确认可改+删记录式询房-管理后台.md @@ -0,0 +1,92 @@ +# 配房流程大改:天级确认(询房中→单日确认→整体确认→可改)+ 删记录式询房 + +> 变更类型:🔧 流程重构(**房务管家前端需较大迁移**) +> 端类型:管理后台(房务管家·配房/详情/日历/待办) +> 日期:2026-06-27 | 工单:#4469 #4474 | PR:#4470 #4475 | 服务:hl-order-service-v3(双实例已部署测试服,22 项全场景 E2E + DB 地面真相核对通过) + +> ⚠️ 本单**取代**早前 `27_4427`(询房候选流程)的「询房候选」部分——询房中候选改由配房行 `confirm_status` 派生,不再有记录式询房消息。`28_4435` 的 `currentAssignments`(一天多家)保留但语义收紧为「仅已确认」。 + +--- + +## 一、配房流程改为「天级确认」(核心) + +新流程:**抢单 → 单日行程点「配房」选酒店/房型/数量(可多选多家候选)→ 该天「询房中」→ list 每天单独「单日确认」→ 整体确认 → 整体确认后还能改房**。 + +「询房」= **只复制话术**(记录式发起询房/询房历史已删,见第四节)。 + +配房行新增确认态 `confirm_status`: +- `INQUIRING`(询房中)= 配房时选的候选,**不占库存**; +- `CONFIRMED`(已确认)= 单日确认保留的,**此刻才扣库存**。 + +--- + +## 二、新端点(2 个) + +### 1. 单日确认 +`POST /v3/admin/order/hotel-requirements/{requirementId}/assignments/days/{dayNumber}/confirm` +- Body(可整体省略):`{ "keepAssignmentIds": [Long...] }` —— 从该天「询房中」候选里**挑要保留的**(可多家);**省略/空数组 = 该天全部候选都保留**。 +- 行为:保留的行 → `CONFIRMED` + **扣 resource 库存**(库存不足在此拒,code `ROOM_STOCK_INSUFFICIENT`);落选的行软删。全部天都已确认时需求自动进「待最终确认」。 +- 出参 `Result`;幂等同 `(requirementId, dayNumber)` 3 秒。 + +### 2. 整体确认后解冻改房(reopen) +`POST /v3/admin/order/hotel-requirements/{requirementId}/reopen` +- 用途:整体确认(已完成)后房务还要改房时调用,把需求从「已完成」退回「配房中」再改。 +- 放行条件:订单 `flow_status ≤ 待确认(PENDING_CONFIRM)`(含待支付/待补全信息/资源准备/待确认);已进下游(待出行及以后)→ 拒 `808122`「订单已确认进入下游,如需改房请由定制师重新调整需求」。 +- 幂等:已是「配房中」重复调用安全。 + +> 配房保存 `POST .../assignments`、改价 `PUT .../assignments/{id}`、删配房 `DELETE .../assignments/{id}` 在「已完成」态仍被拦 `808121`,**必须先 reopen** 才能改。 + +--- + +## 三、详情 `GET /admin/house/orders/{orderId}` 字段变更(`itinerary[]` 每天) + +| 字段 | 变更 | +|---|---| +| `arrange` / `arrangeLabel` | 三态语义改由 `confirm_status` 派生:`pending`(待配房,无配房行) / `waiting`(询房中,有 INQUIRING 候选无已确认) / `confirmed`(已确认,有 CONFIRMED 行) | +| **`inquiringAssignments`(新增数组)** | 该天「询房中」候选行,结构同 `currentAssignment`(assignmentId/hotelId/roomTypeId/hotelName/roomCategory/roomCount/protoPrice/sellPrice,金额+雪花字符串)。**前端单日确认弹窗读它挑选**,拿 `assignmentId` 作 `keepAssignmentIds` | +| `currentAssignments`(数组) | 语义收紧:**只含已确认(CONFIRMED)行**(之前含全部 active) | +| `currentAssignment`(单数,已废弃) | = `currentAssignments[0]` | +| ~~`inquiries` / `InquiryCandidate`~~ | **删除**(旧记录式询房候选,改用 `inquiringAssignments`) | +| ~~`waitingDesc`~~ | **删除** | + +--- + +## 四、删除 6 个记录式询房端点(询房=只复制话术) + +**删**(调用返 body `code:404 接口不存在`): +- `POST /v3/admin/order/inquiry/send`(发起询房) +- `POST /v3/admin/order/inquiry/{id}/reply`(回填) +- `GET /v3/admin/order/inquiry`(询房历史) +- `GET /v3/admin/order/inquiry/timeouts` +- `POST /v3/admin/order/inquiry/{id}/resend`(重发) +- `POST /v3/admin/order/inquiry/{id}/escalate`(加急) + +**保留**:`POST /v3/admin/order/inquiry/preview`(复制话术,房型已翻中文如「标间」)。 + +前端需:去掉「发起询房」「询房历史」入口,询房按钮接 `/inquiry/preview` 复制话术。 + +--- + +## 五、日历 `GET /admin/house/calendar` + +- 「询房中」黄点桶现在 = 该天有 `confirm_status=INQUIRING` 的配房行(不再读记录式询房消息)。`summary.inquiry` 同义。 +- 4 桶不变(异常/询房中/待配房/进行中),其中「已抢未配」仍归进行中(#4448 不回退)。 + +--- + +## 六、待办 `GET /v3/admin/order/todos` + +- **`stats` 新增两键**:`REQUIREMENT_ADJUSTED`(异常订单·需求变更,定制师改出发日期/行程天数)、`HOTEL_REPLY_TIMEOUT`(酒店超12h未回复)。 +- **删** `stats` 的 `INQUIRY_TIMEOUT` / `INQUIRY_ESCALATED` 键。 +- 新 `todoType=HOTEL_REPLY_TIMEOUT`(label「酒店超时未回复」):某天选了酒店发了话术但 12h 内没单日确认 → 待办提醒(每小时 job 产,房务单日确认/取消/标完成后自动消)。 +- 「我的接单」`list[]` 删 `waitingDesc`。 + +> 房务待办「刚抢单的需求」「定制师发消息未读」仍是「我的接单」行内指标(`todoCount`/`unreadMessageCount` 红点),未并入待办列表(口径待产品确认)。 + +--- + +## 七、测试服实测(22 项全场景 E2E,DB 地面真相核对) + +抢单→配2候选(INQUIRING不扣库存)→询房中→单日确认(挑保留→CONFIRMED+落选软删+此刻扣库存)→逐天→整体确认(房控DONE)→已确认改房拦808121→reopen解冻→可改;一天保留多家→多家CONFIRMED各扣库存;取消已配房→异常+退订待办;preview话术翻中文;6询房端点已删;reopen下游拒808122;未付款单reopen放行;酒店12h待办单日确认自动消。全部通过。 + +> 后端已完成并实测,前端按本单迁移。