Appearance
积分规则
概述
本条目定义“灵妙儿带你游西湖”项目中的积分获取、消耗、记账与余额口径规则,适用于积分账户、积分商品订单、抽奖及后台补发等业务场景。
积分来源
获取来源
- 景点打卡
- 路线徽章解锁
- 积分奖品
- 图鉴解锁
- 后台补发
消耗来源
- 抽奖
- 积分商品兑换
- 后台人工调整
唯一性规则
以下积分发放具备唯一性约束:
- 同一景点首次成功打卡仅发放一次积分
- 同一路线徽章仅发放一次额外积分
- 同一图鉴仅发放一次解锁积分
记账规则
- 所有积分变动必须写入不可变积分流水
- 流水类型至少包含:
increasedecreasefreezeunfreezerefund
- 任意时刻账户余额不得小于 0
三余额口径
积分账户存在三种余额口径:
totalBalance:账户总积分availableBalance:可用积分,可用于抽奖/下单frozenBalance:冻结积分,不可用于抽奖/下单
余额恒等式
text totalBalance = availableBalance + frozenBalance
冻结与扣减规则
冻结规则
- 积分商品订单提交时,先冻结待消费积分
- 冻结积分不计入可用余额
- 冻结积分仍计入账户总余额
扣减规则
- 仅在积分商品订单支付成功或纯积分订单确认成功后
- 将冻结积分转为正式扣减
释放规则
以下场景必须释放冻结积分,并生成 unfreeze 流水:
- 支付失败
- 主动取消
- 超时取消
退款规则
- 发生退款时,优先退回已正式扣减的积分,再原路退回现金
- 积分退回必须生成
refund流水 - 未正式扣减的冻结积分不得走退款,只能释放
实施要点
- 账务流水必须具备不可变性,禁止直接覆盖修改历史记录
- 冻结、扣减、释放、退款应遵循统一账务口径
- 所有业务接口与回调处理需支持幂等,避免重复记账
