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

2.1 KiB
Raw Blame History

使用指导(立即可用)

  • 叠加策略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

确认后我将实施前端下拉改造与表单说明文本,并保持后端兼容。