-
Notifications
You must be signed in to change notification settings - Fork 9
/
CollectTrackingInfo.go
58 lines (53 loc) · 1.86 KB
/
CollectTrackingInfo.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
package cainiaolocker
import (
"sync"
)
// CollectTrackingInfo 结构体
type CollectTrackingInfo struct {
// 站点id
StationId string `json:"station_id,omitempty" xml:"station_id,omitempty"`
// 订单对应的取件人电话
GetterPhone string `json:"getter_phone,omitempty" xml:"getter_phone,omitempty"`
// 订单对应的投件人电话
PostPhone string `json:"post_phone,omitempty" xml:"post_phone,omitempty"`
// 扩展数据(JSON格式的键值对),如果是取件码取件,请返回取件使用的取件码
Extra string `json:"extra,omitempty" xml:"extra,omitempty"`
// 站点编码
StationNo string `json:"station_no,omitempty" xml:"station_no,omitempty"`
// 运单号
MailNo string `json:"mail_no,omitempty" xml:"mail_no,omitempty"`
// 动作编码
ActionCode string `json:"action_code,omitempty" xml:"action_code,omitempty"`
// 站点订单编码
OrderCode string `json:"order_code,omitempty" xml:"order_code,omitempty"`
// 快递公司编号
CpCode string `json:"cp_code,omitempty" xml:"cp_code,omitempty"`
// 订单类型(0-代收业务)
OrderType int64 `json:"order_type,omitempty" xml:"order_type,omitempty"`
// 动作发生时间戳,单位:毫秒
ActionTime int64 `json:"action_time,omitempty" xml:"action_time,omitempty"`
}
var poolCollectTrackingInfo = sync.Pool{
New: func() any {
return new(CollectTrackingInfo)
},
}
// GetCollectTrackingInfo() 从对象池中获取CollectTrackingInfo
func GetCollectTrackingInfo() *CollectTrackingInfo {
return poolCollectTrackingInfo.Get().(*CollectTrackingInfo)
}
// ReleaseCollectTrackingInfo 释放CollectTrackingInfo
func ReleaseCollectTrackingInfo(v *CollectTrackingInfo) {
v.StationId = ""
v.GetterPhone = ""
v.PostPhone = ""
v.Extra = ""
v.StationNo = ""
v.MailNo = ""
v.ActionCode = ""
v.OrderCode = ""
v.CpCode = ""
v.OrderType = 0
v.ActionTime = 0
poolCollectTrackingInfo.Put(v)
}