-
Notifications
You must be signed in to change notification settings - Fork 11
/
CommonItemDetail.go
40 lines (35 loc) · 1.25 KB
/
CommonItemDetail.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
package promotion
import (
"sync"
)
// CommonItemDetail 结构体
type CommonItemDetail struct {
// 优惠活动ID
ActivityId int64 `json:"activity_id,omitempty" xml:"activity_id,omitempty"`
// 优惠详情ID
DetailId int64 `json:"detail_id,omitempty" xml:"detail_id,omitempty"`
// 商品ID
ItemId int64 `json:"item_id,omitempty" xml:"item_id,omitempty"`
// 优惠类型,只有两种可选值:0-减钱;1-打折
PromotionType int64 `json:"promotion_type,omitempty" xml:"promotion_type,omitempty"`
// 优惠力度,其值的解释方式由promotion_type定义:当为减钱时解释成减钱数量,如:900表示减9元;当为打折时解释成打折折扣,如:900表示打9折
PromotionValue int64 `json:"promotion_value,omitempty" xml:"promotion_value,omitempty"`
}
var poolCommonItemDetail = sync.Pool{
New: func() any {
return new(CommonItemDetail)
},
}
// GetCommonItemDetail() 从对象池中获取CommonItemDetail
func GetCommonItemDetail() *CommonItemDetail {
return poolCommonItemDetail.Get().(*CommonItemDetail)
}
// ReleaseCommonItemDetail 释放CommonItemDetail
func ReleaseCommonItemDetail(v *CommonItemDetail) {
v.ActivityId = 0
v.DetailId = 0
v.ItemId = 0
v.PromotionType = 0
v.PromotionValue = 0
poolCommonItemDetail.Put(v)
}