diff --git a/.gitignore b/.gitignore index e77fbf9..1e4a5f3 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ goinit.sh gomod.sh *_test.go +/vendor/ diff --git a/client.go b/client.go index 6e0287b..cc4d3a6 100644 --- a/client.go +++ b/client.go @@ -4,30 +4,29 @@ import ( "go.dtapp.net/dorm" "go.dtapp.net/golog" "go.dtapp.net/gorequest" - "gorm.io/gorm" ) type ConfigClient struct { - SpAppid string // 服务商应用ID - SpMchId string // 服务商户号 - SubAppid string // 子商户应用ID - SubMchId string // 子商户号 - ApiV2 string // APIv2密钥 - ApiV3 string // APIv3密钥 - SerialNo string // 序列号 - MchSslSerialNo string // pem 证书号 - MchSslCer string // pem 内容 - MchSslKey string // pem key 内容 - MongoDb *dorm.MongoClient // 日志数据库 - PgsqlDb *gorm.DB // 日志数据库 - DatabaseName string // 库名 + SpAppid string // 服务商应用ID + SpMchId string // 服务商户号 + SubAppid string // 子商户应用ID + SubMchId string // 子商户号 + ApiV2 string // APIv2密钥 + ApiV3 string // APIv3密钥 + SerialNo string // 序列号 + MchSslSerialNo string // pem 证书号 + MchSslCer string // pem 内容 + MchSslKey string // pem key 内容 + GormClient *dorm.GormClient // 日志数据库 + LogClient *golog.GoLog // 日志驱动 + LogDebug bool // 日志开关 } // Client 微信支付服务 type Client struct { - client *gorequest.App // 请求客户端 - log *golog.ApiClient // 日志服务 - config *ConfigClient // 配置 + requestClient *gorequest.App // 请求服务 + logClient *golog.ApiClient // 日志服务 + config *ConfigClient // 配置 } // NewClient 实例化 @@ -36,23 +35,15 @@ func NewClient(config *ConfigClient) (*Client, error) { var err error c := &Client{config: config} - c.client = gorequest.NewHttp() + c.requestClient = gorequest.NewHttp() - if c.config.PgsqlDb != nil { - c.log, err = golog.NewApiClient( - golog.WithGormClient(c.config.PgsqlDb), - golog.WithTableName(logTable), - ) - if err != nil { - return nil, err - } - } - if c.config.MongoDb != nil { - c.log, err = golog.NewApiClient( - golog.WithMongoClient(c.config.MongoDb), - golog.WithDatabaseName(c.config.DatabaseName), - golog.WithCollectionName(logTable), - ) + if c.config.GormClient.Db != nil { + c.logClient, err = golog.NewApiClient(&golog.ApiClientConfig{ + GormClient: c.config.GormClient, + TableName: logTable, + LogClient: c.config.LogClient, + LogDebug: c.config.LogDebug, + }) if err != nil { return nil, err } diff --git a/const.go b/const.go index d78e881..be0563d 100644 --- a/const.go +++ b/const.go @@ -14,7 +14,7 @@ const ( // SDK 相关信息 const ( - Version = "1.0.5" // SDK 版本 + Version = "1.0.6" // SDK 版本 UserAgentFormat = "WechatPay-Go/%s (%s) GO/%s" // UserAgent中的信息 ) diff --git a/go.mod b/go.mod index ac9d6ab..ac0631b 100644 --- a/go.mod +++ b/go.mod @@ -3,12 +3,11 @@ module go.dtapp.net/wechatpayopen go 1.19 require ( - go.dtapp.net/dorm v1.0.17 - go.dtapp.net/goip v1.0.24 - go.dtapp.net/golog v1.0.24 + go.dtapp.net/dorm v1.0.21 + go.dtapp.net/goip v1.0.25 + go.dtapp.net/golog v1.0.27 go.dtapp.net/gorandom v1.0.1 go.dtapp.net/gorequest v1.0.26 - gorm.io/gorm v1.23.8 ) require ( @@ -67,7 +66,7 @@ require ( go.dtapp.net/gojson v1.0.1 // indirect go.dtapp.net/gostring v1.0.6 // indirect go.dtapp.net/gotime v1.0.5 // indirect - go.dtapp.net/gotrace_id v1.0.0 // indirect + go.dtapp.net/gotrace_id v1.0.2 // indirect go.dtapp.net/gourl v1.0.0 // indirect go.dtapp.net/goxml v1.0.1 // indirect go.mongodb.org/mongo-driver v1.10.1 // indirect @@ -85,6 +84,7 @@ require ( gorm.io/datatypes v1.0.7 // indirect gorm.io/driver/mysql v1.3.5 // indirect gorm.io/driver/postgres v1.3.8 // indirect + gorm.io/gorm v1.23.8 // indirect mellium.im/sasl v0.2.1 // indirect xorm.io/builder v0.3.12 // indirect xorm.io/xorm v1.3.1 // indirect diff --git a/go.sum b/go.sum index 1c03675..c930234 100644 --- a/go.sum +++ b/go.sum @@ -500,14 +500,14 @@ github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= -go.dtapp.net/dorm v1.0.17 h1:3VQKUl05CDxFg3T1c/M8wYf2I+H+oVGBDh4NCV30nn0= -go.dtapp.net/dorm v1.0.17/go.mod h1:bHG7BmgeLaAlc56myYF63lwZAIuMeWRAqHBb/L84dLM= -go.dtapp.net/goip v1.0.24 h1:62k3xt9I/YLUwA5tLp7YC8XPskkswc4RJrvxRRxjwIY= -go.dtapp.net/goip v1.0.24/go.mod h1:tps0yoq5kSykLGDb01vuai47hzAQ6nYUPFWLdlQA2Oo= +go.dtapp.net/dorm v1.0.21 h1:e5GccTOkFJ66+fTBu0Voo45Cpj+NKsVYLmq2IKQbH+w= +go.dtapp.net/dorm v1.0.21/go.mod h1:bHG7BmgeLaAlc56myYF63lwZAIuMeWRAqHBb/L84dLM= +go.dtapp.net/goip v1.0.25 h1:GSgQkR7dc28TX8E1mF3wAy+EEGZ++tgqc8Q85OKZPEY= +go.dtapp.net/goip v1.0.25/go.mod h1:dKeNuWJttH4AvvYVHV0FagB6BVvFM1HGDKFxLKr+hkQ= go.dtapp.net/gojson v1.0.1 h1:MHeSGlq1KxzL7rCkm18fhwW4GNORHohdDMmxY5PupKY= go.dtapp.net/gojson v1.0.1/go.mod h1:TkkpTNxHBKxul0e7gC5MrL1K4ICFB9mQ7wHzjBah3/k= -go.dtapp.net/golog v1.0.24 h1:A26GN2fEJOsMWRb+jqG2LKRmB8aEuWFYNNXGT23VNbc= -go.dtapp.net/golog v1.0.24/go.mod h1:P1CFwGZ6xm2nLXCi0DTwO8aHNfT2dkdjz+9b2ph1TNQ= +go.dtapp.net/golog v1.0.27 h1:tcQpY1HOmpeNppjgVKeqEim7nsmXUCLcE3sDtvsYd+8= +go.dtapp.net/golog v1.0.27/go.mod h1:CJj6+tKM7Rdlgf+/clyCi949pcNoR8ZZIQ7vwhtrec8= go.dtapp.net/gorandom v1.0.1 h1:IWfMClh1ECPvyUjlqD7MwLq4mZdUusD1qAwAdsvEJBs= go.dtapp.net/gorandom v1.0.1/go.mod h1:ZPdgalKpvFV/ATQqR0k4ns/F/IpITAZpx6WkWirr5Y8= go.dtapp.net/gorequest v1.0.26 h1:t+rMW7liLHz1RgY60ztWIghSkTeQePKWM0EsDG1IqMI= @@ -516,8 +516,8 @@ go.dtapp.net/gostring v1.0.6 h1:XqNaThEfHpweLofru5sBqm1UUzc9JWsXyB/M/rTk29w= go.dtapp.net/gostring v1.0.6/go.mod h1:AMnnLjyNxH+cphxyASJGYCzWpVrkP5RncuVo8xL8s3E= go.dtapp.net/gotime v1.0.5 h1:12aNgB2ULpP6QgQHEUkLilZ4ASvhpFxMFQkBwn0par8= go.dtapp.net/gotime v1.0.5/go.mod h1:Gq7eNLr2iMLP18UNWONRq4V3Uhf/ADp4bIrS+Tc6ktY= -go.dtapp.net/gotrace_id v1.0.0 h1:nlI8KEEf2l394SCzmJxffEIiOBfR4kIOuobBhpRSV3g= -go.dtapp.net/gotrace_id v1.0.0/go.mod h1:HDwMY1vLoC759z6VGKVgCpIqwKQTDYV9DNdxiyN1OeQ= +go.dtapp.net/gotrace_id v1.0.2 h1:wSc7dYzkAwSz3MbPu2Io4XqHe0l0dIaJe3vlpDAZrXY= +go.dtapp.net/gotrace_id v1.0.2/go.mod h1:476T5KMJw9c6DM/rJn7y6d28hcNDv4+wew4sd+powes= go.dtapp.net/gourl v1.0.0 h1:Zbe0GiMFyyRy2+bjbVsYulakH5d58w3CDZkUPonlMoQ= go.dtapp.net/gourl v1.0.0/go.mod h1:x9A/pJ3iKDTb6Gu2RtJy2iHg56IowXIcIGQdogqpGjs= go.dtapp.net/goxml v1.0.1 h1:WODsjNpmHTtoeLsXgOjC81qRbu4aXZ3LKBHApNGaPjY= diff --git a/request.go b/request.go index 6821385..007c139 100644 --- a/request.go +++ b/request.go @@ -14,7 +14,7 @@ func (c *Client) request(ctx context.Context, url string, params map[string]inte } // 创建请求 - client := c.client + client := c.requestClient // 设置请求地址 client.SetUri(url) @@ -40,11 +40,8 @@ func (c *Client) request(ctx context.Context, url string, params map[string]inte } // 日志 - if c.config.PgsqlDb != nil { - go c.log.GormMiddleware(ctx, request, Version) - } - if c.config.MongoDb != nil { - go c.log.MongoMiddleware(ctx, request, Version) + if c.config.GormClient.Db != nil { + go c.logClient.GormMiddleware(ctx, request, Version) } return request, err