feat-api.go 1006 Bytes
package configs

import (
	"apigame/common/svconst"
	"apigame/common/svdto"
	"apigame/common/svredis"
	"apigame/util/utdto"
	"fmt"
)

// ApiGameConfig api游戏配置
type ApiGameConfig struct {
	AppId  string `gorm:"column:appid"`
	GameId string `gorm:"column:gameid"`
	Secret string `gorm:"column:secret"`
	AppKey string `gorm:"column:appkey"`
	Name   string `gorm:"column:name"`
}

func (c *ApiGameConfig) TableName() string { return utdto.MYSQL_TABLE_TEMPLATE }

func (c *ApiGameConfig) GetRule(gameId string) *svdto.DtoRule {
	tableName := "s_game_config"
	return &svdto.DtoRule{
		DbMysql:   svconst.DbApi.Where("gameid = ?", gameId),
		TableName: tableName,
		CacheKey:  fmt.Sprintf("%s:%s:%s", svdto.REDIS_CACHEP_REFIX, tableName, gameId),
		CacheTime: 300,
	}
}

func (c *ApiGameConfig) RedisInfo(gameId string) *svredis.RedisInfo {
	tableName := "s_game_config"
	return &svredis.RedisInfo{
		CacheKey:  fmt.Sprintf("%s:%s:%s", svdto.REDIS_CACHEP_REFIX, tableName, gameId),
		CacheTime: 300,
	}
}