优化结构
This commit is contained in:
@@ -1,55 +1,29 @@
|
||||
package payment
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
bizpayment "kra/internal/biz/payment"
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
"kra/internal/paymentkit"
|
||||
)
|
||||
|
||||
func callbackFields(callback *bizpayment.PaymentCallback) map[string]string {
|
||||
fields := map[string]string{}
|
||||
if callback == nil {
|
||||
return fields
|
||||
return map[string]string{}
|
||||
}
|
||||
for key, value := range callback.Query {
|
||||
fields[key] = value
|
||||
}
|
||||
contentType := ""
|
||||
for key, value := range callback.Headers {
|
||||
if strings.EqualFold(key, "Content-Type") {
|
||||
contentType = strings.ToLower(value)
|
||||
break
|
||||
}
|
||||
}
|
||||
if strings.Contains(contentType, "application/x-www-form-urlencoded") {
|
||||
if values, err := url.ParseQuery(string(callback.Body)); err == nil {
|
||||
for key, value := range values {
|
||||
if len(value) > 0 {
|
||||
fields[key] = value[0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var object map[string]any
|
||||
if json.Unmarshal(callback.Body, &object) == nil {
|
||||
for key, value := range object {
|
||||
if stringValue, ok := value.(string); ok {
|
||||
fields[key] = stringValue
|
||||
}
|
||||
}
|
||||
}
|
||||
return fields
|
||||
return paymentkit.CallbackFields(callback.Query, callback.Headers, callback.Body)
|
||||
}
|
||||
|
||||
func first(values map[string]string, keys ...string) string {
|
||||
for _, key := range keys {
|
||||
if values[key] != "" {
|
||||
return values[key]
|
||||
return paymentkit.FirstString(values, keys...)
|
||||
}
|
||||
|
||||
func firstNonEmpty(values ...string) string {
|
||||
for _, value := range values {
|
||||
if value = strings.TrimSpace(value); value != "" && value != "<nil>" {
|
||||
return value
|
||||
}
|
||||
}
|
||||
return ""
|
||||
@@ -69,6 +43,10 @@ func normalizePaymentStatus(value, fallback string) string {
|
||||
return paymentkit.NormalizeStatus(value, fallback)
|
||||
}
|
||||
|
||||
func normalizeRefundStatus(value, fallback string) string {
|
||||
return paymentkit.NormalizeRefundStatus(value, fallback)
|
||||
}
|
||||
|
||||
func parseIntegerAmount(value string) (int64, error) {
|
||||
return paymentkit.ParseIntegerAmount(value)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user