tkcashgame_v4/app/eonline/internal/config/config.go

115 lines
2.3 KiB
Go
Raw Normal View History

2025-10-22 10:01:11 +00:00
package config
import (
"fmt"
"io/ioutil"
"strconv"
"strings"
"sandc/app/eonline/internal/config/bright/serialization"
Config "sandc/app/eonline/internal/config/config"
"github.com/go-kratos/kratos/v2/log"
)
var (
// 处理的特别数据
PublicCheckNum uint32 // 最大验证数量,超过这个数量,新的用户将不再出现信息验证入口
PublicCheckCoin int32 // 提交身份审核,提现奖励的钱/美分
PublicVersionMin uint32
// 读表
g_tables *Config.Tables // bin读表数据
g_path *string
)
func ConfigInit(path, env, ver_check *string) {
log.Info("读取cvs配置文件开始")
g_path = path
loadConfig(ver_check)
checkConfig(env)
log.Info("读取cvs配置文件结束")
}
func loadConfig(ver_check *string) {
readBin(ver_check)
}
func loader(file string) (*serialization.ByteBuf, error) {
if bytes, err := ioutil.ReadFile(*g_path + file + ".bytes"); err != nil {
return nil, err
} else {
return serialization.WrapByteBuf(bytes), nil
}
}
func readBin(ver_check *string) {
var err error
g_tables, err = Config.NewTables(loader)
if err != nil {
log.Fatal("readBin error: %s", err.Error())
} else {
log.Info("readBin success")
}
log.Debugf("%+v", g_tables.Tbglobal.Get(100000))
// 处理的特别数据
PublicCheckNum = 5000
PublicCheckCoin = 500
PublicVersionMin = Version2int(ver_check)
}
// 检查配置
func checkConfig(env *string) {
if *env != "qa" {
return
}
{
var item *Config.ConfiguserState
lst := g_tables.TbuserState.GetDataList()
for i := 0; i < len(lst); i++ {
item = lst[i]
if item.State < 0 || item.State > 1 {
log.Infof("checkConfig error: userState table id[%d] State[%d] < 0 || > 1", item.Id, item.State)
}
}
}
log.Info("checkConfig结束")
}
// 将二段、三段式版本号字符串如“1.0”、“1.0.1”转换成6位数字
func Version2int(ver *string) uint32 {
strs := strings.Split(*ver, ".")
var err error
var b, idx int
var result, str string
for idx, str = range strs {
b, err = strconv.Atoi(str)
if err == nil {
result += fmt.Sprintf("%02d", b)
}
}
b, _ = strconv.Atoi(result)
for ; idx < 2; idx++ {
b *= 100
}
return uint32(b)
}
func GetUserStateData() []*Config.ConfiguserState {
return g_tables.TbuserState.GetDataList()
}