支持微信支付宝独立支付渠道

This commit is contained in:
yml
2026-06-14 23:38:03 +08:00
parent 2dc5a8121e
commit 3ff8c1de88
27 changed files with 550 additions and 97 deletions
@@ -9,6 +9,7 @@ import (
"hfb_sys/backend/internal/model"
"hfb_sys/backend/internal/timeutil"
"math"
"strings"
"time"
)
@@ -18,6 +19,7 @@ func toDTO(payment model.PaymentOrder) PaymentDTO {
PaymentNo: payment.PaymentNo,
OrderID: payment.OrderID,
OrderNo: payment.OrderNo,
PaymentConfigID: payment.PaymentConfigID,
Provider: payment.Provider,
ThirdOrderID: payment.ThirdOrderID,
ProviderOrderID: payment.ProviderOrderID,
@@ -115,3 +117,25 @@ func firstNonEmpty(values ...string) string {
}
return ""
}
// firstNonZero 返回第一个非零 uint64,用于保留历史支付单已有配置 ID。
func firstNonZero(values ...uint64) uint64 {
for _, value := range values {
if value != 0 {
return value
}
}
return 0
}
// normalizePayWay 将前端或渠道别名统一为系统内部支付方式编码。
func normalizePayWay(value string) string {
switch strings.ToUpper(strings.TrimSpace(value)) {
case "", "ZFBZF", "ALIPAY", "ALIPAYPAY":
return "ZFBZF"
case "WXZF", "WECHAT", "WECHATPAY":
return "WXZF"
default:
return strings.ToUpper(strings.TrimSpace(value))
}
}