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

37 lines
2.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.

## 使用指导(立即可用)
- 叠加策略stacking_strategy
- 对“双倍概率”effect_type=6当前不生效代码仅按“概率累加+统一封顶”处理internal/service/activity/draw_with_effects.go:133-149
- 只有一个双倍效果时,保持默认即可(推荐填 1“累加封顶”或 0“最大值”不影响现状
- 统一封顶cap_value_x1000
- 约束“多个双倍效果合并后的总概率”的上限(单位千分)。
- 只有一个效果:填 0不封顶或填业务上限如 1000=100%)。
- 多个效果:按业务上限填写,如最多 30% 则填 300避免叠加超过 30%)。
## 作用范围简化(改造目标)
- 将前端“作用范围”改为:
- 下拉选择“活动 activity_ids”多选
- 依赖选择“期 issue_ids”多选基于已选活动加载期
- 可选“排除期 exclude.issue_ids”多选
- 不再要求手写 ID不展示分类/时间等无关选项。
## 前端改造
- EffectEditDialog.vue
- 为 effect_type=6 添加三组下拉:活动、期、排除期。
- 提交时构造简化版 scopes_json`{ activity_ids, issue_ids, exclude: { issue_ids } }`
- 在 UI 上为 stacking_strategy/cap_value_x1000 提供简短说明(不改后端字段)。
- EffectManagerDialog.vue
- 在列表新增“作用范围”列,展示活动/期/排除期标签(已完成范围列,可保留)。
## 数据来源与接口(不改后端)
- 活动/期下拉数据:
- 如果已有活动与期的接口:直接请求填充;
- 如暂无接口:先用静态选项或从现有管理页可获取的列表填充,下轮再对接接口。
- 不改后端:效果保存仍通过 `admin/system_titles/:title_id/effects`,携带 `params_json` 与简化 `scopes_json`
## 验收
- 在管理端为“双倍概率”新增/编辑效果:
- 可用下拉选择活动与期,不用手写;
- 保存后列表显示范围标签;
- 抽奖按选定的期过滤生效draw_with_effects.go:85-103
确认后我将实施前端下拉改造与表单说明文本,并保持后端兼容。