-
Notifications
You must be signed in to change notification settings - Fork 9
/
CainiaoWaybillIiSearchAPIRequest.go
78 lines (65 loc) · 2.16 KB
/
CainiaoWaybillIiSearchAPIRequest.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package waybill
import (
"net/url"
"sync"
"github.com/bububa/opentaobao/model"
)
// CainiaoWaybillIiSearchAPIRequest 查询面单服务订购及面单使用情况 API请求
// cainiao.waybill.ii.search
//
// 获取发货地&CP开通状态&账户的使用情况
type CainiaoWaybillIiSearchAPIRequest struct {
model.Params
// 物流公司code
_cpCode string
}
// NewCainiaoWaybillIiSearchRequest 初始化CainiaoWaybillIiSearchAPIRequest对象
func NewCainiaoWaybillIiSearchRequest() *CainiaoWaybillIiSearchAPIRequest {
return &CainiaoWaybillIiSearchAPIRequest{
Params: model.NewParams(1),
}
}
// Reset IRequest interface 方法, 清空结构体
func (r *CainiaoWaybillIiSearchAPIRequest) Reset() {
r._cpCode = ""
r.Params.ToZero()
}
// GetApiMethodName IRequest interface 方法, 获取Api method
func (r CainiaoWaybillIiSearchAPIRequest) GetApiMethodName() string {
return "cainiao.waybill.ii.search"
}
// GetApiParams IRequest interface 方法, 获取API参数
func (r CainiaoWaybillIiSearchAPIRequest) GetApiParams(params url.Values) {
for k, v := range r.Params {
params.Set(k, v.String())
}
}
// GetRawParams IRequest interface 方法, 获取API原始参数
func (r CainiaoWaybillIiSearchAPIRequest) GetRawParams() model.Params {
return r.Params
}
// SetCpCode is CpCode Setter
// 物流公司code
func (r *CainiaoWaybillIiSearchAPIRequest) SetCpCode(_cpCode string) error {
r._cpCode = _cpCode
r.Set("cp_code", _cpCode)
return nil
}
// GetCpCode CpCode Getter
func (r CainiaoWaybillIiSearchAPIRequest) GetCpCode() string {
return r._cpCode
}
var poolCainiaoWaybillIiSearchAPIRequest = sync.Pool{
New: func() any {
return NewCainiaoWaybillIiSearchRequest()
},
}
// GetCainiaoWaybillIiSearchRequest 从 sync.Pool 获取 CainiaoWaybillIiSearchAPIRequest
func GetCainiaoWaybillIiSearchAPIRequest() *CainiaoWaybillIiSearchAPIRequest {
return poolCainiaoWaybillIiSearchAPIRequest.Get().(*CainiaoWaybillIiSearchAPIRequest)
}
// ReleaseCainiaoWaybillIiSearchAPIRequest 将 CainiaoWaybillIiSearchAPIRequest 放入 sync.Pool
func ReleaseCainiaoWaybillIiSearchAPIRequest(v *CainiaoWaybillIiSearchAPIRequest) {
v.Reset()
poolCainiaoWaybillIiSearchAPIRequest.Put(v)
}