Compare commits

...

2 Commits

Author SHA1 Message Date
renzhiyuan b2722abfa9 <feat>缓存客户端 2025-07-07 18:10:22 +08:00
renzhiyuan 2c4974a25f <feat>缓存客户端 2025-07-07 18:01:05 +08:00
1 changed files with 13 additions and 0 deletions

View File

@ -15,11 +15,23 @@ import (
"github.com/qit-team/snow-core/log/logger"
"net/url"
"strconv"
"sync"
"time"
)
var WxClientGroup sync.Map
func WxClientGroupKey(wxConfig WxPay) string {
return fmt.Sprintf("%s%s", wxConfig.AppId, wxConfig.MchId)
}
// InitClient 使用提供的支付请求参数初始化微信客户端
func InitClient(wxConfig WxPay) (*wechat.ClientV3, error) {
key := WxClientGroupKey(wxConfig)
clientCache, ex := WxClientGroup.Load(key)
if ex {
return clientCache.(*wechat.ClientV3), nil
}
// NewClientV3 初始化微信客户端 v3
// mchid商户ID 或者服务商模式的 sp_mchid
// serialNo商户证书的证书序列号
@ -45,6 +57,7 @@ func InitClient(wxConfig WxPay) (*wechat.ClientV3, error) {
// 打开Debug开关输出日志默认是关闭的
wxClient.DebugSwitch = gopay.DebugOn
WxClientGroup.Store(key, wxClient)
return wxClient, nil
}