From 92f129c52c03daa558ab9466112464205c3c4b91 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Thu, 25 Jun 2026 14:38:58 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog-v2):=20=E4=BB=B7=E6=A0=BC?= =?UTF-8?q?=E6=97=A5=E5=8E=86=E5=89=8D=E7=AB=AF=E8=A1=A5=E5=85=85=20?= =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E4=BB=B7=E5=9B=9E=E6=98=BE=E5=A4=8D=E6=B5=8B?= =?UTF-8?q?=E4=BB=8D=E6=9C=AA=E7=94=9F=E6=95=88+=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=8D=A0=E7=94=A8=E6=98=BE=E7=A4=BA(=E7=9C=8B=E7=9A=84?= =?UTF-8?q?=E6=98=AF=E6=80=BB=E9=87=8F=E9=9D=9E=E4=BD=99=E9=87=8F)+?= =?UTF-8?q?=E4=B8=8D=E9=99=90=E7=BC=BA=E5=8F=A3#4392=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit wx 复测:协议价仍没回显(后端确认返了);配房库存"没变"是看了总stock,真减的是stockUsed/available(实测0→1/10→9),前端弹窗补显占用/余。 --- ...格弹窗_协议价回显+库存可空不限_前端UX_管理后台.md | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/changelogs-v2/2026-06/25_价格日历设置价格弹窗_协议价回显+库存可空不限_前端UX_管理后台.md b/changelogs-v2/2026-06/25_价格日历设置价格弹窗_协议价回显+库存可空不限_前端UX_管理后台.md index 72659a3..7518360 100644 --- a/changelogs-v2/2026-06/25_价格日历设置价格弹窗_协议价回显+库存可空不限_前端UX_管理后台.md +++ b/changelogs-v2/2026-06/25_价格日历设置价格弹窗_协议价回显+库存可空不限_前端UX_管理后台.md @@ -15,6 +15,8 @@ **前端动作**:打开「设置价格」弹窗时,从已加载的日历数据 `prices[]` 里取该日期那条 `PriceCalendarDayVO`,用其 `protocolPrice` 预填「协议价」输入框(同样可预填 `stock`/`status`/`remark`)。 +> ⚠️ **wx 2026-06-25 复测:协议价仍未回显**——后端再次确认 `getPriceCalendar` 返了 `protocolPrice`(实测海拉尔海棠 2026-06-26 返 330.00),请前端务必把弹窗打开时的预填补上。 + ## ② 库存可留空 = 不限制库存(后端已就位,前端放开必填 + null 展示) **诉求**:库存字段允许留空(null),语义 = 该房型该日**不限库存**(不卡上限,永远可配)。 @@ -30,10 +32,22 @@ - 回显时若 `stock=null`,显示为「不限制」或留空(别显示 0)。 - 可用顶层 `stockEnabled` 决定是否展示库存相关交互(false 时库存管控关闭)。 -**后端一个小缺口(待定,看是否需要)**:`batchSetPrices` 对**已有记录**传 `stock=null` 是「保留原值不覆盖」,即**没法把一条已有库存的日期改回「不限」**(只对新建日期生效)。若房务需要把已设库存的日期切回不限,需后端单独支持「显式 null 即清空」——是否要做请告知,单独小改一张单。 +**后端缺口已修(工单 #4392,后端中)**:`batchSetPrices` 原对**已有记录**传 `stock=null` 是「保留原值」、改不回不限。后端已加 `unlimitedStock` Boolean——前端把已设库存的日期改回「不限」时传 `unlimitedStock=true`(后端即显式 `stock=null`);老逻辑不传该字段行为不变。**待部署测试服验证后单独 changelog 通知最终契约**。 + +## ③ 配房后库存「看着没变」——其实减的是占用/余量,不是总库存(前端补显示) + +**现象(wx 复测)**:配了 1 间房后,价格日历「设置价格」弹窗里「库存」还是 10,以为没扣。 + +**真相(API + DB 实证)**:配房硬扣减的是**占用量**,不是总容量—— +- `stock`(总库存/容量)= 10:在弹窗里设的总量,**配房不改它**(酒店有 10 间,卖 1 间总数还是 10)。 +- `stockUsed`(已占用)配房后 **0 → 1**;`available`(可用余量)= `stock - stockUsed` = **10 → 9**。 +- 实证 海拉尔海棠·标准间 2026-06-30 配 1 间:DB `stock_used=1`、候选接口 `available=9`、扣减日志 `resource_success=1`。 + +**前端动作**:`GET /admin/hotel-candidates` 候选列表「余 N / 可用房」列已是 `available`(配房后实时,现显示余 9)——这是看占用的地方。价格日历「设置价格」弹窗只显示总量 `stock` 易误解,**建议弹窗里同时显示「已占用 `stockUsed` · 余 `stock-stockUsed`」**(`getPriceCalendar` 的 `PriceCalendarDayVO` 已返 `stock`+`stockUsed`,数据现成,无需后端改),省得每次误以为没扣。 --- ## 说明 -- ① 后端无改动(GET 早返协议价),纯前端预填。 -- ② 后端扣减/约束/schema 已就位 + 硬扣开关已开;前端放开库存必填 + null 展示「不限」即可;「已有记录切回不限」是唯一待定后端小缺口。 +- ① 后端无改动(GET 早返 `protocolPrice`),纯前端预填;**复测仍未生效,优先落地**。 +- ② 后端扣减/约束/schema 已就位 + 硬扣开关已开;前端放开库存必填 + null 展示「不限」;「已有记录切回不限」缺口后端 #4392 修复中(传 `unlimitedStock=true`)。 +- ③ 配房扣的是 `stockUsed`/`available`(非总 `stock`),前端弹窗补显占用/余即不再误解;后端 `getPriceCalendar` 已返这两个字段,无需改。