refactor(utils): 修复密码哈希比较逻辑错误 feat(user): 新增按状态筛选优惠券接口 docs: 添加虚拟发货与任务中心相关文档 fix(wechat): 修正Code2Session上下文传递问题 test: 补充订单折扣与积分转换测试用例 build: 更新配置文件与构建脚本 style: 清理多余的空行与注释
1.3 KiB
1.3 KiB
事件与调度方案:任务中心
实时事件处理
- 订阅事件:
OrderPaid、InviteSuccess、OrderRefunded/Cancelled。 - 流程:
- 解析事件并查
Tasks在有效期且启用。 - 更新
UserTaskProgress.metrics(订单数/邀请数/首单标记)。 - 匹配
TaskTiers:达标产出tier_id列表(去除已领取)。 - 幂等检查:生成
idempotency_key并查TaskEventLogs。 - 发奖:调用
user.GrantReward(...)按TaskRewards派发;扣减库存(如有)。 - 记录日志:
TaskEventLogs写入状态与结果;claimed_tiers追加。
- 解析事件并查
调度补偿
- 周期任务(每小时/每日):
- 扫描
UserTaskProgress与事件流快照,识别漏发档位并补发。 - 生成指标快照与对账报表(订单/邀请/奖励入账)。
- 扫描
- 失败重试:对发奖失败记录按指数退避重试,设置最大重试次数与报警。
幂等与并发
- 幂等键:
user_id + task_id + tier_id + event_id。 - 并发控制:同用户同任务串行执行;库存扣减与日志写入同事务或使用分布式锁。
风控
- 邀请有效校验:必须注册并完成首单;设备指纹与手机号校验。
- 刷单检测:黑名单、频次阈值、风控评分;高风险事件直接拒绝并记录原因。
- 限流:每日发奖上限;IP/设备限流。