c431393266
fix: 折扣匹配改为精确匹配 quantity,不再取全局最小值
...
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 引入新用户判断逻辑以支持新用户专属折扣。
Build docker and publish / build (20.15.1) (push) Successful in 7m37s
2026-03-11 03:56:48 -07:00
4752f844ef
各种配置项修复,优化到后台管理端配置
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