新功能(#76): 促销系统下单流程集成
Build docker and publish / build (20.15.1) (push) Has been cancelled
Build docker and publish / build (20.15.1) (pull_request) Successful in 8m28s

- 新增促销规则/规格促销价/使用记录模型与幂等迁移
- EvaluatePromo 支持 new_user/inactive_user/campaign 规则判定
- purchase/preCreate 接入促销判定:命中促销时跳过百分比折扣
- activate 激活后按 order_no 幂等写入 promo_usage
- 订单模型和响应结构新增 promo_rule_id、promo_discount 字段

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-05-26 22:18:26 -07:00
parent 92e303aaa7
commit d2f9289338
14 changed files with 688 additions and 43 deletions
+4 -1
View File
@@ -21,6 +21,7 @@ import (
logmessage "github.com/perfect-panel/server/internal/model/logmessage"
"github.com/perfect-panel/server/internal/model/order"
"github.com/perfect-panel/server/internal/model/payment"
"github.com/perfect-panel/server/internal/model/promo"
"github.com/perfect-panel/server/internal/model/subscribe"
"github.com/perfect-panel/server/internal/model/system"
"github.com/perfect-panel/server/internal/model/ticket"
@@ -45,7 +46,7 @@ type ServiceContext struct {
ExchangeRate float64
GeoIP *IPLocation
SignatureValidator *signature.Validator
S3Store *storage.S3Store
S3Store *storage.S3Store
//NodeCache *cache.NodeCacheClient
AuthModel auth.Model
@@ -63,6 +64,7 @@ type ServiceContext struct {
RedemptionCodeModel redemption.RedemptionCodeModel
RedemptionRecordModel redemption.RedemptionRecordModel
PaymentModel payment.Model
PromoModel promo.Model
DocumentModel document.Model
SubscribeModel subscribe.Model
TrafficLogModel traffic.Model
@@ -138,6 +140,7 @@ func NewServiceContext(c config.Config) *ServiceContext {
RedemptionCodeModel: redemption.NewRedemptionCodeModel(db, rds),
RedemptionRecordModel: redemption.NewRedemptionRecordModel(db, rds),
PaymentModel: payment.NewModel(db, rds),
PromoModel: promo.NewModel(db, rds),
DocumentModel: document.NewModel(db, rds),
SubscribeModel: subscribe.NewModel(db, rds),
TrafficLogModel: traffic.NewModel(db),