## ADDED Requirements

### Requirement: 退款佣金全额回扣
退款审批通过后，系统 SHALL 查找该订单产生的所有已入账佣金记录（`tb_commission_record WHERE order_id=? AND status=1`，使用 `CommissionRecord` 模型的 `CommissionStatusReleased=1` 常量），全额从各代理佣金钱包（`wallet_type="commission"`）中扣减。扣减允许余额为负。

#### Scenario: 正常佣金全额回扣
- **WHEN** 退款审批通过，该订单有 N 条已入账佣金记录
- **THEN** 系统 SHALL 对每条佣金记录全额扣减 `deductAmount = commission.Amount`，从对应代理的佣金钱包扣减（使用 `GetCommissionWallet`，乐观锁更新），创建 `transaction_type="commission_deduct"` 的交易流水，全部完成后标记退款单 `commission_deducted=true`

#### Scenario: 无佣金记录
- **WHEN** 退款审批通过，但该订单无已入账佣金记录
- **THEN** 系统 SHALL 直接标记 `commission_deducted=true`，不执行扣减

#### Scenario: 回扣执行失败
- **WHEN** 佣金回扣过程中发生错误
- **THEN** 审批结果 SHALL NOT 受影响（已通过），`commission_deducted` 保持 `false`，记录 Error 日志

### Requirement: 佣金回扣交易流水
每次佣金扣减 SHALL 创建交易流水记录：`transaction_type` 为 `commission_deduct`，`reference_type` 为 `refund`，`reference_id` 为退款单 ID，金额为负值（`-commission.Amount`）。

#### Scenario: 交易流水格式
- **WHEN** 佣金回扣成功执行
- **THEN** `tb_agent_wallet_transaction` SHALL 新增记录：`shop_id=佣金所属代理, transaction_type=commission_deduct, amount=-commission.Amount, reference_type=refund, reference_id=退款单ID, remark=退款佣金回扣`

### Requirement: 佣金钱包为负对提现的影响
佣金钱包余额为负时，代理 SHALL NOT 能发起新的提现申请。后续新佣金入账会逐步补填负数。退款回扣时不考虑是否有正在审批的提现申请，正常扣减佣金钱包。
