Commit Graph

471 Commits

Author SHA1 Message Date
shanshanzhong147 4907853667 邀请 N天配置 2026-03-08 07:31:11 -07:00
shanshanzhong147 7a3a53f1a9 ipa
Build docker and publish / build (20.15.1) (push) Successful in 7m47s
2026-03-08 05:12:28 -07:00
shanshanzhong147 94f5d0c07d map对齐
Build docker and publish / build (20.15.1) (push) Successful in 7m29s
2026-03-07 07:42:09 -08:00
shanshanzhong147 1e14e2dbd9 map对齐
Build docker and publish / build (20.15.1) (push) Successful in 7m7s
2026-03-07 07:16:01 -08:00
shanshanzhong147 a0ae7b1c8d map对齐
Build docker and publish / build (20.15.1) (push) Successful in 8m21s
2026-03-07 05:54:49 -08:00
shanshanzhong147 71f4bd1f5f 双倍
Build docker and publish / build (20.15.1) (push) Successful in 7m33s
2026-03-07 04:10:58 -08:00
shanshanzhong147 03573d2e65 双倍时间bug
Build docker and publish / build (20.15.1) (push) Successful in 8m33s
2026-03-07 02:05:48 -08:00
shanshanzhong147 4d913c1728 修复缓存
Build docker and publish / build (20.15.1) (push) Successful in 7m26s
2026-03-06 21:58:29 -08:00
shanshanzhong147 19932bb9f7 x
Build docker and publish / build (20.15.1) (push) Successful in 7m56s
2026-03-06 05:47:47 -08:00
shanshanzhong147 dbcb1fb066 x
Build docker and publish / build (20.15.1) (push) Successful in 7m43s
2026-03-06 03:03:46 -08:00
shanshanzhong147 7914b2aa78 shouldBindJson 使用错误
Build docker and publish / build (20.15.1) (push) Successful in 7m51s
2026-03-06 01:30:39 -08:00
shanshanzhong147 67d2c8cca8 subscribe_status 修改成 post
Build docker and publish / build (20.15.1) (push) Successful in 7m49s
2026-03-06 00:57:17 -08:00
shanshanzhong147 b625dda4c9 修复:goctl api 生成的代码没有在路由中加入Ipa模式
Build docker and publish / build (20.15.1) (push) Successful in 7m48s
2026-03-06 00:15:35 -08:00
shanshanzhong147 6e13e67dc8 修改签名头
Build docker and publish / build (20.15.1) (push) Successful in 7m44s
2026-03-05 23:31:45 -08:00
shanshanzhong147 d575df9529 无订阅 支付后出现两个订阅
Build docker and publish / build (20.15.1) (push) Successful in 8m13s
2026-03-05 22:29:40 -08:00
shanshanzhong147 7308aa9191 无订阅 支付后出现两个订阅
Build docker and publish / build (20.15.1) (push) Failing after 7m37s
2026-03-05 21:53:36 -08:00
shanshanzhong147 a1ab0fefa4 无订阅 支付后出现两个订阅
Build docker and publish / build (20.15.1) (push) Successful in 8m15s
2026-03-05 07:59:49 -08:00
shanshanzhong147 ce6351368d 家庭组逻辑导致支付失败
Build docker and publish / build (20.15.1) (push) Successful in 8m11s
2026-03-05 03:20:38 -08:00
shanshanzhong147 9f4d71770b 家庭组逻辑导致支付失败
Build docker and publish / build (20.15.1) (push) Failing after 9m9s
2026-03-05 02:13:28 -08:00
shanshanzhong147 f4fe0e32a8 家庭组逻辑导致支付失败
Build docker and publish / build (20.15.1) (push) Successful in 8m16s
2026-03-05 00:01:50 -08:00
shanshanzhong147 d962fafe7f 修复订单支付显示方式
Build docker and publish / build (20.15.1) (push) Successful in 7m59s
2026-03-04 23:28:37 -08:00
shanshanzhong147 69ac1f104d 修复订单支付显示方式
Build docker and publish / build (20.15.1) (push) Has been cancelled
2026-03-04 23:20:36 -08:00
shanshanzhong147 70c0483ca9 修复订阅
Build docker and publish / build (20.15.1) (push) Failing after 8m2s
2026-03-04 23:08:46 -08:00
shanshanzhong147 4349a7ea2f 家庭组 权益修改
Build docker and publish / build (20.15.1) (push) Successful in 8m16s
2026-03-04 22:02:42 -08:00
shanshanzhong147 3594097d47 各种配置项修复,优化到后台管理端配置
Build docker and publish / build (20.15.1) (push) Successful in 7m59s
2026-03-04 20:03:03 -08:00
shanshanzhong147 2215df8c0b 各种配置项修复,优化到后台管理端配置 2026-03-04 19:42:21 -08:00
shanshanzhong147 3415262017 各种配置项修复,优化到后台管理端配置
Build docker and publish / build (20.15.1) (push) Successful in 7m58s
2026-03-04 18:01:54 -08:00
shanshanzhong147 4752f844ef 各种配置项修复,优化到后台管理端配置
Build docker and publish / build (20.15.1) (push) Has been cancelled
2026-03-04 17:58:40 -08:00
shanshanzhong147 149dfe1ac3 fix gitea workflow path and runner label
Build docker and publish / build (20.15.1) (push) Failing after 7m57s
2026-03-04 07:02:51 -08:00
shanshanzhong147 a01570b59d fix gitea workflow path and runner label
Build docker and publish / build (20.15.1) (push) Failing after 8m21s
2026-03-04 06:33:14 -08:00
shanshanzhong147 6c8f22adc8 fix gitea workflow path and runner label
Build docker and publish / build (20.15.1) (push) Failing after 7m49s
2026-03-04 04:28:54 -08:00
shanshanzhong147 b08202fd08 fix gitea workflow path and runner label
Build docker and publish / build (20.15.1) (push) Failing after 7m52s
2026-03-04 03:30:17 -08:00
shanshanzhong147 6c370485d1 fix gitea workflow path and runner label
Build docker and publish / build (20.15.1) (push) Failing after 8m1s
2026-03-04 03:07:41 -08:00
shanshanzhong147 0c544268e5 refactor payment platform canonicalization and order method consistency
Build docker and publish / build (20.15.1) (push) Failing after 8m1s
2026-03-04 02:15:32 -08:00
shanshanzhong147 82626dd749 fix device decrypt flow and delete_account response stability
Build docker and publish / build (20.15.1) (push) Failing after 8m0s
2026-03-04 01:37:11 -08:00
shanshanzhong147 8bdc8afea3 fix gitea workflow path and runner label
Build docker and publish / build (20.15.1) (push) Failing after 7m54s
2026-03-03 19:10:59 -08:00
shanshanzhong147 f773fe1d6d fix gitea workflow path and runner label
Build docker and publish / build (20.15.1) (push) Failing after 7m31s
2026-03-03 18:07:03 -08:00
shanshanzhong147 3a0d6dcd5a fix gitea workflow path and runner label
Build docker and publish / build (20.15.1) (push) Failing after 8m0s
2026-03-03 17:38:47 -08:00
shanshanzhong147 b0eb6595ac add: 新增ci diamanté 2026-03-03 17:29:45 -08:00
shanshanzhong147 d220516183 chore: stop tracking local-only files 2026-03-03 09:37:38 -08:00
shanshanzhong147 4d8516b2e1 同步历史版本代码 2026-03-03 09:32:22 -08:00
EUForest 7d46b31866 fix bug: delete user subscribe 2026-02-14 00:41:24 +08:00
EUForest 31e75efacb Merge upstream/master into master 2026-02-13 23:06:43 +08:00
EUForest 2d4d926924 Merge branch 'master' of https://github.com/OmnTeam/ppanel-server 2026-02-13 21:41:36 +08:00
EUForest 7197f5dcf6 feat(stripe): update webhook event construction to ignore API version mismatches 2026-02-11 17:29:53 +08:00
EUForest 9ad602aabe fix(migration): remove IF NOT EXISTS for MySQL compatibility
Remove IF NOT EXISTS clause from CREATE INDEX statement to ensure
compatibility with older MySQL versions. Migration framework ensures
each migration runs only once, making the clause unnecessary.
2026-02-10 00:45:17 +08:00
EUForest bacdf2f301 fix(migration): correct SQL syntax for traffic_log index creation
Change ALTER TABLE ADD INDEX IF NOT EXISTS to CREATE INDEX IF NOT EXISTS
to comply with MySQL syntax requirements. The IF NOT EXISTS clause is
only supported with CREATE INDEX statement, not with ALTER TABLE ADD INDEX.
2026-02-10 00:25:40 +08:00
EUForest 0883fb9370 fix(ci): handle existing releases and assets in deploy workflow
- Check if release exists before creating
- Delete old assets if they exist
- Use --clobber flag to overwrite existing assets
- Prevent 'already exists' errors on tag force-push
2026-02-09 01:12:20 +08:00
EUForest 34372fe0b3 fix(redemption): enhance redemption code flow with transaction safety and idempotency
This commit addresses critical issues in the redemption code activation flow
to ensure data consistency, prevent duplicate redemptions, and improve user
experience.

Key improvements:

1. Transaction Safety (P0)
   - Wrap subscription creation, used count update, and record insertion in
     a single database transaction
   - Ensure atomicity: all operations succeed or all rollback
   - Prevent orphaned records and data inconsistencies

2. Idempotency Protection (P0)
   - Add redemption record check before processing to prevent duplicate
     operations on queue task retries
   - Maintain idempotency at multiple layers: interface, order, and record

3. Distributed Lock (P1)
   - Implement Redis-based distributed lock (10s timeout) to prevent
     concurrent duplicate redemptions
   - Lock key format: redemption_lock:{user_id}:{code}

4. IsNew Field Correction (P2)
   - Fix IsNew field to correctly determine first-time purchases using
     IsUserEligibleForNewOrder method
   - Ensure accurate statistics and future commission calculations

5. Quota Pre-check (P2)
   - Add quota validation at interface layer for immediate user feedback
   - Prevent "processing" status followed by eventual failure

6. Extended Cache TTL (P2)
   - Increase Redis cache expiration from 30 minutes to 2 hours
   - Ensure queue tasks can retrieve redemption data even with delays

7. Error Handling (P2)
   - Clean up Order records when Redis cache or queue enqueue fails
   - Prevent orphaned Order records in the database

8. Cache Clearing Optimization
   - Add user subscription cache clearing after activation
   - Ensure both node-side and user-side display latest subscription info

Technical details:
- Modified: internal/logic/public/redemption/redeemCodeLogic.go
- Modified: queue/logic/order/activateOrderLogic.go
- Modified: internal/model/redemption/default.go (transaction support)

Testing:
- All changes compiled successfully
- Comprehensive flow verification completed
- Ready for production deployment

BREAKING CHANGE: None
2026-02-09 01:07:39 +08:00
EUForest 8022710720 update: config file 2026-02-08 21:27:40 +08:00