## 目标
- 为运营提供可控的批量操作能力：批量增加积分、批量发送优惠券、批量发放奖励。
- 满足权限、配额、上限、幂等与审计要求，闭环验证整个盲盒系统运营流程。

## 问题与现状
- 现有单用户接口：`POST /api/admin/users/:user_id/points/add`、`/coupons/add`、`/item_cards`、`/rewards/grant`；缺少批量维度与风控保护。
- 已加固：优惠券发放需超管（internal/api/admin/users_admin.go:596-616）、发放配额与持有上限（internal/service/user/coupon_add.go）、道具卡数量与持有上限（internal/service/user/item_card_add.go）。
- 仍缺：批量接口、幂等、审计与限流。

## API 设计
- 批量积分：`POST /api/admin/users/batch/points/add`
  - Body：`{ users: number[], amount: number, reason?: string, idempotency_key?: string }`
  - 校验：超管；`amount > 0`；`users.length <= 5000`；可选日累计上限（防爆刷）。
  - 行为：逐用户执行加分（重用现有服务层），支持幂等（按 `op_type+idempotency_key+users+amount` 去重）。
  - 返回：`{ success: number, failed: number, details: Array<{user_id,status,msg}> }`。

- 批量优惠券：`POST /api/admin/users/batch/coupons/add`
  - Body：`{ users: number[], coupon_id: number, quantity_per_user?: number, idempotency_key?: string }`
  - 校验：超管；模板启用与有效期；配额与单用户持有上限（已在服务层）；`quantity_per_user` 上限（<=5）。
  - 行为：逐用户发券（重用 `AddCoupon`），事务分片（每批 100~200），记录逐项状态；幂等去重。
  - 返回：同上。

- 批量奖励：`POST /api/admin/users/batch/rewards/grant`
  - Body：`{ users: number[], reward_id: number, quantity?: number, idempotency_key?: string }` 或按活动期：`POST /api/admin/activities/:activity_id/issues/:issue_id/rewards/batch_grant` `{ users: number[], reward_id: number, quantity?: number }`
  - 校验：超管；奖励模板/库存；单用户持有上限（可与道具卡同策略）；数量上限（<=10）。
  - 行为：逐用户入库，事务分片，幂等去重。
  - 返回：同上。

## 权限与风控
- 仅超管可调用批量接口；非超管拒绝。
- 限流：每分钟调用次数限制（可在拦截器或中间件层实现）。
- 上限：请求用户数上限（5000），单用户数量上限；模板配额检查；用户持有上限（已存在的加固沿用）。
- 幂等：支持 `idempotency_key`；服务层保存批次指纹，重复提交直接返回历史结果。
- 审计：记录批量操作日志（操作者、时间、对象数量、成功/失败明细摘要与请求指纹）。

## 后端改造点
- 路由：`internal/router/router.go`
  - 新增：`POST /api/admin/users/batch/points/add`、`/batch/coupons/add`、`/batch/rewards/grant`
- 处理器：`internal/api/admin/users_admin.go`
  - 新增批量处理 Handler（结构体 Request/Response、超管校验、参数绑定、分片循环、调用服务层、汇总返回）。
- 服务层：`internal/service/user/*`
  - 新增批量方法或在 Handler 中循环调用现有单个方法（推荐服务层添加批量封装，带事务与幂等指纹）。
- 中间件：可选全局限流与审计记录入口（日志/Audit DAO）。

## 前端（管理端）
- 称号运营页或用户管理页新增“批量操作”入口，支持：
  - 用户选择（列表多选/CSV导入）
  - 操作类型（积分/优惠券/奖励）与参数（金额/模板/数量）
  - 幂等键（可选自动生成）
  - 执行后展示分项结果与失败原因下载。

## 测试与验收
- Postman 集合扩展三条批量接口；注入 admin 令牌后按顺序回归。
- 验收标准：
  - 权限校验：非超管拒绝。
  - 配额/上限：超量拒绝；成功/失败计数正确。
  - 幂等：重复提交返回相同结果，不重复写入。
  - 审计：生成批次日志记录（至少在系统日志中可查）。

## 交付
- 批量接口与处理器实现、服务层封装、路由挂载。
- 集合/脚本更新与验收报告（问题清单与修复项）。

确认后我将开始实现并提交对应代码与测试集合更新。