Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
- 新增系统称号模板与效果配置表及相关CRUD接口 - 实现用户称号分配与抽奖效果应用逻辑 - 优化抽奖接口支持用户ID参数以应用称号效果 - 新增称号管理前端页面与分配功能 - 修复Windows时区错误与JSON字段初始化问题 - 移除无用管理接口代码并更新文档说明
67 lines
4.1 KiB
Markdown
67 lines
4.1 KiB
Markdown
## 目标
|
||
- 交付一份字段级的《说明文档》增强版,逐一解释:
|
||
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. 给出后续建议:自动授予逻辑接入方案(服务层/事件钩子/任务调度)。
|
||
|
||
## 验收标准
|
||
- 文档包含所有字段的用途、类型、取值范围、示例;
|
||
- 每个字段“在哪里起作用”都给出精确文件/行号;
|
||
- 覆盖四项:获得规则、使用范围、效果数量、规则助手;
|
||
- 补充参数对齐提醒与后续接入建议;
|
||
|
||
确认后我将开始更新文档并提交增强内容。 |