# 房务原型对齐 — 配房候选项酒店运营标签 + 价格日历底价字段 — 修改接口 — 管理后台

> 变更类型：✨ 响应字段新增（候选项 tags）+ 🔧 字段占位预留（价格日历 floorPrice）
> 端类型：管理后台（房务管家 · 配房选酒店 / 酒店管理 · 价格日历）
> 日期：2026-06-19
> 服务：hl-order-service-v3 + hl-resource-service
> PR：https://git.1814.love:8443/wx/HL/pulls/4081 （Closes #4070）、https://git.1814.love:8443/wx/HL/pulls/4078 （Closes #4071）

---

## ⚠️ 关键说明（给前端，2 处）

### 1. 配房候选项返回酒店「运营标签」(#4070)

配房选酒店候选接口 `GET /v3/admin/hotel-candidates` 的每个候选项**新增 `tags` 字段**（`List<String>`，酒店运营标签名列表，如「草原景观」「网红」「性价比高」）。

- 标签数据来自**现有酒店标签库**——资源管理 · 酒店管理本就有的打标签能力（`/admin/hotel` 系列标签接口），不是新机制。
- 前端在配房候选项渲染标签 chip；**无标签的酒店返空数组 `[]`（不返 null）**。
- 给酒店打/改标签仍走现有 `PUT /admin/hotel/item/{hotelId}/tags`、`/admin/hotel/tags` 等接口；本次只是把酒店**已打的标签**透传到配房候选项展示。

### 2. 价格日历新增「底价」字段(#4071)

房型价格日历 `GET / PUT /admin/hotel/room-type/{roomTypeId}/prices` 每天**新增 `floorPrice`（底价）字段**（字符串金额，如 `"260.00"`）。

- **占位预留，当前不接任何业务逻辑**——可读可写可存，但暂不参与任何计算/校验。
- 前端**当前不用**（后续真正接入时再单独通知）；GET 默认返 `null`，PUT 可不传。

---

## 1. 配房候选项 tags（#4070，响应结构新增）

**`GET /v3/admin/hotel-candidates`**（路径/入参不变，仅响应每个候选项新增字段）

| 新增字段 | 类型 | 说明 |
|---|---|---|
| tags | List&lt;String&gt; | 酒店运营标签名列表（来自酒店标签库；无标签返 `[]`） |

候选项其余字段（protoPrice 协议价、isPoolMatch 池内标记、todayAvailable 可用房等）不变。

---

## 2. 价格日历 floorPrice（#4071，字段占位）

**`GET / PUT /admin/hotel/room-type/{roomTypeId}/prices`**（路径/结构不变，每天日历项新增字段）

| 新增字段 | 类型 | 说明 |
|---|---|---|
| floorPrice | String（金额，ToString 序列化） | 底价（占位预留，暂不用）；GET 返出、PUT 可填入库 |

```bash
# GET 月度价格日历（每天含 floorPrice，默认 null）
curl -k "https://api.test.1814.love:9443/admin/hotel/room-type/{roomTypeId}/prices?year=2026&month=6" \
  -H "Authorization: Bearer <token>"
```

响应片段（已测试服实测）：

```json
{ "date": "2026-06-15", "protocolPrice": "320.00", "floorPrice": "260.00",
  "status": "AVAILABLE", "stock": 5, "stockUsed": 0, "remark": null }
```

---

## 测试

- **#4071** 已在测试服 9443 实测：GET 每天返 `floorPrice` 字段（默认 null）、PUT 写 `260.00` 回读为字符串 `"260.00"`（金额 String 序列化正确）、DELETE 还原。Flyway `V20260619_002` 已应用。
- **#4070** 候选端点已部署可达；`tags` 透传由单测覆盖（resource 37 / order-v3 候选 40 全绿）+ 同一取标签方法 `getTagsByHotelIds` 在 admin 酒店列表实证返真标签。

## 备注

- 网关无需改（`/v3/admin/hotel-candidates`、`/admin/hotel/**` 路由已覆盖）。
- via 房务管家 v2.0 原型对齐 batch（预付款先不做；月度对账/酒店富表单/配房改价 另立工单 #4072-#4074）。
