## Why

`refactor-agent-series-grant` 变更遗留了两处实现漏洞，加上前端对接时发现的第三处 Bug，共三个问题：

1. 套餐系列管理 API 的梯度档位 DTO 缺少 `operator` 字段，导致无法通过接口设置/查看比较运算符。
2. 代理系列授权的梯度响应缺少 `dimension`（销售量/销售额）和 `stat_scope`（统计范围）字段，前端完全无法理解阈值的业务含义。
3. 系列授权列表和详情响应中，当套餐系列配置锁定了强充（`enable_force_recharge=true` 或 `trigger_type=first_recharge`）时，`force_recharge_enabled` 仍返回 `false`（分配记录自身的值），未反映有效状态；列表还缺少 `force_recharge_locked` 和 `force_recharge_amount` 字段。

## What Changes

- **修复** `OneTimeCommissionTierDTO`（`package_series_dto.go`）：新增 `Operator string` 字段，支持创建/更新套餐系列时传入并保存梯度阶梯的比较运算符（`>`、`>=`、`<`、`<=`）
- **修复** `package_series/service.go`：`dtoToModelConfig()` 新增 `Operator` 字段映射；`modelToDTO()` 新增 `Operator` 字段回填，使 `PackageSeriesResponse` 能正确返回 `operator`
- **修复** `GrantCommissionTierItem`（`shop_series_grant_dto.go`）：新增 `Dimension string` 和 `StatScope string` 字段
- **修复** `shop_series_grant/service.go`：`buildGrantResponse()` 合并全局 PackageSeries tiers 时，除 `Operator` 外同步合并 `Dimension` 和 `StatScope`

- **修复** `ShopSeriesGrantListItem`（`shop_series_grant_dto.go`）：新增 `ForceRechargeLocked bool` 和 `ForceRechargeAmount int64` 字段
- **修复** `shop_series_grant/service.go`：列表构建时计算 `forceRechargeLocked`，当锁定时 `ForceRechargeEnabled=true`、`ForceRechargeAmount=config.ForceAmount`；详情 `buildGrantResponse()` 同步修正 `ForceRechargeEnabled` 和 `ForceRechargeAmount` 有效状态逻辑
## Capabilities

### New Capabilities

（无新增 Capability）

### Modified Capabilities

- `package-series-management`：梯度档位配置（`one_time_commission_config.tiers`）支持通过 API 读写 `operator` 字段（创建时传入、查询时返回）
- `agent-series-grant`：`commission_tiers` 响应中补充展示 `dimension`（`sales_count` / `sales_amount`）和 `stat_scope`（`self` / `self_and_sub`），这两个字段来自 PackageSeries 全局配置，对代理只读
- `agent-series-grant`：系列授权列表（`GET /api/admin/shop-series-grants`）新增 `force_recharge_locked` 和 `force_recharge_amount` 字段；列表和详情中 `force_recharge_enabled` 反映有效状态（锁定时为 `true`）

## Impact

**受影响的代码**
- `internal/model/dto/package_series_dto.go`：`OneTimeCommissionTierDTO` 新增 `Operator` 字段
- `internal/service/package_series/service.go`：`dtoToModelConfig()`、`modelToDTO()` 处理 `Operator`
- `internal/model/dto/shop_series_grant_dto.go`：`GrantCommissionTierItem` 新增 `Dimension`、`StatScope` 字段
- `internal/service/shop_series_grant/service.go`：`buildGrantResponse()` 合并 `Dimension`、`StatScope`
- `internal/model/dto/shop_series_grant_dto.go`：`ShopSeriesGrantListItem` 新增 `ForceRechargeLocked`、`ForceRechargeAmount` 字段

**受影响的 API**
- `POST/PUT /api/admin/package-series`：请求体中梯度档位可传 `operator`；响应中梯度档位包含 `operator`
- `GET /api/admin/package-series/:id`：同上
- `GET /api/admin/shop-series-grants/:id`：响应中 `commission_tiers` 新增 `dimension`、`stat_scope` 字段
- `POST /api/admin/shop-series-grants`：同上（Create 响应）
- `PUT /api/admin/shop-series-grants/:id`：同上（Update 响应）
- `GET /api/admin/shop-series-grants`（列表）：新增 `force_recharge_locked`、`force_recharge_amount` 字段；`force_recharge_enabled` 反映有效状态

**无数据库迁移**：仅涉及 DTO 和 Service 层代码，不改动数据库结构和 Model 层（`OneTimeCommissionTier` model 已在上次变更中添加 `Operator` 字段；`tb_shop_series_allocation` 表结构已有 `enable_force_recharge`/`force_recharge_amount` 字段，无需迁移）
