Files
2026-05-20 16:13:58 +08:00

83 lines
2.0 KiB
Go

package statg
type Endpoint struct {
AppId int32 `json:"appId"` // APPID
NameFull string `json:"nameFull"` // APP全名
NameShort string `json:"nameShort"` // APP短名
NameEn string `json:"nameEn"` // 名字英文缩写
ServerUrl string `json:"serverUrl"` // APP服务器地址
H5Origin string `json:"h5Origin"` // H5原地址
H5Target string `json:"h5Target"` // H5目标地址
H5Config string `json:"h5Config"` // H5配置文件
BotStat bool `json:"hourStat"` // 参与机器人统计
BotRank bool `json:"hourReport"` // 参与机器人排名
OwnerIndex ServerIndex `json:"ownerIndex"` // 所属服务器编号
}
type Endpoints []*Endpoint
type IndexEndpoints map[ServerIndex]Endpoints
type AppIdEndpoints map[int32]*Endpoint
func (s Endpoints) GetIndexEndpoints(index ServerIndex) Endpoints {
ret := make(Endpoints, 0)
for _, endpoint := range s {
if endpoint.OwnerIndex == index {
ret = append(ret, endpoint)
}
}
return ret
}
func (s Endpoints) GetBotStatEndpoints() Endpoints {
ret := make(Endpoints, 0)
for _, endpoint := range s {
if endpoint.BotStat {
ret = append(ret, endpoint)
}
}
return ret
}
func (s Endpoints) GetBotRankEndpoints() Endpoints {
ret := make(Endpoints, 0)
for _, endpoint := range s {
if endpoint.BotRank {
ret = append(ret, endpoint)
}
}
return ret
}
func (s Endpoints) ExistsByAppId(appId int32) bool {
for _, endpoint := range s {
if endpoint.AppId == appId {
return true
}
}
return false
}
func (s Endpoints) GetEndpointByAppId(appId int32) *Endpoint {
for _, endpoint := range s {
if endpoint.AppId == appId {
return endpoint
}
}
return nil
}
func (s Endpoints) GetAppShortNameById(appId int32) string {
for _, endpoint := range s {
if endpoint.AppId == appId {
return endpoint.NameShort
}
}
return ""
}
var (
GlobalEndpoints = make(Endpoints, 0)
GlobalIndexEndpoints = make(IndexEndpoints)
GlobalAppIdEndpoints = make(AppIdEndpoints)
)