-
Notifications
You must be signed in to change notification settings - Fork 9
/
CainiaoWaybillIiDeliveryAPIRequest.go
110 lines (93 loc) · 3.12 KB
/
CainiaoWaybillIiDeliveryAPIRequest.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package waybill
import (
"net/url"
"sync"
"github.com/bububa/opentaobao/model"
)
// CainiaoWaybillIiDeliveryAPIRequest 派件通知接口 API请求
// cainiao.waybill.ii.delivery
//
// 极效前置场景下的使用此接口,通知进行派件
type CainiaoWaybillIiDeliveryAPIRequest struct {
model.Params
// 物流供应商编码
_cpCode string
// 面单号
_waybillCode string
// 派送类型,1:通知派送; -1: 通知退回
_deliveryAction int64
}
// NewCainiaoWaybillIiDeliveryRequest 初始化CainiaoWaybillIiDeliveryAPIRequest对象
func NewCainiaoWaybillIiDeliveryRequest() *CainiaoWaybillIiDeliveryAPIRequest {
return &CainiaoWaybillIiDeliveryAPIRequest{
Params: model.NewParams(3),
}
}
// Reset IRequest interface 方法, 清空结构体
func (r *CainiaoWaybillIiDeliveryAPIRequest) Reset() {
r._cpCode = ""
r._waybillCode = ""
r._deliveryAction = 0
r.Params.ToZero()
}
// GetApiMethodName IRequest interface 方法, 获取Api method
func (r CainiaoWaybillIiDeliveryAPIRequest) GetApiMethodName() string {
return "cainiao.waybill.ii.delivery"
}
// GetApiParams IRequest interface 方法, 获取API参数
func (r CainiaoWaybillIiDeliveryAPIRequest) GetApiParams(params url.Values) {
for k, v := range r.Params {
params.Set(k, v.String())
}
}
// GetRawParams IRequest interface 方法, 获取API原始参数
func (r CainiaoWaybillIiDeliveryAPIRequest) GetRawParams() model.Params {
return r.Params
}
// SetCpCode is CpCode Setter
// 物流供应商编码
func (r *CainiaoWaybillIiDeliveryAPIRequest) SetCpCode(_cpCode string) error {
r._cpCode = _cpCode
r.Set("cp_code", _cpCode)
return nil
}
// GetCpCode CpCode Getter
func (r CainiaoWaybillIiDeliveryAPIRequest) GetCpCode() string {
return r._cpCode
}
// SetWaybillCode is WaybillCode Setter
// 面单号
func (r *CainiaoWaybillIiDeliveryAPIRequest) SetWaybillCode(_waybillCode string) error {
r._waybillCode = _waybillCode
r.Set("waybill_code", _waybillCode)
return nil
}
// GetWaybillCode WaybillCode Getter
func (r CainiaoWaybillIiDeliveryAPIRequest) GetWaybillCode() string {
return r._waybillCode
}
// SetDeliveryAction is DeliveryAction Setter
// 派送类型,1:通知派送; -1: 通知退回
func (r *CainiaoWaybillIiDeliveryAPIRequest) SetDeliveryAction(_deliveryAction int64) error {
r._deliveryAction = _deliveryAction
r.Set("delivery_action", _deliveryAction)
return nil
}
// GetDeliveryAction DeliveryAction Getter
func (r CainiaoWaybillIiDeliveryAPIRequest) GetDeliveryAction() int64 {
return r._deliveryAction
}
var poolCainiaoWaybillIiDeliveryAPIRequest = sync.Pool{
New: func() any {
return NewCainiaoWaybillIiDeliveryRequest()
},
}
// GetCainiaoWaybillIiDeliveryRequest 从 sync.Pool 获取 CainiaoWaybillIiDeliveryAPIRequest
func GetCainiaoWaybillIiDeliveryAPIRequest() *CainiaoWaybillIiDeliveryAPIRequest {
return poolCainiaoWaybillIiDeliveryAPIRequest.Get().(*CainiaoWaybillIiDeliveryAPIRequest)
}
// ReleaseCainiaoWaybillIiDeliveryAPIRequest 将 CainiaoWaybillIiDeliveryAPIRequest 放入 sync.Pool
func ReleaseCainiaoWaybillIiDeliveryAPIRequest(v *CainiaoWaybillIiDeliveryAPIRequest) {
v.Reset()
poolCainiaoWaybillIiDeliveryAPIRequest.Put(v)
}