docs(changelog): 小蒙马下单放开必须有儿童限制,允许纯成人下单(前端待办+后端已支持依据)
这个提交包含在:
父节点
06833500ca
当前提交
6b611e1711
@ -0,0 +1,49 @@
|
|||||||
|
# 【小程序·前端待办】小蒙马(GROUP)下单放开「必须有儿童/小童」限制,允许纯成人下单
|
||||||
|
|
||||||
|
> **类型**: 前端待办(hl-mini 小程序) - 业务规则放开
|
||||||
|
> **仓库**: hl-mini(v1 分支,C 端小程序)
|
||||||
|
> **日期**: 2026-06-01
|
||||||
|
> **背景**: wx 反馈——小蒙马下单时「只有成人、没有儿童」也应能下单;现状是没有非成人(儿童/小童)就被拦,无法下单。
|
||||||
|
> **后端**: 已支持纯成人下单,**无需改后端**(依据见下)。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、需求
|
||||||
|
|
||||||
|
小蒙马(GROUP / 团队产品)下单,**允许只有成人、不带任何儿童/小童/幼童**也能正常下单。当前前端在确认下单时强制「至少 1 名儿童或小童」,需放开。
|
||||||
|
|
||||||
|
## 二、前端拦截点(要改的地方)
|
||||||
|
|
||||||
|
`packages/product/_shared/components/booking-popup/booking-popup.js` → `onConfirm()` 内:
|
||||||
|
|
||||||
|
```js
|
||||||
|
// 约 758-761 行 —— 这段是唯一的硬拦截,删除即可
|
||||||
|
if (isGroupProduct && (childCount + youngChildCount) < 1) {
|
||||||
|
wx.showToast({ title: '至少需要1名儿童或小童', icon: 'none' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- **改法**:删掉上面这个 `if` 块。保留上方 `adultCount < 1 → '至少需要1名成人'` 的校验(成人仍是必须的)。
|
||||||
|
- 删除后,小蒙马即可纯成人下单(成人 ≥1、儿童/小童/幼童均可为 0)。
|
||||||
|
|
||||||
|
### 可选(体验,非阻塞)
|
||||||
|
同文件约 274 行,小蒙马儿童 stepper 默认起始值为 1(`isGroupProduct ? 1 : ...`)。这只是默认值,用户本就能手动减到 0(line 279-280 已把 min 设为 0),不影响纯成人下单。是否把默认值也改为 0 由前端按交互习惯决定,**与本次放开无强依赖**。
|
||||||
|
|
||||||
|
## 三、后端为什么不用改(依据)
|
||||||
|
|
||||||
|
后端全链路已支持纯成人,逐处确认:
|
||||||
|
|
||||||
|
| 位置 | 结论 |
|
||||||
|
|------|------|
|
||||||
|
| `MpOrderSaveReqVO` / `AdminOrderSaveReqVO`(下单请求) | `adultCount @Min(1)`,childCount/youngChildCount/babyCount **无下限、默认可为 0/null** |
|
||||||
|
| `GroupTourBatchService.getGroupQuote`(团报价) | 纯成人时 `childTotal/toddlerTotal/infantTotal = 0`,`grandTotal` 正常,不依赖非成人 |
|
||||||
|
| `GroupOrderStrategy.validate`(下单校验) | 只校验班期状态/报名截止/出发日期/房间库存,**无人群结构校验** |
|
||||||
|
| `OrderCreateService.calcTotalPeople` | null-safe,纯成人 `totalPeople = 成人数 > 0`,正常扣减库存 |
|
||||||
|
| `PricingRuleHelper.singleRoomSurcharge` | 单房差只看 `adultCount`(奇数成人),与是否有儿童无关 |
|
||||||
|
|
||||||
|
即:前端删掉那段校验后,纯成人下单会被后端正常受理、报价、扣库存。
|
||||||
|
|
||||||
|
## 四、验证建议(前端改完自测)
|
||||||
|
|
||||||
|
小蒙马产品 → 选报名中班期 → 成人 2、儿童/小童/幼童全 0 → 应能正常进入支付/确认页,不再弹「至少需要1名儿童或小童」。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户