# Change: 换货流程升级 - 新增直接换货类型

## Why

现有换货流程仅支持物流换货（shipping），需要填写收货信息、发货、确认完成等多个步骤，流程较长。部分场景下需要支持直接换货（direct），即创建后立即完成，无需物流环节，提升换货效率。

## What Changes

- **新增** 换货流程类型（flow_type）字段，支持 `shipping`（物流换货）和 `direct`（直接换货）两种类型
- **新增** 发货时间（shipped_at）和完成时间（completed_at）字段，用于记录换货流程关键时间节点
- **修改** 创建换货单接口，支持选择流程类型和直接换货参数
- **修改** 换货单列表接口，新增流程类型筛选和资产标识符模糊查询
- **修改** 换货单详情接口，返回流程类型和时间戳信息
- **修改** 发货、确认完成、取消换货接口，增加流程类型限制逻辑
- **BREAKING** direct 类型换货单不支持发货、确认完成和取消操作
- **BREAKING** 取消换货仅支持 shipping 流程且状态为待填写信息或待发货时

## Impact

- **Affected specs**: exchange-management（新建）
- **Affected code**:
  - `src/api/modules/exchange.ts` - API 类型定义和接口调用
  - 换货单列表页面 - 新增流程类型列和筛选项
  - 换货单详情页面 - 根据流程类型控制按钮和信息区块显示
  - 创建换货单弹窗 - 新增流程类型选择和相关字段
- **Database**: `tb_exchange_order` 表新增 `flow_type`、`shipped_at`、`completed_at` 字段
- **API compatibility**: 向后兼容，历史数据 flow_type 为空时视为 shipping
