# Change: 代理商佣金查询模块

## Why

平台需要查看和管理代理商（店铺）的佣金信息，包括：
1. 代理商列表及其佣金汇总（总佣金、已提现、未提现、冻结中、可提现）
2. 查看某代理商的佣金提现记录
3. 查看某代理商的佣金入账明细

这是账号管理-代理商(店铺)管理模块的核心功能。

## What Changes

### 新增 API 接口

| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/admin/shops/commission-summary` | 代理商佣金列表（含汇总信息） |
| GET | `/api/admin/shops/:shop_id/withdrawal-requests` | 代理商提现记录 |
| GET | `/api/admin/shops/:shop_id/commission-records` | 代理商佣金明细 |

### 技术实现

- 新增 Handler：`internal/handler/admin/shop_commission.go`
- 新增 Service：`internal/service/shop_commission/service.go`
- 新增 DTO：`internal/model/dto/shop_commission_dto.go`
- 扩展 Store：`internal/store/postgres/wallet_store.go`（新增佣金汇总查询方法）

### 业务逻辑

**佣金汇总计算**：
- `total_commission`：总佣金 = Wallet.balance + Wallet.frozen_balance + 已提现金额
- `withdrawn_commission`：已提现 = CommissionWithdrawalRequest(status=2) 总金额
- `unwithdraw_commission`：未提现 = 总佣金 - 已提现
- `frozen_commission`：冻结中 = Wallet.frozen_balance
- `withdrawing_commission`：提现中 = CommissionWithdrawalRequest(status=1) 总金额
- `available_commission`：可提现 = Wallet.balance - 提现中

**店铺层级路径**：
- 格式：`上上级_上级_本身`（最多两层上级）
- 不包含平台

## Impact

### 影响的规范
- **新增 Capability**：`shop-commission-query`

### 影响的代码

**新增文件**（约 400 行）：
- `internal/handler/admin/shop_commission.go`（~100 行）
- `internal/service/shop_commission/service.go`（~200 行）
- `internal/model/dto/shop_commission_dto.go`（~100 行）

**修改文件**（约 50 行）：
- `internal/store/postgres/wallet_store.go`（新增方法）
- `internal/bootstrap/` 相关文件（注册组件）

### 兼容性
- ✅ 向后兼容：新增 API，不影响现有功能

## Dependencies

- 依赖提案：`add-commission-model-changes`
- 依赖现有模型：`Shop`、`Account`、`Wallet`、`CommissionRecord`、`CommissionWithdrawalRequest`

## Testing Strategy

1. **单元测试**：佣金汇总计算逻辑
2. **集成测试**：API 端点测试
3. **数据权限测试**：代理商只能看到自己+下级店铺数据
