-
Notifications
You must be signed in to change notification settings - Fork 9
/
CombineLogisticsDetail.go
37 lines (32 loc) · 1.13 KB
/
CombineLogisticsDetail.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
package tbtrade
import (
"sync"
)
// CombineLogisticsDetail 结构体
type CombineLogisticsDetail struct {
// 包裹详情(仅支持成分品)
SendGoodsDetails []SendGoodsDetail `json:"send_goods_details,omitempty" xml:"send_goods_details>send_goods_detail,omitempty"`
// 运单号
InvoiceNo string `json:"invoice_no,omitempty" xml:"invoice_no,omitempty"`
// 物流公司
LogisticsCompany string `json:"logistics_company,omitempty" xml:"logistics_company,omitempty"`
// 子订单id
SubOrderId string `json:"sub_order_id,omitempty" xml:"sub_order_id,omitempty"`
}
var poolCombineLogisticsDetail = sync.Pool{
New: func() any {
return new(CombineLogisticsDetail)
},
}
// GetCombineLogisticsDetail() 从对象池中获取CombineLogisticsDetail
func GetCombineLogisticsDetail() *CombineLogisticsDetail {
return poolCombineLogisticsDetail.Get().(*CombineLogisticsDetail)
}
// ReleaseCombineLogisticsDetail 释放CombineLogisticsDetail
func ReleaseCombineLogisticsDetail(v *CombineLogisticsDetail) {
v.SendGoodsDetails = v.SendGoodsDetails[:0]
v.InvoiceNo = ""
v.LogisticsCompany = ""
v.SubOrderId = ""
poolCombineLogisticsDetail.Put(v)
}