xcbyy
6576c9e4be
feat(coupon): 优惠券中心(领取)+ 我的券 + 下单核销/回退
- 新表 user_coupons(快照面额/门槛/类目/有效期)+ orders.user_coupon_id
- 仓储:getCouponsWithClaimed/claimCoupon/getUserCoupons/resolveUserCoupon/consumeUserCoupon/releaseUserCouponByOrder
- 接口:POST /api/marketing/coupons/:id/claim(同券仅一次、受总量限制)、GET /api/marketing/my-coupons(自动标记过期)、券中心带 claimed 标识
- 下单:createOrder 支持 userCouponId(校验归属/门槛/类目/有效期,服务端算抵扣,与订单同事务占用)
- 回退:买家取消/大神拒单/超时退款/仲裁退款 均把券退回为 UNUSED
- 小程序:新增 pages/user/coupons(券中心+我的券)、个人中心入口(可用张数)、下单改为选择"我的券"并传 userCouponId
- 回归 94 套件/666 用例全绿;冒烟 9/9(领取/重复领取409/不存在404/下单抵扣100-10=90/取消回退)
2026-10-19 15:05:56 +08:00
..
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-09 17:18:14 +08:00
2026-10-09 17:18:14 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 13:36:36 +08:00
2026-10-19 09:08:21 +08:00
2026-10-16 17:38:17 +08:00
2026-10-16 17:38:17 +08:00
2026-10-19 14:08:58 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-09-16 15:30:23 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 08:58:24 +08:00
2026-10-10 08:51:34 +08:00
2026-10-09 17:18:14 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 08:54:28 +08:00
2026-10-16 17:38:17 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-09-16 20:16:56 +08:00
2026-10-17 18:00:09 +08:00
2026-10-14 15:52:56 +08:00
2026-10-19 09:19:15 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 15:05:56 +08:00
2026-10-19 09:31:44 +08:00
2026-10-16 17:38:17 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 14:46:05 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-09-16 15:30:23 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-16 17:38:17 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 09:28:02 +08:00
2026-10-17 18:00:09 +08:00
2026-10-10 09:22:46 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-10 09:08:18 +08:00
2026-09-16 20:39:02 +08:00
2026-10-19 14:31:11 +08:00
2026-10-19 08:54:28 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-09-16 15:30:23 +08:00
2026-10-19 09:22:52 +08:00
2026-10-19 08:54:28 +08:00
2026-10-16 17:38:17 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-12 09:20:40 +08:00
2026-10-17 18:04:33 +08:00
2026-10-19 13:39:04 +08:00
2026-10-19 13:50:51 +08:00
2026-10-16 17:38:17 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-09 17:18:14 +08:00
2026-10-17 18:00:09 +08:00
2026-10-10 09:52:42 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-09 17:18:14 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 09:01:36 +08:00
2026-10-19 10:02:57 +08:00
2026-10-19 11:36:12 +08:00
2026-10-09 17:18:14 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 13:50:51 +08:00
2026-10-19 15:05:56 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-17 18:00:09 +08:00
2026-10-19 11:00:23 +08:00
2026-10-16 17:38:17 +08:00
2026-10-19 08:47:08 +08:00
2026-10-17 18:00:09 +08:00