Apply .gitignore rules
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
package sqlAsyncMgr
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
)
|
||||
|
||||
// SqlAsyncIdentityStatistics sql标识统计类
|
||||
type SqlAsyncIdentityStatistics struct {
|
||||
// 锁对象
|
||||
m sync.Mutex
|
||||
|
||||
// 当前正在同步的sql数量
|
||||
syncCount int32
|
||||
|
||||
// 待同步的统计
|
||||
statisticData map[string]*StatisticModel
|
||||
}
|
||||
|
||||
// newSqlAsyncIdentityStatistics 创建新StatisticModel对象
|
||||
func newSqlAsyncIdentityStatistics() *SqlAsyncIdentityStatistics {
|
||||
return &SqlAsyncIdentityStatistics{
|
||||
statisticData: make(map[string]*StatisticModel),
|
||||
}
|
||||
}
|
||||
|
||||
// getItem 获取指定统计对象
|
||||
func (this *SqlAsyncIdentityStatistics) getItem(_identityId string, isCreate bool) *StatisticModel {
|
||||
this.m.Lock()
|
||||
defer this.m.Unlock()
|
||||
|
||||
if item, exists := this.statisticData[_identityId]; exists {
|
||||
return item
|
||||
}
|
||||
|
||||
if isCreate == false {
|
||||
return nil
|
||||
}
|
||||
|
||||
newItem := newStatisticModel(_identityId)
|
||||
this.statisticData[_identityId] = newItem
|
||||
|
||||
return newItem
|
||||
}
|
||||
|
||||
// AddCount 指定标识添加数量
|
||||
func (this *SqlAsyncIdentityStatistics) AddCount(_identityId string, count int32) {
|
||||
model := this.getItem(_identityId, true)
|
||||
model.AddCount(count)
|
||||
|
||||
// 原子操作相加
|
||||
atomic.AddInt32(&this.syncCount, count)
|
||||
}
|
||||
|
||||
// Reduce 指定标识减少数量
|
||||
func (this *SqlAsyncIdentityStatistics) Reduce(_identityId string, count int32) {
|
||||
if model := this.getItem(_identityId, false); model != nil {
|
||||
model.ReduceCount(count)
|
||||
}
|
||||
|
||||
// 原子操作相减
|
||||
atomic.AddInt32(&this.syncCount, -count)
|
||||
}
|
||||
|
||||
// GetCount 获取指定标识的数量
|
||||
func (this *SqlAsyncIdentityStatistics) GetCount(_identityId string) int32 {
|
||||
if model := this.getItem(_identityId, false); model != nil {
|
||||
return model.Count
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
// GetAllCount 获取总的待写入数据
|
||||
func (this *SqlAsyncIdentityStatistics) GetAllCount() int32 {
|
||||
return this.syncCount
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package managecenterModel
|
||||
|
||||
// 服务器组热度
|
||||
type GroupHeat int32
|
||||
|
||||
const (
|
||||
// 正常
|
||||
Con_GroupHeat_Normal GroupHeat = 1
|
||||
|
||||
// 新服
|
||||
Con_GroupHeat_New GroupHeat = 2
|
||||
|
||||
// 推荐
|
||||
Con_GroupHeat_Recommend GroupHeat = 3
|
||||
|
||||
// 热门
|
||||
Con_GroupHeat_Heat GroupHeat = 4
|
||||
)
|
||||
Reference in New Issue
Block a user