refactor(utils): 修复密码哈希比较逻辑错误 feat(user): 新增按状态筛选优惠券接口 docs: 添加虚拟发货与任务中心相关文档 fix(wechat): 修正Code2Session上下文传递问题 test: 补充订单折扣与积分转换测试用例 build: 更新配置文件与构建脚本 style: 清理多余的空行与注释
1.4 KiB
1.4 KiB
对齐文档:任务中心
原始需求
- 建立独立的“任务中心”,用户完成任务获取奖励:积分、优惠券、道具卡、称号。
- 任务类型:首日下单、完成N订单阶梯、邀请有效好友人数N。
边界确认
- 与现有
Activities抽奖域完全分离;不修改抽奖域表结构与逻辑。 - 奖励发放统一走现有用户发奖服务;券/卡系统复用现有接口。
- 默认自动发放;如需手动领取提供接口但不强制。
需求理解
- 事件驱动:基于
OrderPaid与InviteSuccess事件实时更新用户任务进度。 - 阶梯与一次性:支持一次性(首日下单)与阶梯(订单/邀请里程碑)任务。
- 调度补偿:周期性对账补漏,保证一致性与可追溯。
疑问澄清
- 称号奖励是否需要叠加效果与过期策略?暂定无过期,效果由标题系统处理。
- 退款是否回滚进度?暂定回滚计数但不回收已发奖励(可配置)。
约束与对齐
- 性能:实时事件处理P95<200ms;调度作业在可接受时间内完成。
- 安全:防刷单与邀请作弊;限流与幂等保证。
共识要点
- 新建独立域:
TaskCenter,目录internal/api|service|repository/mysql/task_center。 - 新建表:
Tasks、TaskTiers、TaskRewards、UserTaskProgress、TaskEventLogs,如需UserTitles可复用现有表。