65 行
3.2 KiB
Markdown
65 行
3.2 KiB
Markdown
---
|
||
date: 2026-06-11
|
||
type: dict-data
|
||
module: hl-user-service/sys_dict + insurance
|
||
priority: medium
|
||
status: merged-deployed
|
||
restart_service: hl-user-service(已部署并实测通过)
|
||
端类型: 管理后台
|
||
breaking_change: false
|
||
gitea_pr: 3692
|
||
---
|
||
|
||
# 保险状态字典 `insurance_status` 补 INSURING(出单中) + 标签对齐列表措辞
|
||
|
||
> 关联:保游 4.2 异步出单整改(changelog `10_3642`)引入 INSURING 状态后,字典一直没补;本次为纯字典数据变更,**后端已部署测试服并实测通过,前端零代码改动**(下拉走字典接口自动生效)。
|
||
|
||
## ⚠️ 关键说明
|
||
|
||
1. **前端不用改代码**:保险订单管理页筛选下拉走 `GET /admin/dict/data/insurance_status`,刷新页面即可看到新选项(字典接口有 5 分钟 Redis 缓存,测试服已手动清过,立即生效)。
|
||
2. **下拉标签措辞变了**:原字典标签(待投保/已投保/已取消/失败)与列表行 `statusLabel`(待出单/已承保/已退保/投保失败)是两套话术,本次统一为列表行同款措辞。若有截图/文案依赖旧措辞请同步。
|
||
3. **筛选 INSURING 直接可用**:列表接口 `GET /v3/admin/insurance/list` 的 `status` 入参无白名单校验,传 `INSURING` 即筛出出单中保单。
|
||
|
||
## 1. 字典终态(共 5 项,按状态生命周期排序)
|
||
|
||
| dict_value | dict_label(旧 → 新) | sort_order(旧 → 新) | 说明 |
|
||
|------------|----------------------|----------------------|------|
|
||
| PENDING | 待投保 → **待出单** | 2 → 1 | 已创建未发起投保 |
|
||
| **INSURING** | **出单中(新增)** | — → 2 | 保游 4.2 异步出单窗口期,等回调落定 |
|
||
| INSURED | 已投保 → **已承保** | 1 → 3 | 出单成功 |
|
||
| CANCELLED | 已取消 → **已退保** | 3 → 4 | 已撤单/退保 |
|
||
| FAILED | 失败 → **投保失败** | 4 → 5 | 出单失败(可手动重投) |
|
||
|
||
## 2. 验证示例(测试服实测)
|
||
|
||
```bash
|
||
curl -k "https://api.test.1814.love:9443/admin/dict/data/insurance_status" \
|
||
-H "Authorization: Bearer {admin_token}"
|
||
```
|
||
|
||
响应(节选 data,字段同字典接口通用结构):
|
||
|
||
```json
|
||
[
|
||
{ "dictValue": "PENDING", "dictLabel": "待出单", "sortOrder": 1 },
|
||
{ "dictValue": "INSURING", "dictLabel": "出单中", "sortOrder": 2 },
|
||
{ "dictValue": "INSURED", "dictLabel": "已承保", "sortOrder": 3 },
|
||
{ "dictValue": "CANCELLED", "dictLabel": "已退保", "sortOrder": 4 },
|
||
{ "dictValue": "FAILED", "dictLabel": "投保失败", "sortOrder": 5 }
|
||
]
|
||
```
|
||
|
||
筛选出单中保单:
|
||
|
||
```bash
|
||
curl -k "https://api.test.1814.love:9443/v3/admin/insurance/list?status=INSURING&page=1&pageSize=10" \
|
||
-H "Authorization: Bearer {admin_token}"
|
||
```
|
||
|
||
(前端按现有 `searchForm.status` 传参即可,无需任何调整。)
|
||
|
||
## 3. 后端附带变更(与前端无关,备查)
|
||
|
||
- 新增 Flyway `V20260611_002`(hl-user-service):整字典幂等补种 + 存量行收敛(原种子只在手工脚本 `sql/dict_business_enums.sql`,未纳入 Flyway,新环境会缺整个字典)。
|
||
- `InsuranceQueryRequest.status` 的 Swagger 注释由过时值集(PENDING/EFFECTIVE/EXPIRED/CANCELLED)更正为真实值集(PENDING/INSURING/INSURED/CANCELLED/FAILED),v2/v3 双份,纯文档无行为变化。
|