33 Commits

Author SHA1 Message Date
c431393266 fix: 折扣匹配改为精确匹配 quantity,不再取全局最小值
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m44s
将 getDiscount 和 isNewUserOnlyForQuantity 的匹配逻辑从
inputMonths >= discount.Quantity 改为 inputMonths == discount.Quantity,
买多少天就用多少天对应的折扣,避免错误配置导致折扣泄漏。
同时增加 discount 值合法性校验(>0 且 <100)。

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-26 04:18:45 -07:00
fafb229295 feat: 为折扣计算函数 getDiscount 引入新用户判断逻辑以支持新用户专属折扣。
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m37s
2026-03-11 03:56:48 -07:00
4752f844ef 各种配置项修复,优化到后台管理端配置
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
2026-03-04 17:58:40 -08:00
4d8516b2e1 同步历史版本代码 2026-03-03 09:32:22 -08:00
EUForest
31e75efacb Merge upstream/master into master 2026-02-13 23:06:43 +08:00
EUForest
5f55b1242e fix: resolve order queue loss issue with retry mechanism and idempotency
- Fix task error handling: return actual errors instead of nil to enable retry
- Add idempotency check: skip processing for already finished orders
- Extend temp order cache: increase from 15 minutes to 24 hours
- Configure retry policy: add MaxRetry(5) for all payment callbacks (Epay, Alipay, Stripe)

This fixes the critical issue where paid orders were being lost due to:
1. Failed tasks being marked as successful and deleted from queue
2. Temporary order info expiring before queue processing
3. No retry mechanism for transient failures

Changes:
- queue/logic/order/activateOrderLogic.go: Fix error returns and add idempotency
- internal/logic/public/portal/purchaseLogic.go: Extend cache to 24 hours
- internal/logic/notify/*NotifyLogic.go: Add retry configuration
2026-01-12 18:30:42 +08:00
Chang lue Tsen
7d84cf858b fix(currency): initialize exchange rate to 0 and improve error logging in purchase checkout 2026-01-07 09:35:52 -05:00
EUForest
80ee9a6acf Merge upstream/master into develop
Sync upstream changes from perfect-panel/server

  Includes updates from v1.0.1 to v1.2.5:
  - Currency configuration support
  - Subscribe improvements (short token, inventory check, etc.)
  - Node management enhancements
  - Database migrations
  - Bug fixes and optimizations
2026-01-02 12:51:55 +08:00
Tension
798fb9e245 feat(currency): add currency configuration support and integrate into payment processing 2025-12-31 11:47:24 +08:00
Tension
fb6adc9ae3 feat(subscribe): add inventory check and update logic for subscription plans 2025-12-28 22:44:14 +08:00
Tension
7a2000f696 feat(discount): change discount type to float64 for improved precision 2025-12-28 22:04:50 +08:00
EUForest
76ff9a658d Merge branch perfect-panel/master/server into develop 2025-12-11 23:53:32 +08:00
Tension
5d632608ab fix(purchase): update notification URL construction for gateway mode support 2025-12-08 15:47:45 +08:00
EUForest
c1efb23354 update: Added support for floating-point calculations for discounts 2025-11-21 17:39:57 +08:00
Chang lue Tsen
1b76794251 fix(coupon): add expiration check and error handling for expired coupons 2025-10-16 09:31:33 -04:00
Ember Moth
8b48286365 add payment type field (alipay/wxpay) to EPay config 2025-10-15 23:20:33 +09:00
Chang lue Tsen
adbe9a06d8 feat(exchange): add exchange rate handling and scheduled updates 2025-10-15 10:05:19 -04:00
Ember Moth
25c7eb3927
fix(purchase): resolve balance payment transaction inconsistency causing Internal Server Error (#81) 2025-09-28 12:34:18 -04:00
Chang lue Tsen
9777a0c61a fix(purchase): update payment processing to use CryptoSaaSPayment method 2025-09-28 12:28:44 -04:00
Chang lue Tsen
900096ed12 fix(coupon): add check for zero count in coupon usage validation 2025-09-16 10:17:18 -04:00
Chang lue Tsen
4d95834c22 feat(payment): add support for CryptoSaaS payment platform and enhance configuration handling 2025-09-06 12:22:39 -04:00
Chang lue Tsen
d5ed82955e fix(purchase): streamline error handling and improve JSON marshaling for temporary orders 2025-09-06 11:03:14 -04:00
Chang lue Tsen
1d878592ed fix(log): rename OrderId to OrderNo for consistency in balance logging 2025-09-05 10:25:19 -04:00
Chang lue Tsen
d0d03e724e fix(log): replace magic number with constant for gift type in purchase checkout logic 2025-09-05 09:52:45 -04:00
Chang lue Tsen
3199dc5141 fix(balance): add timestamp to balance logs for payment, refund, and recharge transactions 2025-09-05 09:29:19 -04:00
Chang lue Tsen
0636a4bddf feat(subscription): implement FilterList method for subscription queries and update related logic 2025-09-04 10:20:35 -04:00
Chang lue Tsen
10757612f5 feat(subscription): add Language parameter to GetSubscription request and update query logic 2025-09-04 03:14:31 -04:00
Chang lue Tsen
87c771bbd4 refactor(log): consolidate logging models and update related logic for improved clarity and functionality 2025-08-20 13:36:06 -04:00
Chang lue Tsen
40c24fbc85 fix(purchase): update gift amount deduction logic and handle zero-amount order status 2025-07-24 03:06:44 +09:00
Chang lue Tsen
9691257bad fix(purchase): correct gift amount deduction logic and enhance payment processing comments 2025-07-07 14:26:53 -04:00
Chang lue Tsen
76816ca8ea fix(purchase): handle gift amount deduction and update order status in checkout logic 2025-07-07 12:28:44 -04:00
Chang lue Tsen
34c09c4618 refactor: update import paths from ppanel-server to server 2025-04-25 15:09:31 +09:00
Chang lue Tsen
8addcc584b init: 1.0.0 2025-04-25 12:08:29 +09:00