## 范围 - API 层:补齐接口文档注释、统一 req/res 模式、限制为路由与参数控制 - Service 层:迁移业务与数据访问、补齐函数级注释、对齐 activity_* 分层命名 ## 工作项 1. API 注释补全(Swagger) - 为缺少注释的端点补充 `@Summary/@Description/@Tags/@Param/@Success/@Failure/@Router`: - `internal/api/activity/draw_app.go:16 ExecuteDraw` - `internal/api/admin/draw_simulate.go:36 SimulateIssueDraw` - `internal/api/admin/issue_random_commit.go:21/48/80 Commit/Get/History` - `internal/api/admin/draw_receipt.go:31/77 GetDrawReceipt/GetDrawReceiptByLogID` - `internal/api/admin/verify_draw.go:34 VerifyDrawReceipt` 2. API 限定职责 - 将 API 中直接访问数据库的逻辑迁移到 Service 层: - `internal/api/admin/draw_receipt.go` 查询收据改为调用 `activity.Service.GetDrawReceipt/GetDrawReceiptByLogID` - 保持 API 仅做:参数绑定、鉴权、调用 service、返回 res 3. 统一 req/res 代码风格 - 统一使用 `req := new(XxxRequest)` / `res := new(XxxResponse)`,并在所有端点输出 `ctx.Payload(res)` - 检查并修正个别端点的 `var req` 临时写法 4. Service 注释与接口规范 - 为 `internal/service/activity/activity.go` 的 `Service` 接口所有方法添加函数级注释(功能、参数、返回值) - 为 `internal/service/activity/*.go`(如 `draw_execute.go` 等)关键导出函数添加注释 - 保持 `internal/service/user/*.go` 已有中文注释风格的一致性 5. 分层与命名对齐 - 保持并补齐 `internal/api/activity/*` 与 `internal/service/activity/*` 的 `activity_*` 命名映射(CRUD、issue、rewards、draw、logs) - 审核并调整少量不一致的文件/函数命名(如 helper 置于非 API 包或私有化) ## 验证 - 运行 Swagger 生成与本地文档预览,检查所有路由均有完整注释 - 运行单元测试/集成冒烟:抽奖、承诺、收据查询、奖励发放 - 代码静态检查:确保 API 无直接 DAO 访问、Service 注释完整 ## 交付物 - 已修正的 API 与 Service 源码 - 通过的 Swagger 文档与接口列表 - 简要测试记录(通过用例与关键接口返回示例)