handle.go 1.29 KB
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

	// 尝试更新配置
	config, hasConfig := confroomrank.GetCurrent(gameId)
	if !hasConfig {
		code = code_msg.RECODE_MERGE_ROOMRANK_NOTOPEN_ERROR
		return
	}

	// todo 检查是否在结算中
	//// 判断预告时间
	//sec := lxtime.NowUninx()
	//if sec < config.StartTime {
	//	code = code_msg.RECODE_MERGE_CARDHOLDER_NOTOPEN_ERROR
	//	return
	//}

	// 读取游戏数据
	player := LoadPlayer(gameId, playerUid)

	// todo 检查是否有领取的结算奖励

	//hasRoom := player.RoomUid != 0
	//if hasRoom {
	//	room, has := LoadRoom(gameId, player.RoomUid,)
	//}

	rsp.RoomRankInfo = GetInfo(player, config)

	return
}