Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
- 新增系统称号模板与效果配置表及相关CRUD接口 - 实现用户称号分配与抽奖效果应用逻辑 - 优化抽奖接口支持用户ID参数以应用称号效果 - 新增称号管理前端页面与分配功能 - 修复Windows时区错误与JSON字段初始化问题 - 移除无用管理接口代码并更新文档说明
2.1 KiB
2.1 KiB
使用指导(立即可用)
- 叠加策略(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)。
确认后我将实施前端下拉改造与表单说明文本,并保持后端兼容。