-
Notifications
You must be signed in to change notification settings - Fork 9
/
FulfillOrder.go
85 lines (80 loc) · 3.02 KB
/
FulfillOrder.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
package wdk
import (
"sync"
)
// FulfillOrder 结构体
type FulfillOrder struct {
// 子订单信息列表
SkuInfoList []SkuInfo `json:"sku_info_list,omitempty" xml:"sku_info_list>sku_info,omitempty"`
// 履约单号
FulfillOrderId string `json:"fulfill_order_id,omitempty" xml:"fulfill_order_id,omitempty"`
// 扩展属性
Attributes string `json:"attributes,omitempty" xml:"attributes,omitempty"`
// 收货人姓名
BuyerName string `json:"buyer_name,omitempty" xml:"buyer_name,omitempty"`
// 收货人电话
BuyerPhone string `json:"buyer_phone,omitempty" xml:"buyer_phone,omitempty"`
// 收货人地址
BuyerAddress string `json:"buyer_address,omitempty" xml:"buyer_address,omitempty"`
// 订单总金额
TotalOrderAmount string `json:"total_order_amount,omitempty" xml:"total_order_amount,omitempty"`
// 订单优惠金额
DiscountAmount string `json:"discount_amount,omitempty" xml:"discount_amount,omitempty"`
// 订单应付金额
PayOrderAmount string `json:"pay_order_amount,omitempty" xml:"pay_order_amount,omitempty"`
// 实付金额
PaidAmount string `json:"paid_amount,omitempty" xml:"paid_amount,omitempty"`
// 主订单差额退款金额
RefundAmount string `json:"refund_amount,omitempty" xml:"refund_amount,omitempty"`
// 运费
CarriageAmount string `json:"carriage_amount,omitempty" xml:"carriage_amount,omitempty"`
// 取消金额
CancelAmount string `json:"cancel_amount,omitempty" xml:"cancel_amount,omitempty"`
// 缺货金额
OutOfStockAmount string `json:"out_of_stock_amount,omitempty" xml:"out_of_stock_amount,omitempty"`
// 盒马交易单号
BizOrderId string `json:"biz_order_id,omitempty" xml:"biz_order_id,omitempty"`
// 外部交易单号
SourceOrderId string `json:"source_order_id,omitempty" xml:"source_order_id,omitempty"`
// 业务场景
ScenarioGroup string `json:"scenario_group,omitempty" xml:"scenario_group,omitempty"`
// 订单标识,取值举例:早波次001、早波次002、早波次003
OrderTag string `json:"order_tag,omitempty" xml:"order_tag,omitempty"`
// 温层标识,取值:常温、冷藏、冷冻
StorageMode string `json:"storage_mode,omitempty" xml:"storage_mode,omitempty"`
// 多供给标识,取值:多1、多2、多3
NewSupply string `json:"new_supply,omitempty" xml:"new_supply,omitempty"`
}
var poolFulfillOrder = sync.Pool{
New: func() any {
return new(FulfillOrder)
},
}
// GetFulfillOrder() 从对象池中获取FulfillOrder
func GetFulfillOrder() *FulfillOrder {
return poolFulfillOrder.Get().(*FulfillOrder)
}
// ReleaseFulfillOrder 释放FulfillOrder
func ReleaseFulfillOrder(v *FulfillOrder) {
v.SkuInfoList = v.SkuInfoList[:0]
v.FulfillOrderId = ""
v.Attributes = ""
v.BuyerName = ""
v.BuyerPhone = ""
v.BuyerAddress = ""
v.TotalOrderAmount = ""
v.DiscountAmount = ""
v.PayOrderAmount = ""
v.PaidAmount = ""
v.RefundAmount = ""
v.CarriageAmount = ""
v.CancelAmount = ""
v.OutOfStockAmount = ""
v.BizOrderId = ""
v.SourceOrderId = ""
v.ScenarioGroup = ""
v.OrderTag = ""
v.StorageMode = ""
v.NewSupply = ""
poolFulfillOrder.Put(v)
}