优化结构

This commit is contained in:
Yvan
2026-08-22 15:53:14 +08:00
parent ca52de5db0
commit 491ed21d48
72 changed files with 746 additions and 695 deletions
+13 -13
View File
@@ -14,7 +14,7 @@ import (
"encoding/pem"
"fmt"
"io"
"kra/internal/biz/system"
bizpayment "kra/internal/biz/payment"
"net/http"
"net/http/httptest"
"net/url"
@@ -125,8 +125,8 @@ func TestAlipayTradePayUsesGoPaySDK(t *testing.T) {
}))
defer server.Close()
result, err := (&alipayAdapter{}).Create(context.Background(), &system.PaymentRequest{
Provider: system.PaymentAlipay, TradeNo: "T-ALIPAY-PAY", Subject: "subject", Amount: 1000,
result, err := (&alipayAdapter{}).Create(context.Background(), &bizpayment.PaymentRequest{
Provider: bizpayment.PaymentAlipay, TradeNo: "T-ALIPAY-PAY", Subject: "subject", Amount: 1000,
Currency: "CNY", Extra: map[string]any{"method": "barcode", "auth_code": "BARCODE-1"},
}, map[string]any{
"app_id": "app-test", "private_key": privatePEM, "public_key": publicPEM, "gateway_url": server.URL,
@@ -194,7 +194,7 @@ func TestWechatV2GoPayCallbackVerificationAndSandboxAmount(t *testing.T) {
}))
defer server.Close()
result, err := (&wechatV2Adapter{}).Create(context.Background(), &system.PaymentRequest{
result, err := (&wechatV2Adapter{}).Create(context.Background(), &bizpayment.PaymentRequest{
TradeNo: "T-WECHAT", Subject: "subject", Amount: 123, Currency: "CNY", NotifyURL: "http://notify.local",
}, map[string]any{
"app_id": "wx-test", "merchant_id": "mch-test", "mch_key": key,
@@ -220,7 +220,7 @@ func TestWechatV2GoPayCallbackVerificationAndSandboxAmount(t *testing.T) {
t.Fatal("verification mutated source values")
}
callbackBody := paymentutil.XMLEncode(callbackValues)
callbackResult, err := (&wechatV2Adapter{}).Callback(context.Background(), &system.PaymentCallback{Body: callbackBody}, map[string]any{
callbackResult, err := (&wechatV2Adapter{}).Callback(context.Background(), &bizpayment.PaymentCallback{Body: callbackBody}, map[string]any{
"app_id": "wx-test", "merchant_id": "mch-test", "mch_key": key,
})
if err != nil {
@@ -267,8 +267,8 @@ func TestWechatV2MicropayUsesGoPaySDKAndValidatesIdentities(t *testing.T) {
}))
defer server.Close()
result, err := (&wechatV2Adapter{}).Create(context.Background(), &system.PaymentRequest{
Provider: system.PaymentWechatV2, TradeNo: "T-WECHAT-MICRO", Subject: "subject", Amount: 123,
result, err := (&wechatV2Adapter{}).Create(context.Background(), &bizpayment.PaymentRequest{
Provider: bizpayment.PaymentWechatV2, TradeNo: "T-WECHAT-MICRO", Subject: "subject", Amount: 123,
Currency: "CNY", NotifyURL: "http://notify.local",
Extra: map[string]any{"method": "barcode", "auth_code": "AUTH-CODE-1"},
}, map[string]any{
@@ -287,8 +287,8 @@ func TestWechatV2MicropayUsesGoPaySDKAndValidatesIdentities(t *testing.T) {
}
func TestWechatV2MicropayRejectsMissingAuthCodeAndUnknownMode(t *testing.T) {
_, err := (&wechatV2Adapter{}).Create(context.Background(), &system.PaymentRequest{
Provider: system.PaymentWechatV2, TradeNo: "T-WECHAT-MICRO-MISSING", Subject: "subject", Amount: 1,
_, err := (&wechatV2Adapter{}).Create(context.Background(), &bizpayment.PaymentRequest{
Provider: bizpayment.PaymentWechatV2, TradeNo: "T-WECHAT-MICRO-MISSING", Subject: "subject", Amount: 1,
Currency: "CNY", NotifyURL: "http://notify.local", Extra: map[string]any{"method": "micropay"},
}, map[string]any{"app_id": "wx-test", "merchant_id": "mch-test", "mch_key": "wechat-secret"})
if err == nil || !strings.Contains(err.Error(), "auth_code") {
@@ -348,8 +348,8 @@ func TestWechatV2MicropayRejectsInvalidSuccessResponse(t *testing.T) {
}))
defer server.Close()
_, err := (&wechatV2Adapter{}).Create(context.Background(), &system.PaymentRequest{
Provider: system.PaymentWechatV2, TradeNo: "T-WECHAT-MICRO", Subject: "subject", Amount: 123,
_, err := (&wechatV2Adapter{}).Create(context.Background(), &bizpayment.PaymentRequest{
Provider: bizpayment.PaymentWechatV2, TradeNo: "T-WECHAT-MICRO", Subject: "subject", Amount: 123,
Currency: "CNY", Extra: map[string]any{"method": "micropay", "auth_code": "AUTH-CODE-1"},
}, map[string]any{
"app_id": "wx-test", "merchant_id": "mch-test", "mch_key": key,
@@ -520,7 +520,7 @@ func TestDouyinPrepayResultUsesGoPayClientSigning(t *testing.T) {
if err = json.Unmarshal(result.Payload, &payload); err != nil {
t.Fatal(err)
}
if result.Provider != system.PaymentDouyin || result.TradeNo != "T-DOUYIN" || strings.TrimSpace(fmt.Sprint(payload["sign"])) == "" && strings.TrimSpace(fmt.Sprint(payload["paySign"])) == "" {
if result.Provider != bizpayment.PaymentDouyin || result.TradeNo != "T-DOUYIN" || strings.TrimSpace(fmt.Sprint(payload["sign"])) == "" && strings.TrimSpace(fmt.Sprint(payload["paySign"])) == "" {
t.Fatalf("app=%v result=%+v payload=%#v", app, result, payload)
}
if app {
@@ -581,7 +581,7 @@ func TestWechatV3GoPayCallbackVerificationAndDecryption(t *testing.T) {
t.Fatal(err)
}
signature := testRSA2Sign(t, platformKey, []byte(timestamp+"\n"+headerNonce+"\n"+string(body)+"\n"))
callback := &system.PaymentCallback{
callback := &bizpayment.PaymentCallback{
Body: body,
Headers: map[string]string{
gopayWechatV3.HeaderTimestamp: timestamp,