refactor(utils): 修复密码哈希比较逻辑错误 feat(user): 新增按状态筛选优惠券接口 docs: 添加虚拟发货与任务中心相关文档 fix(wechat): 修正Code2Session上下文传递问题 test: 补充订单折扣与积分转换测试用例 build: 更新配置文件与构建脚本 style: 清理多余的空行与注释
71 lines
3.9 KiB
Markdown
71 lines
3.9 KiB
Markdown
## 目标
|
||
- 系统化梳理后端代码,识别并删除冗余设计与未使用模块
|
||
- 保持现有功能与前端调用不受影响,提升可维护性与编译/测试稳定性
|
||
|
||
## 范围
|
||
- 主要针对 Go 后端 (`internal/*`, `router/*`, `repository/*`)
|
||
- 不改动数据库表结构与线上配置;仅移除未被调用的代码
|
||
- 前端仅做轻微枚举对齐(可选),不影响现有页面
|
||
|
||
## 清理项
|
||
1. 移除未使用的抽奖策略注册机制
|
||
- 文件:`internal/service/activity/strategy/strategy.go`
|
||
- 保留:`ActivityDrawStrategy` 接口(默认策略仍以接口类型返回)
|
||
- 删除:`registry` 映射、`Register`/`Get` 方法(代码内无引用)
|
||
- 影响评估:`lottery_app.go` 直接实例化 `NewDefault`,不依赖注册表;`ichiban` 专用策略走独立服务,不受影响
|
||
|
||
2. 移除公会 Guild 相关 DAO/Model(已无引用)
|
||
- 文件:
|
||
- `internal/repository/mysql/dao/guild*.gen.go`
|
||
- `internal/repository/mysql/dao/guild_contribute_logs.gen.go`
|
||
- `internal/repository/mysql/model/guild*.gen.go`
|
||
- `internal/repository/mysql/model/guild_contribute_logs.gen.go`
|
||
- 依据:全局检索无业务层或接口层引用,仅残留表定义
|
||
- 处理:删除生成文件;保留 `TracePlugin.softDeleteTables` 的字符串名单不影响运行(仅按表名软删过滤)
|
||
|
||
3. 移除管理端批量造数/批量删除用户接口(未被前端使用)
|
||
- 路由:`internal/router/router.go`
|
||
- `POST /api/admin/batch_users`(创建)
|
||
- `DELETE /api/admin/batch_users`(删除)
|
||
- 处理:删除对应 handler `internal/api/admin/batch_users.go` 和路由挂载
|
||
- 保留其他批量接口(积分/优惠券/奖励)不变
|
||
|
||
4. 移除“为指定用户签发 APP Token”管理端接口(未被前端使用)
|
||
- 路由:`POST /api/admin/users/:user_id/token`
|
||
- 文件:`internal/api/admin/user_token_admin.go`
|
||
- 说明:仅测试/紧急用途,当前前端无调用;移除可减少安全面
|
||
|
||
5. 保留 Prometheus 指标模块但不启用(仅在需要时开启)
|
||
- 现状:`internal/metrics/*` 未被路由启用;保留代码与可选开关,不做删除
|
||
- 若后续确认长期不使用,可二期移除并同步 `go.mod` 依赖精简
|
||
|
||
6. 前端枚举对齐(可选)
|
||
- 文件:`web/admin/src/api/dashboard.ts`
|
||
- 内容:`TodoTaskType` 包含 `JOIN_GUILD`(服务端已改为 `undrawn` 代办);如需对齐,移除或改为服务端实际值
|
||
|
||
## 验收标准
|
||
- 编译通过:`go build ./...` 无错误
|
||
- 单测通过:现有测试(如 `ichiban_test.go`)通过
|
||
- API 回归:管理端/APP端核心路由不变(产品、活动、奖励、抽奖、支付、称号、道具卡、系统配置)
|
||
- 前端联调:`web/admin/src/api/*` 所引用的后端路由均可正常返回
|
||
|
||
## 执行步骤
|
||
1. 删除策略注册表(保留接口)
|
||
2. 删除 Guild 相关 `dao/` 与 `model/` 生成文件
|
||
3. 删除 `batch_users.go` 及其路由挂载
|
||
4. 删除 `user_token_admin.go` 及其路由挂载
|
||
5. 本地编译与单测(构建/测试)
|
||
6. 运行服务做核心接口冒烟(活动、商品、支付、任务中心、称号/卡券)
|
||
7. 更新 `.trae/documents/全面代码清理与优化计划.md` 标注已清理项与影响范围
|
||
|
||
## 风险与回滚
|
||
- 若前端/运营依赖被误删接口:通过 Git 回滚对应文件与路由挂载即可恢复
|
||
- `Guild` 表仍在数据库中:删除 DAO/Model 不影响其他代码;如未来需要,可通过代码生成器补回
|
||
|
||
## 代码参考
|
||
- 路由文件:`internal/router/router.go:106-108`, `internal/router/router.go:149`
|
||
- 策略接口与实现:`internal/service/activity/strategy/strategy.go`, `internal/service/activity/strategy/default.go`, `internal/service/activity/ichiban_slots_service.go`
|
||
- 测试用例:`internal/service/activity/strategy/ichiban_test.go`
|
||
- 前端调用示例:`web/admin/src/api/*`(确认哪些路由在用)
|
||
|
||
请确认以上清理方案,确认后我将按步骤执行、构建验证并提交变更说明。 |