-
Notifications
You must be signed in to change notification settings - Fork 9
/
RealTimeData.go
52 lines (47 loc) · 1.78 KB
/
RealTimeData.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
package auction
import (
"sync"
)
// RealTimeData 结构体
type RealTimeData struct {
// 在线标的件数
AuctionOnlineNumber int64 `json:"auction_online_number,omitempty" xml:"auction_online_number,omitempty"`
// 用户出价次数
UserBidNumber int64 `json:"user_bid_number,omitempty" xml:"user_bid_number,omitempty"`
// 开拍标的件数
AuctionStartNumber int64 `json:"auction_start_number,omitempty" xml:"auction_start_number,omitempty"`
// 发布标的件数
AuctionPublishCount int64 `json:"auction_publish_count,omitempty" xml:"auction_publish_count,omitempty"`
// 报名人数
UserApplyNumber int64 `json:"user_apply_number,omitempty" xml:"user_apply_number,omitempty"`
// 意向用户数,包含订阅和报名次数,会累加历史数据
UserIntentionNumber int64 `json:"user_intention_number,omitempty" xml:"user_intention_number,omitempty"`
// 今天预计成交金额
TodayPredictGmv int64 `json:"today_predict_gmv,omitempty" xml:"today_predict_gmv,omitempty"`
// 用户围观次数,会累加历史数据
UserViewNumber int64 `json:"user_view_number,omitempty" xml:"user_view_number,omitempty"`
// 结束标的件数
AuctionEndNumber int64 `json:"auction_end_number,omitempty" xml:"auction_end_number,omitempty"`
}
var poolRealTimeData = sync.Pool{
New: func() any {
return new(RealTimeData)
},
}
// GetRealTimeData() 从对象池中获取RealTimeData
func GetRealTimeData() *RealTimeData {
return poolRealTimeData.Get().(*RealTimeData)
}
// ReleaseRealTimeData 释放RealTimeData
func ReleaseRealTimeData(v *RealTimeData) {
v.AuctionOnlineNumber = 0
v.UserBidNumber = 0
v.AuctionStartNumber = 0
v.AuctionPublishCount = 0
v.UserApplyNumber = 0
v.UserIntentionNumber = 0
v.TodayPredictGmv = 0
v.UserViewNumber = 0
v.AuctionEndNumber = 0
poolRealTimeData.Put(v)
}