diff --git a/changelogs/2026-03/2026-03-23_order_fixes_batch2.md b/changelogs/2026-03/2026-03-23_order_fixes_batch2.md new file mode 100644 index 0000000..00b71b7 --- /dev/null +++ b/changelogs/2026-03/2026-03-23_order_fixes_batch2.md @@ -0,0 +1,140 @@ +# 订单功能修复与增强(第二批) + +**日期**: 2026-03-23 18:50 +**影响服务**: hl-order-service, hl-insurance-service, hl-user-service, hl-payment-service +**已部署**: 测试服务器 ✅ + +--- + +## 1. 出行人保险保单展示(新功能) + +订单详情接口的 `travelers` 数组中,每个出行人新增 `insurancePolicies` 字段,包含该出行人的所有保险保单。一个人多份保单会合并在数组中。 + +### 数据结构 + +```json +{ + "travelers": [ + { + "name": "米明光", + "insurancePolicies": [ + { + "insuranceOrderId": "2035907623051735042", + "productName": "畅游神州境内游(旅行社专享)", + "planName": "经济版", + "extPolicyNo": "11209006600506819432", + "startDate": "2026-03-24", + "endDate": "2026-03-26", + "status": "INSURED", + "statusLabel": "已承保", + "totalPremium": "1.50" + }, + { + "insuranceOrderId": "2035907674989801474", + "productName": "畅游神州境内游(旅行社专享)", + "planName": "经济版", + "extPolicyNo": "11209006600506819433", + "startDate": "2026-03-27", + "endDate": "2026-03-29", + "status": "INSURED", + "statusLabel": "已承保", + "totalPremium": "2.00" + } + ] + } + ] +} +``` + +### insurancePolicies 字段说明 + +| 字段 | 类型 | 说明 | +|------|------|------| +| insuranceOrderId | String | 保险订单ID | +| productName | String | 保险产品名称 | +| planName | String | 保险计划名称 | +| extPolicyNo | String | 保单号 | +| startDate | String | 保障开始日期 | +| endDate | String | 保障结束日期 | +| status | String | 状态:INSURED=已承保, CANCELLED=已退保 | +| statusLabel | String | 状态中文标签 | +| totalPremium | String | 保费金额 | + +### 前端展示建议 + +小程序出行人信息区域,每个人下面展示其保单卡片: +- 保障期间:2026-03-24 ~ 2026-03-26 +- 保单号:11209006600506819432 +- 状态:已承保 +- 多份保单纵向排列 + +--- + +## 2. 订单内部状态"已锁单" + +`processStatus = PENDING_FINANCE` 的标签从"待核算"改为 **"已锁单"**。 + +字典 `order_process_status` 中 `PENDING_FINANCE` 的 `dict_label` 已同步更新。 + +--- + +## 3. 商户号显示公司全名 + +订单详情新增 `mchName` 字段,返回商户公司全名: + +| mchId | mchName | +|-------|---------| +| 1106110439 | 内蒙古呼籁国际旅行社有限公司 | +| 1246532201 | 内蒙古呼籁山河国际旅行社有限公司 | +| 1684769133 | 内蒙古呼籁文旅投资开发集团有限公司 | + +**前端需改**:商户号选择器和订单详情展示用 `mchName` 代替 `mchId`。 + +--- + +## 4. 退款类型校验修复 + +小程序退定金报错已修复。`refundType` 现在支持: +- `FULL` - 全额退款 +- `PARTIAL` - 部分退款 +- `DEPOSIT` - 退定金 +- `BALANCE` - 退尾款 + +--- + +## 5. 退款金额为0直接完成 + +退款审批通过但金额为0时,不再调微信退款接口(微信不支持退0元),直接标记为"已退款"。 + +--- + +## 6. 已锁单订单用户修改出行人自动解锁 + +已锁单(清单确认后)的订单,如果用户在小程序修改了出行人或出发日期: +- 自动解锁订单 +- 触发级联(退保+作废合同) +- 重走内部流程(重新投保→签约→配房→配车→确认清单→锁单) + +--- + +## 7. 解锁申请通知(短信+站内消息) + +管理员调用 `POST /admin/order/{orderId}/request-unlock` 申请修改时,系统自动: +- 发站内消息给用户 +- 发短信提醒用户确认 + +用户在小程序确认后调用 `POST /internal/mp/order/{orderId}/approve-unlock` 完成解锁。 + +--- + +## 8. 定制师列表只展示有企微的 + +`GET /admin/order/todo/customizer-list` 现在只返回绑定了企业微信的定制师。 + +**前端需改**:下拉展示用 `wechatName` 字段(企微姓名),提交用 `adminId`。 + +--- + +## 9. 尾款支付方式默认线下转账 + +新创建的订单 `balancePayMethod` 默认为 `OFFLINE`(线下转账),无需手动设置。