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