package roomrank import ( "apigame/configs/confroomrank" "apigame/models" "apigame/service/code-msg" ) // HandleGetConfig 活动配置 func HandleGetConfig(req *models.ReqRoomRankGetConfig) (code string, rsp models.RspRoomRankGetConfig) { rsp = models.RspRoomRankGetConfig{} code = code_msg.RECODE_OK gameId := req.GameID // 尝试更新配置 config, _ := confroomrank.GetCurrent(gameId) rsp.ActivityId = config.Id rsp.Config = config.Client return } // HandleInfo 房间排行信息 func HandleInfo(req *models.ReqRoomRankInfo) (code string, rsp models.RspRoomRankInfo) { rsp = models.RspRoomRankInfo{} code = code_msg.RECODE_OK gameId := req.GameID playerUid := req.UID playerLevel := req.PlayerLevel // 尝试更新配置 config, hasConfig := confroomrank.GetCurrent(gameId) if !hasConfig { config = new(confroomrank.ActivityConfig) } // 读取游戏数据 player := LoadPlayer(gameId, playerUid) // 尝试判断结算 hasSettle := TrySettle(gameId, player, config) // 尝试加入房间 room, hasRoom := TryGetRoom(gameId, player, config, playerLevel) if hasSettle || hasRoom { SavePlayer(gameId, player) } if hasRoom { SaveRoom(gameId, room) } rsp.RoomRankInfo = GetInfo(player, config) return }