bindbox-game/.trae/documents/称号系统字段级说明与代码绑定文档增强计划.md
邹方成 8141a47690
Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
feat(称号系统): 新增称号管理功能与抽奖效果集成
- 新增系统称号模板与效果配置表及相关CRUD接口
- 实现用户称号分配与抽奖效果应用逻辑
- 优化抽奖接口支持用户ID参数以应用称号效果
- 新增称号管理前端页面与分配功能
- 修复Windows时区错误与JSON字段初始化问题
- 移除无用管理接口代码并更新文档说明
2025-11-16 11:37:40 +08:00

67 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 目标
- 交付一份字段级的《说明文档》增强版,逐一解释:
1) 获得规则ObtainRulesJSON字段字典、用途、代码绑定点
2) 使用范围ScopesJSON字段字典、用途、代码绑定点
3) 效果数量与叠加策略(多效果、排序、封顶、组合规则);
4) 规则助手(前端可视化配置)字段映射与校验;
- 所有字段给出示例与“在代码块哪里起作用”的精确文件/行号。
## 文档结构
- 《docs/称号系统/说明文档.md》新增章节
- 获得规则字段详解ObtainRulesJSON
- 使用范围字段详解ScopesJSON标题&效果)
- 效果数量、叠加策略与封顶StackingStrategy/CapValueX1000
- 规则助手详解UI字段 → JSON 映射 → 后端字段)
- 代码绑定点总览(带 file_path:line_number 引用)
## 字段级内容(概要)
- 获得规则ObtainRulesJSON
- 字段:`methods: string[]``conditions: object`(如 `lottery_type`, `min_amount`, `time_range` 等)
- 用途:当前仅“存取”,未参与后端自动授予逻辑(需后续服务层接入)
- 代码绑定:
- 写入:`internal/api/admin/titles_admin.go:88/94/125`
- 预置:`internal/api/admin/titles_seed.go:54`
- DAO映射`internal/repository/mysql/dao/system_titles.gen.go:34/53/77/102`
- 示例与建议:提供多场景 JSON 模板与后续接入建议(事件钩子/规则评估器)
- 使用范围ScopesJSON
- 标题层:`SystemTitles.ScopesJSON`(目前仅存取,不参与运行时判定)
- 效果层:`SystemTitleEffects.ScopesJSON`(运行时生效,活动/期/分类的包含/排除)
- 字段字典:`activity_ids, issue_ids, category_ids, exclude.{...}`
- 代码绑定:
- 解析与匹配:`internal/service/title/effects_resolver.go`scopeMatch
- 抽奖应用:`internal/service/activity/draw_with_effects.go`issue 过滤)
- 管理端读写:`internal/api/admin/titles_admin.go`、预置:`titles_seed.go`
- 示例:包含与排除的组合配置(带示意流程)
- 效果数量与叠加策略
- 每个称号可挂载多个效果;按 `sort` 排序;`status` 控制启用;
- `StackingStrategy`0最大值/1累加封顶/2首个匹配/默认累加封顶;
- `CapValueX1000`:统一封顶(千分比)
- 代码绑定:
- 抽奖应用:`internal/service/activity/draw_with_effects.go`effect_type=5/6 合并规则)
- 模型定义:`internal/repository/mysql/model/system_title_effects.gen.go`
- 示例:多效果组合的实际影响(权重调整/双倍合并概率)
- 规则助手(前端)
- 位置:`web/admin/src/views/operations/titles/components/RuleConfigDialog.vue`
- 字段映射UI → `obtain_rules_json`/`scopes_json`
- 校验/预览JSON 校验、示例模板、保存策略
- 注意:当前 effect_type=5/6 的前端参数与后端不一致(计划列出对齐方案与字段映射表,不改代码,先文档说明)
## 代码绑定点(示例引用)
- ObtainRulesJSON 写入:`internal/api/admin/titles_admin.go:88, 94, 125`
- ScopesJSON 应用匹配:`internal/service/title/effects_resolver.go:line`(具体行号在交付时标注)
- 抽奖效果应用:`internal/service/activity/draw_with_effects.go:line`(包含 5/6 的 switch 分支具体行号)
- 种子数据:`internal/api/admin/titles_seed.go:31-37, 54-56, 70-80`
## 交付步骤
1. 使用只读工具确认所有字段与代码绑定点的具体行号;
2. 更新《说明文档.md》按上述结构补充完备的字段级说明与代码引用
3. 提供前端与后端参数对齐表(仅文档,不改代码);
4. 给出后续建议:自动授予逻辑接入方案(服务层/事件钩子/任务调度)。
## 验收标准
- 文档包含所有字段的用途、类型、取值范围、示例;
- 每个字段“在哪里起作用”都给出精确文件/行号;
- 覆盖四项:获得规则、使用范围、效果数量、规则助手;
- 补充参数对齐提醒与后续接入建议;
确认后我将开始更新文档并提交增强内容。