## Why

当前的套餐分配和佣金系统存在严重的设计问题：1）独立的代理可售套餐接口违背了数据权限自动过滤原则；2）自动加价计算逻辑不符合实际业务需求（代理应手动设置成本价）；3）梯度佣金逻辑错误（实现为"额外奖励"而非"返佣比例提升"）；4）缺少配置版本管理和历史记录，导致数据一致性和可追溯性问题。必须重构以修正核心逻辑和架构设计。

## What Changes

- **删除自动加价机制**：移除 `PricingMode` 和 `PricingValue` 字段，批量分配时支持可选加价（一次性计算），后续通过手动调整成本价
- **删除冗余接口**：移除 `/api/admin/my-packages` 系列接口及相关代码（Handler、Service、DTO），通过数据权限自动过滤实现代理可售套餐查询
- **重构基础返佣配置**：新增 `BaseCommissionMode` 和 `BaseCommissionValue` 字段，支持固定金额和百分比两种返佣模式
- **修正梯度佣金逻辑**：重构 `ShopSeriesCommissionTier` 字段含义，将"销量达标额外奖励"改为"销量达标提升返佣比例"，新增 `CommissionMode` 字段区分固定金额和百分比
- **新增配置版本管理**：创建 `ShopSeriesAllocationConfig` 表，记录返佣配置历史，订单创建时锁定配置版本
- **新增成本价历史记录**：创建 `ShopPackageAllocationPriceHistory` 表，记录成本价变更历史，支持审计和纠纷处理
- **新增梯度统计缓存**：创建 `ShopSeriesCommissionStats` 表，异步更新统计数据（结合 Redis 缓存），避免实时计算性能问题
- **新增批量操作接口**：`POST /api/admin/shop-package-allocations/batch`（批量分配）和 `PATCH /api/admin/shop-package-allocations/batch-update`（批量调价）
- **扩展 Package 接口**：为代理用户返回成本价、利润空间、返佣信息等字段，通过数据权限自动过滤

## Capabilities

### New Capabilities

- `shop-package-batch-allocation`: 套餐批量分配 - 通过系列批量分配套餐，支持可选加价和返佣配置
- `shop-package-batch-pricing`: 套餐批量调价 - 批量调整指定系列或店铺的套餐成本价
- `allocation-config-versioning`: 分配配置版本管理 - 记录返佣配置变更历史，订单锁定配置版本
- `allocation-price-history`: 成本价变更历史 - 记录成本价调整历史，支持审计和追溯
- `commission-stats-caching`: 佣金统计缓存 - 梯度返佣统计数据异步更新和缓存

### Modified Capabilities

- `shop-series-allocation`: 重构返佣配置（删除加价字段，新增基础返佣配置和梯度开关）
- `shop-commission-tier`: 重构梯度佣金逻辑（从"额外奖励"改为"返佣比例提升"）
- `agent-available-packages`: 删除独立接口，合并到统一的 Package 列表接口，通过数据权限自动过滤

## Impact

**数据库影响**：
- 修改表：`tb_shop_series_allocation`（删除3个字段，新增3个字段）
- 修改表：`tb_shop_series_commission_tier`（新增1个字段 `commission_mode`）
- 新建表：`tb_shop_series_allocation_config`（配置版本表）
- 新建表：`tb_shop_package_allocation_price_history`（成本价历史表）
- 新建表：`tb_shop_series_commission_stats`（统计缓存表）
- 需要数据迁移：现有 `tb_shop_series_allocation` 数据需要转换（因字段变更）

**API 影响**：
- 删除路由：`/api/admin/my-packages`、`/api/admin/my-packages/:id`、`/api/admin/my-series-allocations`
- 新增路由：`/api/admin/shop-package-allocations/batch`、`/api/admin/shop-package-allocations/batch-update`
- 修改路由：`GET /api/admin/packages` 返回结构变化（代理用户增加成本价等字段）
- 修改路由：`POST /api/admin/shop-series-allocations`、`PUT /api/admin/shop-series-allocations/:id` 请求/响应结构变化

**代码影响**：
- 删除文件：`internal/handler/admin/my_package.go`、`internal/service/my_package/service.go`、`internal/model/dto/my_package_dto.go`、`internal/routes/my_package.go`
- 修改文件：`internal/model/shop_series_allocation.go`（字段变更）
- 修改文件：`internal/model/shop_series_commission_tier.go`（新增字段）
- 修改文件：`internal/model/dto/shop_series_allocation.go`（DTO 结构变更）
- 修改文件：`internal/service/shop_series_allocation/service.go`（业务逻辑重构）
- 修改文件：`internal/service/package/service.go`（新增代理数据过滤和字段补充）
- 修改文件：`internal/store/postgres/package_store.go`（新增代理权限过滤）
- 新增文件：`internal/model/shop_series_allocation_config.go`、`internal/model/shop_package_allocation_price_history.go`、`internal/model/shop_series_commission_stats.go`
- 新增文件：对应的 Store、Service、Handler 文件

**依赖关系**：
- 依赖 Redis：梯度统计缓存需要 Redis 支持
- 依赖 Asynq：异步更新统计任务
- 向后兼容性：**BREAKING** - API 结构变化，前端需同步更新

**性能影响**：
- 提升：梯度统计改为异步 + Redis 缓存，避免实时计算阻塞
- 提升：批量操作使用 `CreateInBatches`，减少数据库压力
- 新增：配置版本表和历史表会增加存储空间，但提升数据一致性和可追溯性

**测试影响**：
- 需要重写：`ShopSeriesAllocationService` 测试（业务逻辑变更）
- 需要重写：`MyPackageService` 相关测试（服务删除）
- 需要新增：批量操作、配置版本、历史记录等功能的测试
- 需要更新：集成测试中涉及返佣配置的部分
