master v1.0.109
李光春 1 year ago
parent 70e338cdd6
commit 52e43d730b

@ -23,6 +23,9 @@
- add [dingtalk](service%2Fdingtalk) - add [dingtalk](service%2Fdingtalk)
- add [dingdanxia](service%2Fdingdanxia) - add [dingdanxia](service%2Fdingdanxia)
- add [alipayopen](service%2Falipayopen) - add [alipayopen](service%2Falipayopen)
- add [leshuazf](service%2Fleshuazf)
- add [pconline](service%2Fpconline)
- add [sendcloud](service%2Fsendcloud)
## v1.0.108 ## v1.0.108

@ -0,0 +1,25 @@
package leshuazf
import (
"context"
"github.com/baidubce/bce-sdk-go/http"
"github.com/dtapps/go-library/utils/gorequest"
)
func (c *Client) Get(ctx context.Context, _method string, notMustParams ...gorequest.Params) ([]byte, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+_method, params, http.GET)
// 定义
return request.ResponseBody, err
}
func (c *Client) Post(ctx context.Context, _method string, notMustParams ...gorequest.Params) ([]byte, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+_method, params, http.POST)
// 定义
return request.ResponseBody, err
}

@ -1,6 +1,7 @@
package leshuazf package leshuazf
import ( import (
"context"
"github.com/dtapps/go-library/utils/gojson" "github.com/dtapps/go-library/utils/gojson"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"net/http" "net/http"
@ -22,11 +23,11 @@ func newApiV2MerchantUpdateAuthorityResult(result ApiV2MerchantUpdateAuthorityRe
// ApiV2MerchantUpdateAuthority 给商户开通D0交易/结算权限接口。其中D0交易影响交易接口内t0字段能否标1D0结算影响商户该种支付方式的秒到 // ApiV2MerchantUpdateAuthority 给商户开通D0交易/结算权限接口。其中D0交易影响交易接口内t0字段能否标1D0结算影响商户该种支付方式的秒到
// https://www.yuque.com/leshuazf/doc/dbmxyi#Vw97n // https://www.yuque.com/leshuazf/doc/dbmxyi#Vw97n
func (c *Client) ApiV2MerchantUpdateAuthority(notMustParams ...gorequest.Params) *ApiV2MerchantUpdateAuthorityResult { func (c *Client) ApiV2MerchantUpdateAuthority(ctx context.Context, notMustParams ...gorequest.Params) *ApiV2MerchantUpdateAuthorityResult {
// 参数 // 参数
params := gorequest.NewParamsWith(notMustParams...) params := gorequest.NewParamsWith(notMustParams...)
// 请求 // 请求
request, err := c.request("/apiv2/merchant/updateAuthority", params, http.MethodPost) request, err := c.request(ctx, "/apiv2/merchant/updateAuthority", params, http.MethodPost)
// 定义 // 定义
var response ApiV2MerchantUpdateAuthorityResponse var response ApiV2MerchantUpdateAuthorityResponse
err = gojson.Unmarshal(request.ResponseBody, &response) err = gojson.Unmarshal(request.ResponseBody, &response)

@ -1,54 +1,39 @@
package leshuazf package leshuazf
import ( import (
"github.com/dtapps/go-library/utils/dorm"
"github.com/dtapps/go-library/utils/golog" "github.com/dtapps/go-library/utils/golog"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"gorm.io/gorm"
) )
type ConfigClient struct { type ConfigClient struct {
AgentId string // 服务商编号,由乐刷分配的接入方唯一标识,明文传输。 AgentId string // 服务商编号,由乐刷分配的接入方唯一标识,明文传输。
Environment string // 环境 Environment string // 环境
KeyAgent string KeyAgent string
MongoDb *dorm.MongoClient // 日志数据库
PgsqlDb *gorm.DB // 日志数据库
DatabaseName string // 库名
} }
// Client 乐刷 // Client 乐刷
type Client struct { type Client struct {
client *gorequest.App // 请求客户端 client *gorequest.App // 请求服务
log *golog.ApiClient // 日志服务 config struct {
config *ConfigClient // 配置 agentId string // 服务商编号,由乐刷分配的接入方唯一标识,明文传输。
environment string // 环境
keyAgent string
}
log struct {
status bool // 状态
client *golog.ApiClient // 日志服务
}
} }
func NewClient(config *ConfigClient) (*Client, error) { func NewClient(config *ConfigClient) (*Client, error) {
var err error c := &Client{}
c := &Client{config: config}
c.client = gorequest.NewHttp() c.config.agentId = config.AgentId
c.config.environment = config.Environment
c.config.keyAgent = config.KeyAgent
if c.config.PgsqlDb != nil { c.client = gorequest.NewHttp()
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 err != nil {
return nil, err
}
}
return c, nil return c, nil
} }

@ -0,0 +1,12 @@
package leshuazf
import "github.com/dtapps/go-library/utils/golog"
// ConfigApiClientFun 日志配置
func (c *Client) ConfigApiClientFun(apiClientFun golog.ApiClientFun) {
apiClient := apiClientFun()
if apiClient != nil {
c.log.client = apiClient
c.log.status = true
}
}

@ -1,6 +1,7 @@
package leshuazf package leshuazf
import ( import (
"context"
"github.com/dtapps/go-library/utils/gojson" "github.com/dtapps/go-library/utils/gojson"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"net/http" "net/http"
@ -30,11 +31,11 @@ func newDataAreaResult(result DataAreaResponse, body []byte, http gorequest.Resp
// DataArea 代理商通过地区信息来查地区详细信息 // DataArea 代理商通过地区信息来查地区详细信息
// https://www.yuque.com/leshuazf/doc/dbmxyi#YwJl7 // https://www.yuque.com/leshuazf/doc/dbmxyi#YwJl7
func (c *Client) DataArea(notMustParams ...gorequest.Params) *DataAreaResult { func (c *Client) DataArea(ctx context.Context, notMustParams ...gorequest.Params) *DataAreaResult {
// 参数 // 参数
params := gorequest.NewParamsWith(notMustParams...) params := gorequest.NewParamsWith(notMustParams...)
// 请求 // 请求
request, err := c.request("/data/area", params, http.MethodPost) request, err := c.request(ctx, "/data/area", params, http.MethodPost)
// 定义 // 定义
var response DataAreaResponse var response DataAreaResponse
err = gojson.Unmarshal(request.ResponseBody, &response) err = gojson.Unmarshal(request.ResponseBody, &response)

@ -1,6 +1,7 @@
package leshuazf package leshuazf
import ( import (
"context"
"github.com/dtapps/go-library/utils/gojson" "github.com/dtapps/go-library/utils/gojson"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"net/http" "net/http"
@ -43,11 +44,11 @@ func newDataBankBranch2Result(result DataBankBranch2Response, body []byte, http
// DataBankBranch2 代理商通过联行号来查支行信息 // DataBankBranch2 代理商通过联行号来查支行信息
// https://www.yuque.com/leshuazf/doc/dbmxyi#QYl0c // https://www.yuque.com/leshuazf/doc/dbmxyi#QYl0c
func (c *Client) DataBankBranch2(notMustParams ...gorequest.Params) *DataBankBranch2Result { func (c *Client) DataBankBranch2(ctx context.Context, notMustParams ...gorequest.Params) *DataBankBranch2Result {
// 参数 // 参数
params := gorequest.NewParamsWith(notMustParams...) params := gorequest.NewParamsWith(notMustParams...)
// 请求 // 请求
request, err := c.request("/data/bankbranch2", params, http.MethodPost) request, err := c.request(ctx, "/data/bankbranch2", params, http.MethodPost)
// 定义 // 定义
var response DataBankBranch2Response var response DataBankBranch2Response
err = gojson.Unmarshal(request.ResponseBody, &response) err = gojson.Unmarshal(request.ResponseBody, &response)

@ -1,6 +1,7 @@
package leshuazf package leshuazf
import ( import (
"context"
"github.com/dtapps/go-library/utils/gojson" "github.com/dtapps/go-library/utils/gojson"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"net/http" "net/http"
@ -29,11 +30,11 @@ func newDataMccResult(result DataMccResponse, body []byte, http gorequest.Respon
// DataMcc 代理商通过MccCode来查商户类别明细 // DataMcc 代理商通过MccCode来查商户类别明细
// https://www.yuque.com/leshuazf/doc/dbmxyi#jRTHN // https://www.yuque.com/leshuazf/doc/dbmxyi#jRTHN
func (c *Client) DataMcc(notMustParams ...gorequest.Params) *DataMccResult { func (c *Client) DataMcc(ctx context.Context, notMustParams ...gorequest.Params) *DataMccResult {
// 参数 // 参数
params := gorequest.NewParamsWith(notMustParams...) params := gorequest.NewParamsWith(notMustParams...)
// 请求 // 请求
request, err := c.request("/data/mcc", params, http.MethodPost) request, err := c.request(ctx, "/data/mcc", params, http.MethodPost)
// 定义 // 定义
var response DataMccResponse var response DataMccResponse
err = gojson.Unmarshal(request.ResponseBody, &response) err = gojson.Unmarshal(request.ResponseBody, &response)

@ -1,12 +1,14 @@
package leshuazf package leshuazf
import ( import (
"context"
go_library "github.com/dtapps/go-library"
"github.com/dtapps/go-library/utils/gorandom" "github.com/dtapps/go-library/utils/gorandom"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"github.com/dtapps/go-library/utils/gotime" "github.com/dtapps/go-library/utils/gotime"
) )
func (c *Client) request(url string, params map[string]interface{}, method string) (gorequest.Response, error) { func (c *Client) request(ctx context.Context, url string, params map[string]interface{}, method string) (gorequest.Response, error) {
// 环境 // 环境
if c.GetEnvironment() == "test" { if c.GetEnvironment() == "test" {
@ -37,17 +39,14 @@ func (c *Client) request(url string, params map[string]interface{}, method strin
client.SetParams(params) client.SetParams(params)
// 发起请求 // 发起请求
request, err := client.Request() request, err := client.Request(ctx)
if err != nil { if err != nil {
return gorequest.Response{}, err return gorequest.Response{}, err
} }
// 日志 // 日志
if c.config.PgsqlDb != nil { if c.log.status {
go c.log.GormMiddleware(request) go c.log.client.Middleware(ctx, request, go_library.Version())
}
if c.config.MongoDb != nil {
go c.log.MongoMiddleware(request)
} }
return request, err return request, err

@ -0,0 +1,15 @@
package pconline
import (
"context"
"github.com/dtapps/go-library/utils/gorequest"
)
func (c *Client) Get(ctx context.Context, _method string, notMustParams ...gorequest.Params) ([]byte, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+_method, params)
// 定义
return request.ResponseBody, err
}

@ -1,50 +1,23 @@
package pconline package pconline
import ( import (
"github.com/dtapps/go-library/utils/dorm"
"github.com/dtapps/go-library/utils/golog" "github.com/dtapps/go-library/utils/golog"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"gorm.io/gorm"
) )
type ConfigClient struct {
MongoDb *dorm.MongoClient // 日志数据库
PgsqlDb *gorm.DB // 日志数据库
DatabaseName string // 库名
}
type Client struct { type Client struct {
client *gorequest.App // 请求客户端 client *gorequest.App // 请求服务
log *golog.ApiClient // 日志服务 log struct {
config *ConfigClient // 配置 status bool // 状态
client *golog.ApiClient // 日志服务
}
} }
func NewClient(config *ConfigClient) (*Client, error) { func NewClient() (*Client, error) {
var err error c := &Client{}
c := &Client{config: config}
c.client = gorequest.NewHttp() c.client = 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 err != nil {
return nil, err
}
}
return c, nil return c, nil
} }

@ -0,0 +1,12 @@
package pconline
import "github.com/dtapps/go-library/utils/golog"
// ConfigApiClientFun 日志配置
func (c *Client) ConfigApiClientFun(apiClientFun golog.ApiClientFun) {
apiClient := apiClientFun()
if apiClient != nil {
c.log.client = apiClient
c.log.status = true
}
}

@ -1,6 +1,7 @@
package pconline package pconline
import ( import (
"context"
"fmt" "fmt"
"github.com/dtapps/go-library/utils/gojson" "github.com/dtapps/go-library/utils/gojson"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
@ -32,9 +33,10 @@ func newIpResult(result IpResponse, body []byte, http gorequest.Response, err er
} }
// Ip 接口 https://whois.pconline.com.cn/ // Ip 接口 https://whois.pconline.com.cn/
func (c *Client) Ip(ip string) *IpResult { func (c *Client) Ip(ctx context.Context, ip string) *IpResult { // 参数
param := gorequest.NewParams()
// 请求 // 请求
request, err := c.request(apiUrl + fmt.Sprintf("/ipJson.jsp?json=true&ip=%s", ip)) request, err := c.request(ctx, apiUrl+fmt.Sprintf("/ipJson.jsp?json=true&ip=%s", ip), param)
if err != nil { if err != nil {
return newIpResult(IpResponse{}, request.ResponseBody, request, err) return newIpResult(IpResponse{}, request.ResponseBody, request, err)
} }

@ -1,8 +1,12 @@
package pconline package pconline
import "github.com/dtapps/go-library/utils/gorequest" import (
"context"
go_library "github.com/dtapps/go-library"
"github.com/dtapps/go-library/utils/gorequest"
)
func (c *Client) request(url string) (gorequest.Response, error) { func (c *Client) request(ctx context.Context, url string, params map[string]interface{}) (gorequest.Response, error) {
// 创建请求 // 创建请求
client := c.client client := c.client
@ -10,18 +14,18 @@ func (c *Client) request(url string) (gorequest.Response, error) {
// 设置请求地址 // 设置请求地址
client.SetUri(url) client.SetUri(url)
// 设置参数
client.SetParams(params)
// 发起请求 // 发起请求
request, err := client.Get() request, err := client.Get(ctx)
if err != nil { if err != nil {
return gorequest.Response{}, err return gorequest.Response{}, err
} }
// 日志 // 日志
if c.config.PgsqlDb != nil { if c.log.status {
go c.log.GormMiddleware(request) go c.log.client.Middleware(ctx, request, go_library.Version())
}
if c.config.MongoDb != nil {
go c.log.MongoMiddleware(request)
} }
return request, err return request, err

@ -0,0 +1,25 @@
package sendcloud
import (
"context"
"github.com/baidubce/bce-sdk-go/http"
"github.com/dtapps/go-library/utils/gorequest"
)
func (c *Client) Get(ctx context.Context, _method string, notMustParams ...gorequest.Params) ([]byte, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+_method, params, http.GET)
// 定义
return request.ResponseBody, err
}
func (c *Client) Post(ctx context.Context, _method string, notMustParams ...gorequest.Params) ([]byte, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+_method, params, http.POST)
// 定义
return request.ResponseBody, err
}

@ -1,6 +1,7 @@
package sendcloud package sendcloud
import ( import (
"context"
"github.com/dtapps/go-library/utils/gojson" "github.com/dtapps/go-library/utils/gojson"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"net/http" "net/http"
@ -53,14 +54,14 @@ func newApiV2UserinfoGetResult(result ApiV2UserinfoGetResponse, body []byte, htt
// ApiV2UserinfoGet 获取单个订单信息。 // ApiV2UserinfoGet 获取单个订单信息。
// 仅能获取自己购买的订单。 // 仅能获取自己购买的订单。
// http://doc.cqmeihu.cn/sales/ApiV2UserinfoGet-info.html // http://doc.cqmeihu.cn/sales/ApiV2UserinfoGet-info.html
func (c *Client) ApiV2UserinfoGet() *ApiV2UserinfoGetResult { func (c *Client) ApiV2UserinfoGet(ctx context.Context) *ApiV2UserinfoGetResult {
// 参数 // 参数
param := gorequest.NewParams() param := gorequest.NewParams()
param.Set("apiUser", c.GetApiUser()) param.Set("apiUser", c.GetApiUser())
param.Set("apiKey", c.GetApiKey()) param.Set("apiKey", c.GetApiKey())
params := gorequest.NewParamsWith(param) params := gorequest.NewParamsWith(param)
// 请求 // 请求
request, err := c.request(apiUrl+"/apiv2/userinfo/get", params, http.MethodGet) request, err := c.request(ctx, apiUrl+"/apiv2/userinfo/get", params, http.MethodGet)
// 定义 // 定义
var response ApiV2UserinfoGetResponse var response ApiV2UserinfoGetResponse
err = gojson.Unmarshal(request.ResponseBody, &response) err = gojson.Unmarshal(request.ResponseBody, &response)

@ -1,52 +1,35 @@
package sendcloud package sendcloud
import ( import (
"github.com/dtapps/go-library/utils/dorm"
"github.com/dtapps/go-library/utils/golog" "github.com/dtapps/go-library/utils/golog"
"github.com/dtapps/go-library/utils/gorequest" "github.com/dtapps/go-library/utils/gorequest"
"gorm.io/gorm"
) )
type ConfigClient struct { type ConfigClient struct {
ApiUser string // API_USER ApiUser string // API_USER
ApiKey string // API_KEY ApiKey string // API_KEY
MongoDb *dorm.MongoClient // 日志数据库
PgsqlDb *gorm.DB // 日志数据库
DatabaseName string // 库名
} }
type Client struct { type Client struct {
client *gorequest.App // 请求客户端 client *gorequest.App // 请求服务
log *golog.ApiClient // 日志服务 config struct {
config *ConfigClient // 配置 apiUser string // API_USER
apiKey string // API_KEY
}
log struct {
status bool // 状态
client *golog.ApiClient // 日志服务
}
} }
func NewClient(config *ConfigClient) (*Client, error) { func NewClient(config *ConfigClient) (*Client, error) {
var err error c := &Client{}
c := &Client{config: config}
c.client = gorequest.NewHttp() c.config.apiUser = config.ApiUser
c.config.apiKey = config.ApiKey
if c.config.PgsqlDb != nil { c.client = gorequest.NewHttp()
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 err != nil {
return nil, err
}
}
return c, nil return c, nil
} }

@ -0,0 +1,12 @@
package sendcloud
import "github.com/dtapps/go-library/utils/golog"
// ConfigApiClientFun 日志配置
func (c *Client) ConfigApiClientFun(apiClientFun golog.ApiClientFun) {
apiClient := apiClientFun()
if apiClient != nil {
c.log.client = apiClient
c.log.status = true
}
}

@ -1,8 +1,12 @@
package sendcloud package sendcloud
import "github.com/dtapps/go-library/utils/gorequest" import (
"context"
go_library "github.com/dtapps/go-library"
"github.com/dtapps/go-library/utils/gorequest"
)
func (c *Client) request(url string, params map[string]interface{}, method string) (gorequest.Response, error) { func (c *Client) request(ctx context.Context, url string, params map[string]interface{}, method string) (gorequest.Response, error) {
// 公共参数 // 公共参数
//params["userid"] = c.userId //params["userid"] = c.userId
//params["pwd"] = c.pwd //params["pwd"] = c.pwd
@ -25,17 +29,14 @@ func (c *Client) request(url string, params map[string]interface{}, method strin
client.SetParams(params) client.SetParams(params)
// 发起请求 // 发起请求
request, err := client.Request() request, err := client.Request(ctx)
if err != nil { if err != nil {
return gorequest.Response{}, err return gorequest.Response{}, err
} }
// 日志 // 日志
if c.config.PgsqlDb != nil { if c.log.status {
go c.log.GormMiddleware(request) go c.log.client.Middleware(ctx, request, go_library.Version())
}
if c.config.MongoDb != nil {
go c.log.MongoMiddleware(request)
} }
return request, err return request, err

Loading…
Cancel
Save