refactor(utils): 修复密码哈希比较逻辑错误 feat(user): 新增按状态筛选优惠券接口 docs: 添加虚拟发货与任务中心相关文档 fix(wechat): 修正Code2Session上下文传递问题 test: 补充订单折扣与积分转换测试用例 build: 更新配置文件与构建脚本 style: 清理多余的空行与注释
3.5 KiB
3.5 KiB
目标范围
- 在“创建活动”时新增2个可配置属性:
是否可以使用道具卡、是否可以使用优惠券。 - 属性保存到
activities表,默认启用(向后兼容现有活动)。 - 管理端创建/编辑表单与接口支持读写这两个属性;详情接口返回这两个属性。
- 暂不实现具体“应用道具卡/优惠券”的核销/抵扣逻辑,仅提供全局开关位,后续业务在下单/抽奖流程使用该开关位做限制。
数据库与模型
- 新增
activities表列:allow_item_cardsTINYINT(1) NOT NULL DEFAULT 1 注释“是否允许使用道具卡(1是,0否)”。allow_couponsTINYINT(1) NOT NULL DEFAULT 1 注释“是否允许使用优惠券(1是,0否)”。
- 对齐模型:在
Activities结构体中新增同名字段并JSON映射(internal/repository/mysql/model/activities.gen.go:15)。 - 启动时DDL修复:仿照
main.go已有字段修复逻辑添加这两列(main.go:38-58)。
后端接口改动
- 管理端创建/修改请求增加字段:
createActivityRequest/modifyActivityRequest新增allow_item_cards、allow_coupons(int或bool,保持与is_boss的风格一致为int32的0/1)。位置参考internal/api/admin/activities_admin.go:14-34, 156-176。
- 传递至服务层:
CreateActivityInput/ModifyActivityInput新增同名字段(internal/service/activity/activity.go:110-154)。CreateActivity设置字段,ModifyActivity的updates包含这两列(internal/service/activity/activity_create.go:13-55, internal/service/activity/activity_modify.go:11-48)。
- 详情返回:
- 管理端与APP端
activityDetailResponse新增两个字段并赋值(internal/api/admin/activities_admin.go:41-62 与 internal/api/activity/activities_app.go:41-62)。
- 管理端与APP端
- DrawConfig无需改动(仅开奖相关,internal/service/activity/draw_config_save.go:9-16)。
前端管理端改动
- 创建向导页
wizard/index.vue:- 在“活动基本信息”区域新增两个
ElSwitch,绑定activityForm.allow_item_cards、activityForm.allow_coupons,默认true。 submitActivity()的params包含这两个字段(web/admin/src/views/activity/wizard/index.vue:777-804)。
- 在“活动基本信息”区域新增两个
- 活动管理页
manage/index.vue:- 编辑对话框
form新增两个字段与对应ElSwitch,支持修改与展示。
- 编辑对话框
- 接口类型与调用:
web/admin/src/api/adminActivities.ts的createActivity/updateActivity入参类型新增allow_item_cards?、allow_coupons?并透传(adminActivities.ts:3-22, 26-49)。
APP端(可选展示)
GetActivityDetail响应新增两个布尔位,前端可据此展示“本活动不支持优惠券/道具卡”文案(internal/api/activity/activities_app.go:140-186)。
兼容与默认
- 新增列默认值为1,历史活动即视为允许;管理端可随时改为0禁止。
- 未提供值的创建请求按默认启用处理。
校验与测试
- 后端单测/集成测试:
- 创建活动带
allow_*→ 详情返回一致;修改后值变更正确。
- 创建活动带
- 前端回归:
- 创建向导能设置并成功保存;编辑页能读取并更新。
后续接入点(不在本次范围,供后续实现)
- 下单/支付阶段应用优惠券时:在订单创建前根据活动
allow_coupons拒绝并提示。 - 抽奖策略
PostEffects()应用道具卡时:根据活动allow_item_cards拒绝卡效果并记录原因。
请确认以上方案,确认后我将按此实现并同步更新相关文档(说明文档、接口文档与前端表单)。