hl-api-changelog/changelogs-v2/2026-07/03_配房需求酒店房型房间数均非必填-前端处理-管理后台.md
2026-07-03 10:03:41 +08:00

3.2 KiB

配房需求:酒店、房型、房间数均改为非必填

模块:管理后台 · 调整订单弹窗 · 酒店安排 / 配房需求 类型:前端处理说明(需求口径,需前后端校验同步放宽) 日期2026-07-03

背景

当前调整订单弹窗的「酒店安排」里,前端会在候选酒店行校验房型必填,出现类似「第 1 晚候选 2 请选择房型」的提示。

新需求口径:配房需求只表达定制师诉求,具体酒店 / 房型 / 房间数都可以交给房控处理,因此这三项都不能作为前端提交前的必填项。

涉及接口

  • POST /v3/admin/order/{orderId}/adjustment/submit,当 updates.hotelRequirement 有值时。
  • PUT /v3/admin/order/{orderId}/hotel-requirement,独立提交 / 修改用房需求时。

前端处理口径

调整订单 → 酒店安排:

  • 候选酒店可以不选;不选表示「房控按诉求找酒店」。
  • 房型可以不选;即使已经选择了酒店,也不要再弹「请选择房型」。
  • 房间数可以不填;不要强制默认 1 / 2,也不要把空值转成 0
  • 用户只填写备注 / 诉求、不填酒店 / 房型 / 房间数时,也允许保存。
  • 只有用户主动删除候选行时才移除该候选;空字段本身不等于删除候选。

Payload 建议

空值请用 null 或直接省略字段,不要传空字符串或 0

{
  "updates": {
    "hotelRequirement": {
      "days": [
        {
          "dayNumber": 1,
          "segments": [
            {
              "remark": "希望离餐厅近,房控按实际可订情况安排",
              "candidates": [
                {
                  "hotelId": null,
                  "hotelName": null,
                  "rooms": [],
                  "remark": "酒店待房控确认"
                },
                {
                  "hotelId": 2029926129876320258,
                  "hotelName": "海拉尔嘉世豪酒店",
                  "rooms": [
                    {
                      "roomTypeId": null,
                      "roomTypeName": null,
                      "roomCategory": null,
                      "roomCount": null,
                      "remark": "房型和间数待房控确认"
                    }
                  ],
                  "remark": "可优先考虑这家酒店"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

兼容提醒

历史通知里曾要求「选酒店后房型必填、房间数 > 0」。该口径已被本需求覆盖,前端不要再按旧口径做本地必填拦截。

当前后端旧校验可能仍会返回:

  • 582019:候选方案必须至少含 1 个房型行
  • 582020:房型行必须指定房型
  • 582016roomCount 必须 > 0

如联调时仍遇到这些错误码,说明后端校验尚未同步放宽;前端不应恢复必填校验,应按本需求等待后端契约对齐。

验收点

  • 第 1 晚候选酒店留空,可以提交。
  • 选择了酒店但房型留空,不再提示「请选择房型」。
  • 房间数留空,不再提示必填或自动写入 0
  • 只填备注 / 诉求、不填酒店 / 房型 / 房间数,前端允许保存。