package managecenterModel import "goutil/stringUtil" // 大区对象 type Area struct { // 大区Id AreaId int32 `json:"AreaId"` //大区名字 AreaName string `json:"AreaName"` //客户端显示名字 ClientName string `json:"ClientName"` //区服范围 ServerRange string `json:"ServerRange"` //资源包下载地址 ResourceURL string `json:"ResourceURL"` //推荐服开关:0关闭,1:打开 RecommendStitch int32 `json:"RecommendStitch"` //推荐最大注册人数 MaxRegistration int32 `json:"MaxRegistration"` //限制注册的开关 RegRestrictionSwitch int32 `json:"RegRestrictionSwitch"` //玩家数量大于该数量,自动开服 AutoOpenServerPlayers int32 `json:"AutoOpenServerPlayers"` //大区维护状态(1:正常;2:维护) AreaMaintainStatus int32 `json:"AreaMaintainStatus"` //维护消息 AreaMaintainMsg string `json:"AreaMaintainMsg"` //大区页签集合 AreaLabelList []*AreaLabel `json:"AreaLabelList"` } // //检测服务器是否在大区的区间范围 func (this *Area) CheckServerIdIsInRange(serverId int32) (isVaild bool) { isVaild = false for _, serverRangeItem := range stringUtil.Split(this.ServerRange, []string{","}) { serverRange, _ := stringUtil.SplitToInt32Slice(serverRangeItem, "-") lower := serverRange[0] upper := serverRange[1] //如果范围大小顺序不对,则换位 if lower > upper { temp := lower lower = upper upper = temp } //如果服务器在该大区的任意区服区间,则返回true if serverId >= lower && serverId <= upper { isVaild = true return } } return }