优化结构
This commit is contained in:
@@ -3,53 +3,52 @@ package payment
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"kra/internal/biz"
|
||||
"kra/internal/biz/system"
|
||||
)
|
||||
|
||||
// Adapter is the provider boundary used by the payment repository. Provider
|
||||
// SDK types stay in this package and are normalized to biz.PaymentResult.
|
||||
type Adapter interface {
|
||||
Create(context.Context, *biz.PaymentRequest, map[string]any) (*biz.PaymentResult, error)
|
||||
Query(context.Context, string, map[string]any) (*biz.PaymentResult, error)
|
||||
Refund(context.Context, *biz.PaymentRefundRequest, map[string]any) (*biz.PaymentResult, error)
|
||||
Callback(context.Context, *biz.PaymentCallback, map[string]any) (*biz.PaymentResult, error)
|
||||
Create(context.Context, *system.PaymentRequest, map[string]any) (*system.PaymentResult, error)
|
||||
Query(context.Context, string, map[string]any) (*system.PaymentResult, error)
|
||||
Refund(context.Context, *system.PaymentRefundRequest, map[string]any) (*system.PaymentResult, error)
|
||||
Callback(context.Context, *system.PaymentCallback, map[string]any) (*system.PaymentResult, error)
|
||||
}
|
||||
|
||||
// New constructs the SDK-backed adapter for a configured provider.
|
||||
func New(provider string) (Adapter, error) {
|
||||
switch provider {
|
||||
case biz.PaymentAlipay:
|
||||
case system.PaymentAlipay:
|
||||
return &alipayAdapter{}, nil
|
||||
case biz.PaymentAlipayV3:
|
||||
case system.PaymentAlipayV3:
|
||||
return &alipayV3Adapter{}, nil
|
||||
case biz.PaymentWechatV2:
|
||||
case system.PaymentWechatV2:
|
||||
return &wechatV2Adapter{}, nil
|
||||
case biz.PaymentWechatV3:
|
||||
case system.PaymentWechatV3:
|
||||
return &wechatV3Adapter{}, nil
|
||||
case biz.PaymentApple:
|
||||
case system.PaymentApple:
|
||||
return &appleAdapter{}, nil
|
||||
case biz.PaymentDouyin:
|
||||
case system.PaymentDouyin:
|
||||
return &douyinAdapter{}, nil
|
||||
case biz.PaymentQQ:
|
||||
case system.PaymentQQ:
|
||||
return &qqAdapter{}, nil
|
||||
case biz.PaymentAllinPay:
|
||||
case system.PaymentAllinPay:
|
||||
return &allinpayAdapter{}, nil
|
||||
case biz.PaymentLakala:
|
||||
case system.PaymentLakala:
|
||||
return &lakalaAdapter{}, nil
|
||||
case biz.PaymentPayPal:
|
||||
case system.PaymentPayPal:
|
||||
return &paypalAdapter{}, nil
|
||||
case biz.PaymentSaobei:
|
||||
case system.PaymentSaobei:
|
||||
return &saobeiAdapter{}, nil
|
||||
case biz.PaymentChinaums:
|
||||
case system.PaymentChinaums:
|
||||
return newVendorAdapter(provider, vendorChinaums), nil
|
||||
case biz.PaymentSFT:
|
||||
case system.PaymentSFT:
|
||||
return newVendorAdapter(provider, vendorSFT), nil
|
||||
case biz.PaymentSuperPay:
|
||||
case system.PaymentSuperPay:
|
||||
return newVendorAdapter(provider, vendorSupperPay), nil
|
||||
case biz.PaymentWechatGame:
|
||||
case system.PaymentWechatGame:
|
||||
return newVendorAdapter(provider, vendorWechatGame), nil
|
||||
case biz.PaymentDouyinGame:
|
||||
case system.PaymentDouyinGame:
|
||||
return newVendorAdapter(provider, vendorDouyinGame), nil
|
||||
default:
|
||||
return nil, fmt.Errorf("支付渠道 %s 没有适配器", provider)
|
||||
|
||||
Reference in New Issue
Block a user