# 接口变更记录 — 2026-03-23 18:33

> **提交** `6ab08e4` · **作者** wx · **时间** 2026-03-23 18:33:21 +0800
>
> fix: 订单模块业务逻辑审查修复（11项）

## 变更总览

- **订单服务**
  - InternalRefund (+1)

---

## 订单服务

### InternalRefund

> 📖 **接口文档**: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) → 标签 **「【内部接口】退款（Feign调用）」**

### 🆕 `POST` /internal/mp/order/{orderId}/direct-appeal — 直接申诉退款

> 用户对退款政策计算的金额不满意，跳过退款申请直接发起申诉。

**参数**

  - `{orderId}` (`Long`) — 路径参数
  - `userId` (`Long`) — 查询参数

**请求体** `RefundAppealRequest`

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `appealReason` | `String` | 申诉原因 |
| `appealAmount` | `BigDecimal` | 申诉退款金额 |

**响应** `Result<RefundApplicationVO>`

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `applicationId` | `Long` | 申请ID |
| `orderId` | `Long` | 订单ID |
| `orderNo` | `String` | 订单号 |
| `productName` | `String` | 产品名称 |
| `refundType` | `String` | 退款类型（字典：refund_type） |
| `reasonId` | `Long` | 退款原因ID |
| `reasonText` | `String` | 退款原因 |
| `reasonDetail` | `String` | 补充说明 |
| `paidAmount` | `BigDecimal` | 已付金额 |
| `calculatedAmount` | `BigDecimal` | 计算退款金额 |
| `actualAmount` | `BigDecimal` | 实际退款金额 |
| `policyId` | `Long` | 退款政策ID |
| `policyName` | `String` | 退款政策名称 |
| `departureDate` | `LocalDate` | 出发日期 |
| `daysBeforeDept` | `Integer` | 距出发天数 |
| `refundRatio` | `Integer` | 退款比例（百分比） |
| `status` | `String` | 退款状态（字典：refund_status） |
| `statusLabel` | `String` | 退款状态标签（字典：refund_status 翻译） |
| `reviewAdminId` | `Long` | 审批管理员ID |
| `reviewAdminName` | `String` | 审批管理员姓名 |
| `reviewRemark` | `String` | 审批备注 |
| `reviewedAt` | `LocalDateTime` | 审批时间 |
| `appealReason` | `String` | 申诉原因 |
| `appealAmount` | `BigDecimal` | 申诉退款金额 |
| `approvalNo` | `String` | 审批编号 |
| `appealStatus` | `Integer` | 申诉状态: 1-处理中 2-通过 3-驳回 |
| `appealStatusLabel` | `String` | 申诉状态标签 |
| `appealedAt` | `LocalDateTime` | 申诉时间 |
| `refundedAt` | `LocalDateTime` | 退款完成时间 |
| `refundTypeLabel` | `String` | 退款类型标签（字典：refund_type 翻译） |
| `applicantType` | `String` | 申请人类型（USER/ADMIN） |
| `applicantId` | `Long` | 申请人ID |
| `applicantName` | `String` | 申请人姓名 |
| `createTime` | `LocalDateTime` | 创建时间 |
| `updateTime` | `LocalDateTime` | 更新时间 |

---

## 📦 其他数据对象变更

> 以下变更未直接关联到本次接口变更，但可能影响现有接口的请求/响应

### 订单服务

#### ✏️ MpOrderListVO

  - 🆕 `refundAmount` (`BigDecimal`) — 实际退款金额

#### ✏️ OrderDetailVO

  - 🆕 `mchName` (`String`) — 商户名称
  - 🆕 `refundPolicy` (`RefundPolicyVO`) — 退款政策（含政策名称和退款规则列表）

#### ✏️ OrderListVO

  - 🆕 `mchName` (`String`) — 商户名称

<details>
<summary>📁 全部变更文件 (点击展开)</summary>

```
M	hl-order-service/src/main/java/com/hulalv/order/constant/OrderConstants.java
M	hl-order-service/src/main/java/com/hulalv/order/controller/InternalRefundController.java
M	hl-order-service/src/main/java/com/hulalv/order/dto/RefundApplyRequest.java
M	hl-order-service/src/main/java/com/hulalv/order/job/DepartureReminderJob.java
M	hl-order-service/src/main/java/com/hulalv/order/service/NotificationEventHelper.java
M	hl-order-service/src/main/java/com/hulalv/order/service/OrderAutoProcessingService.java
M	hl-order-service/src/main/java/com/hulalv/order/service/OrderCascadeService.java
M	hl-order-service/src/main/java/com/hulalv/order/service/OrderService.java
M	hl-order-service/src/main/java/com/hulalv/order/service/RefundApplicationService.java
M	hl-order-service/src/main/java/com/hulalv/order/vo/MpOrderListVO.java
M	hl-order-service/src/main/java/com/hulalv/order/vo/OrderDetailVO.java
M	hl-order-service/src/main/java/com/hulalv/order/vo/OrderListVO.java
M	hl-order-service/src/test/java/com/hulalv/order/constant/OrderConstantsTest.java
M	hl-order-service/src/test/java/com/hulalv/order/service/OrderServiceTest.java
M	hl-order-service/src/test/java/com/hulalv/order/service/OrderTodoServiceTest.java
M	hl-order-service/src/test/java/com/hulalv/order/service/RefundApplicationServiceTest.java
```
</details>