11 Commits

Author SHA1 Message Date
d45096d13f fix(refund): 修复退款后翻牌游戏资格未回收的问题
问题描述:
用户退单后,翻牌游戏资格会重新出现(被重置),但用户已经抽过奖了。
这导致用户可以通过退款获得额外的翻牌机会。

根本原因:
退款处理逻辑 reclaimLivestreamAssets 只回收了 user_inventory 中的实物奖品,
但没有回收 user_game_tickets 中的翻牌游戏资格。

解决方案:
在 reclaimLivestreamAssets 函数后添加 reclaimFlipCardTicket 函数,
用于检测并回收翻牌游戏资格:

1. 通过 shop_order_id 查询抖店订单获取商品ID
2. 查询 douyin_product_rewards 表检查商品是否配置了翻牌游戏奖励
   - 检查 reward_type = 'game_ticket'
   - 检查 payload.game_code = 'flip_card'
3. 如果配置了翻牌奖励,回收用户的翻牌次数
   - 扣减 user_game_tickets.available
   - 扣减 user_game_tickets.total_earned
4. 在 game_ticket_logs 表中记录回收日志

影响范围:
- 仅影响配置了翻牌游戏奖励的商品订单退款
- 退款时会同步回收翻牌游戏资格
- 已使用过的翻牌次数不会被回收(只回收 available > 0 的记录)

测试建议:
1. 购买配置了翻牌奖励的商品
2. 进行翻牌游戏
3. 申请退款
4. 验证翻牌资格是否被正确回收
2026-03-08 16:01:39 +08:00
win
b3b63dcba2 admin 2026-03-05 12:50:06 +08:00
win
46a7253239 fix:订单同步 2026-02-27 00:08:02 +08:00
win
8b7af03400 feat(prize): freeze value snapshots across grant redeem refund and reports 2026-02-21 22:16:20 +08:00
win
7e8a2ebb52 feat: Add user spending dashboard, update database schema, and refine various API endpoints and service logic. 2026-02-21 21:33:19 +08:00
af1c16c7c5 优惠券bug 2026-02-18 23:23:34 +08:00
55e22086e8 201 2026-02-01 00:27:38 +08:00
6d33cc7fd0 fix:盈亏计算 2026-01-27 01:33:32 +08:00
5ad2f4ace3 feat: 保存当前开发进度 - 直播抽奖验证功能 2026-01-18 01:55:54 +08:00
e3a96e68d8 fix: 修复退款时清理一番赏格位、积分兑换商品库存校验及抖音登录自邀问题。 2026-01-06 01:46:25 +08:00
e8bfff8261 feat: 新增抖音订单、游戏通行证、快照回滚、短信登录及管理后台功能,并优化支付、活动与用户服务模块,同时清理旧文档 2026-01-02 12:38:03 +08:00