# 【行为修复+新增端点·管理后台】保险账户余额显示修复（不再¥0）+ 保险订单「刷新出单状态」端点

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

## 1. 保险账户余额显示修复（后端 bug，前端无需改）

- **现象**：保险余额一直显示 **¥0**。
- **根因**：保游 `/Pay/GetUserBalance` 返回 `{"IsSuccess":true,"Data":"198304.40"}`——`Data` **直接就是余额字符串**，后端原代码却取 `Data.Balance`（当嵌套对象），取不到返 0。
- **已修**：后端按 Data 文本直取（兼容旧嵌套格式）。`GET /v3/admin/insurance/balance` 现返真实余额（实测 **198304.4**）。
- **前端无需任何改动**，刷新即正确显示。

## 2. 🆕 新增「刷新出单状态」端点（可选给保险订单加按钮）

异步出单（保游 80099 受理）的保险订单会先处于「**出单中(INSURING)**」，等保游出单后才变「已承保」。新增一个主动对账端点，可让运营在订单页**手动点「刷新出单状态」**立即拉保游最新状态翻态（不用干等回调）：

| 用途 | 方法 + 路径 | 入参/出参 |
|---|---|---|
| 刷新/同步出单状态 | `POST /v3/admin/insurance/orders/{id}/sync-status` | path `id`=保险订单ID；返回 `Result<InsuranceOrderDetailVO>`（刷新后的最新详情，含 status/statusLabel/policyNo）；错误码 INSURANCE_ORDER_NOT_FOUND |

- **建议**：保险订单列表/详情，对「出单中」状态的单加一个「**刷新状态**」按钮，调本端点；返回的 detail 直接刷新该行/该详情。
- 行为：后端会查保游订单详情对账——保游已出单→翻「已承保」并回填保单号；已退保→「已退保」；仍待出单→保持「出单中」（不会误翻）。**仅对账，不会重复出单。**
- 网关 `/v3/admin/**` 已覆盖，无需后端/网关其它改动。

## 3. 说明（无需前端关心，仅背景）

- 后端已加**定时对账 job**（每 5 分钟自动扫「出单中」单查保游翻态），即使没人点按钮、保游回调也没到，出单中的单也会在保游出单后**自动**变已承保。手动端点只是让运营能立即刷新、不用等 5 分钟。
- 保游异步出单回调（DES 密钥）也已在测试环境配好作双保险。

## 验收

余额展示页应显示真实余额（非 ¥0）。保险订单「出单中」的单，点「刷新状态」（接 sync-status）后：保游已出单则变「已承保」+ 显示保单号；保游仍在出则保持「出单中」。
