# 【行为修复·管理后台】保险订单列表「投保人 / 保障期间 / 总保费」三列不再为空

> 端：hl-ui（保险管理 → 保险订单列表）| 服务：hl-order-service-v3 insurance | PR #3831 已合并 dev-v3 + 部署测试服双实例 + 实测 | 2026-06-15

## ⚠️ 关键说明

保险订单列表表格的「**投保人 / 保障期间 / 总保费**」三列此前全空。**后端数据一直是齐全的**（实测 premium=27.0、保障期 2026-06-16~2026-07-31 都有值），空的原因是**列表接口字段名与详情接口分叉**——前端列表表格复用了**详情接口的字段名**，而列表接口当时没给这些名。

本次**后端把列表接口的字段补齐成与详情接口同款**，前端**多数情况下无需改动**，刷新即可显示。

## 1. 列表接口 `GET /v3/admin/insurance/list` 现已返回的字段（已补齐）

| 列 | 现在可读的字段（任选其一，**同值**） | 实测值示例 |
|---|---|---|
| **投保人** | `policyHolderName` 🆕 | `内蒙古呼籁国际旅行社有限公司` |
| **总保费** | `totalPremium` 🆕 或 `premium` | `27.00` |
| **保障期间(开始)** | `startDate` 🆕 或 `coverageStartDate` | `2026-06-16` |
| **保障期间(结束)** | `endDate` 🆕 或 `coverageEndDate` | `2026-07-31` |

- 🆕 标记的是本次**新增**字段；之前列表只有 `premium` / `coverageStartDate` / `coverageEndDate`，且**完全没有** `policyHolderName`。
- 现在列表与详情接口（`GET /v3/admin/insurance/orders/{id}`）**字段名完全一致**，前端列表/详情可共用同一套字段读取，不会再出现「详情有、列表空」。

## 2. 「保单号」列显示「出单中，保单号生成中…」属正常

- 状态为「**出单中(INSURING)**」的订单，保游尚未出单，**本就没有保单号**，后端 `policyNo`/`extPolicyNo` 返回 `null` 是正确的。
- 前端对 null 显示占位文案没问题。出单成功后 `extPolicyNo` 会回填真实保单号。
- 建议：保单号列优先读 `extPolicyNo`（`policyNo` 是兼容字段，后续版本将废弃）。

## 3. 列表响应示例（实测，dev-v3 已部署）

```json
{
  "code": 200,
  "data": {
    "records": [{
      "insuranceOrderId": "2066402144482709506",
      "extOrderNo": "BX2026061514071660000217",
      "extPolicyNo": null, "policyNo": null,
      "productName": "山河令（太保山东新）", "planName": "10万计划",
      "policyHolderName": "内蒙古呼籁国际旅行社有限公司",
      "premium": 27.00, "totalPremium": 27.00,
      "insuredCount": 1,
      "coverageStartDate": "2026-06-16", "coverageEndDate": "2026-07-31",
      "startDate": "2026-06-16", "endDate": "2026-07-31",
      "status": "INSURING", "statusLabel": "出单中",
      "source": "BAOYOU", "bizType": "DRIVER"
    }]
  }
}
```

## 验收

保险订单列表「投保人」显示投保主体公司名（如「内蒙古呼籁国际旅行社有限公司」），「总保费」显示金额，「保障期间」显示起止日期。出单中的单「保单号」为空/占位属正常，出单后回填。
