get.go 1.24 KB
package confroomrank

import (
	"apigame/configs/confbase"
	"apigame/util/util-lx/lxalilog"
	"apigame/util/util-lx/lxtime"
)

// GetCurrent 获取 当前配置
func GetCurrent(gameId string, topType int) (conf *ActivityConfig, has bool) {
	conf = new(ActivityConfig)
	conf.Typ = topType
	has = confbase.GetCurrent[*ActivityConfig, ActivityConfigRaw](gameId, conf)
	if !has {
		conf = new(ActivityConfig)
		conf.Typ = topType
		has = confbase.FindCurrent[*ActivityConfig, ActivityConfigRaw](gameId, conf)
	}
	return
}

// GetConfig 获取 配置根据Id
func GetConfig(gameId string, confId int64) (conf *ActivityConfig, has bool) {
	conf = new(ActivityConfig)
	has = confbase.GetConfig[*ActivityConfig, ActivityConfigRaw](gameId, confId, conf)

	return
}

// GetCurrentConfigs 获取当前配置列表
func GetCurrentConfigs(gameId string) []*ActivityConfigRaw {
	obj := new(ActivityConfig)
	info := obj.ConfInfo(gameId)
	db := info.DbMysql
	timeNow := lxtime.NowUninx()
	objs := make([]*ActivityConfigRaw, 0)
	result := db.Table(info.TableName).Where(
		"status = ? AND start_time <= ? AND end_time >= ?",
		1, timeNow, timeNow).Find(&objs)
	if result.Error != nil {
		lxalilog.Errors(result.Error, "confroomrank.GetCurrentConfigs error", gameId)
	}
	return objs
}