From b2722abfa95a33bb61b1b796e7f66212da7771e8 Mon Sep 17 00:00:00 2001 From: renzhiyuan <465386466@qq.com> Date: Mon, 7 Jul 2025 18:10:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=93=E5=AD=98=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/third/paymentService/wechat_service.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/third/paymentService/wechat_service.go b/app/third/paymentService/wechat_service.go index e6ddc48..16226e8 100644 --- a/app/third/paymentService/wechat_service.go +++ b/app/third/paymentService/wechat_service.go @@ -15,16 +15,22 @@ import ( "github.com/qit-team/snow-core/log/logger" "net/url" "strconv" + "sync" "time" ) -var WxClientGroup = make(map[string]*wechat.ClientV3) +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) { - clientCache, ex := WxClientGroup[wxConfig.AppId] + key := WxClientGroupKey(wxConfig) + clientCache, ex := WxClientGroup.Load(key) if ex { - return clientCache, nil + return clientCache.(*wechat.ClientV3), nil } // NewClientV3 初始化微信客户端 v3 // mchid:商户ID 或者服务商模式的 sp_mchid @@ -51,7 +57,7 @@ func InitClient(wxConfig WxPay) (*wechat.ClientV3, error) { // 打开Debug开关,输出日志,默认是关闭的 wxClient.DebugSwitch = gopay.DebugOn - WxClientGroup[wxConfig.AppId] = wxClient + WxClientGroup.Store(key, wxClient) return wxClient, nil }