shanshanzhong147
9933d34bdd
新功能(#3): 抽奖活动 Stage 1 骨架(DB + 规则引擎 + Handler 抽象)
Closes HIF-3
Stage 1 骨架:7 张表迁移 + 门槛规则引擎 + 加权选奖 + 次数入账/消耗(幂等)+ 发奖 handler 抽象与注册表。
- 单测覆盖 75.5%(未覆盖行 = stub handler ErrNotImplemented,合理)
- CI 全绿(构建/Vet/测试 + golangci-lint)
- 骨架不接入真实业务,vpn_duration/commission handler 在 Dispatch 中返回 ErrNotImplemented;合并后线上零变更
架构师 review 通过,4 项决策已在 issue 上给出:
1. 邀请转化语义 = 首次付款激活
2. 佣金日志类型 = 新增 CommissionTypeLottery=339
3. 家庭组归属 = 穿透到 owner
4. 管理端 IP 白名单 = 不做(推到 nginx/ingress 层)
后续 PR B/C 补真实业务对接 + 用户 API + 后台 CRUD + 集成/并发/概率测试。
2026-07-08 20:05:05 -07:00
..
2025-04-25 12:08:29 +09:00
2026-05-19 19:35:44 -07:00
2025-04-25 12:08:29 +09:00
2026-03-03 09:32:22 -08:00
2025-04-25 12:08:29 +09:00
2025-04-25 12:08:29 +09:00
2025-04-25 12:08:29 +09:00
2025-04-25 12:08:29 +09:00
2025-04-25 12:08:29 +09:00
2025-04-25 12:08:29 +09:00
2025-04-25 12:08:29 +09:00
2025-04-25 12:08:29 +09:00
2025-07-24 03:06:44 +09:00
2025-07-24 03:06:44 +09:00
2025-08-15 12:30:21 -04:00
2025-08-15 12:30:21 -04:00
2025-08-15 12:30:21 -04:00
2025-09-16 10:26:39 -04:00
2025-08-16 13:37:09 -04:00
2025-08-17 11:52:14 -04:00
2025-08-17 12:14:55 -04:00
2025-08-17 12:14:55 -04:00
2025-08-20 13:36:06 -04:00
2025-08-20 13:36:06 -04:00
2025-08-26 07:05:59 -04:00
2025-08-26 07:05:59 -04:00
2025-08-26 07:05:59 -04:00
2026-03-15 01:47:01 -07:00
2025-09-01 06:11:35 -04:00
2025-09-01 06:11:35 -04:00
2025-09-01 09:40:33 -04:00
2025-09-01 09:40:33 -04:00
2025-09-02 11:51:07 -04:00
2025-09-02 11:51:07 -04:00
2025-09-03 07:03:37 -04:00
2025-09-03 07:03:37 -04:00
2025-09-03 15:44:04 -04:00
2025-09-03 15:44:04 -04:00
2025-09-03 15:44:04 -04:00
2025-09-03 15:44:04 -04:00
2025-09-09 13:39:05 -04:00
2025-09-09 13:39:05 -04:00
2025-09-28 19:06:29 +09:00
2025-09-28 19:06:29 +09:00
2025-10-15 10:09:19 -04:00
2025-10-18 16:29:09 +09:00
2025-10-17 11:20:16 -04:00
2025-10-18 17:42:02 +09:00
2025-10-17 10:20:12 -04:00
2025-10-17 10:20:12 -04:00
2025-10-20 10:17:56 -04:00
2026-02-10 00:45:17 +08:00
2025-11-04 14:53:43 +08:00
2025-11-04 14:53:43 +08:00
2025-12-11 23:53:32 +08:00
2025-12-11 23:53:32 +08:00
2025-12-11 23:53:32 +08:00
2025-12-11 23:53:32 +08:00
2025-12-11 23:53:32 +08:00
2025-12-11 23:53:32 +08:00
2026-01-02 12:51:55 +08:00
2026-01-02 12:51:55 +08:00
2026-01-02 12:51:55 +08:00
2026-01-02 12:51:55 +08:00
2026-01-02 12:51:55 +08:00
2026-01-02 12:51:55 +08:00
2026-01-05 17:53:31 +08:00
2026-01-05 17:53:31 +08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-01-06 16:16:42 +08:00
2026-01-06 16:16:42 +08:00
2026-01-10 18:11:24 +08:00
2026-01-10 18:11:24 +08:00
2026-01-10 20:37:24 +08:00
2026-01-10 20:37:24 +08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-03 09:32:22 -08:00
2026-03-04 03:07:41 -08:00
2026-03-04 03:07:41 -08:00
2026-03-04 19:42:21 -08:00
2026-03-04 19:42:21 -08:00
2026-03-05 21:53:36 -08:00
2026-03-05 21:53:36 -08:00
2026-03-08 21:25:07 -07:00
2026-03-08 07:31:11 -07:00
2026-03-08 22:37:58 -07:00
2026-03-08 22:37:58 -07:00
2026-05-25 10:20:46 -07:00
2026-03-10 21:12:39 -07:00
2026-03-19 03:21:47 -07:00
2026-03-19 03:21:47 -07:00
2026-03-19 03:21:47 -07:00
2026-03-19 03:21:47 -07:00
2026-03-19 03:21:47 -07:00
2026-03-19 03:21:47 -07:00
2026-03-19 03:21:47 -07:00
2026-03-19 03:21:47 -07:00
2026-04-20 20:08:20 -07:00
2026-04-20 20:08:20 -07:00
2026-05-06 04:59:04 -07:00
2026-05-06 04:59:04 -07:00
2026-05-25 10:20:46 -07:00
2026-05-25 10:20:46 -07:00
2026-05-25 10:20:46 -07:00
2026-05-25 10:20:46 -07:00
2026-05-25 11:07:06 -07:00
2026-05-25 11:07:06 -07:00
2026-05-25 02:21:37 -07:00
2026-05-25 02:21:37 -07:00
2026-05-26 10:02:38 -07:00
2026-05-27 00:57:21 -07:00
2026-05-27 08:07:16 -07:00
2026-05-27 08:07:16 -07:00
2026-05-26 22:18:44 -07:00
2026-05-27 05:57:21 -07:00
2026-05-28 20:46:37 -07:00
2026-05-28 20:46:37 -07:00
2026-07-08 20:05:05 -07:00
2026-07-08 20:05:05 -07:00