| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package serviceconfig
- import (
- "encoding/json"
- "fmt"
- "log"
- "os"
- "time"
- slog "bet24.com/log"
- "bet24.com/servers/common"
- )
- var Server struct {
- LogLevel string
- FileLevel string
- LogPath string
- ServerPort int
- MaxConnNum int
- ConsulPort int
- MonitorPort int
- ChannelUrl string
- ChannelPassword string
- RedisDB int
- LastHour int
- IsCasual int // 是否休闲平台 1=休闲平台 其他不是
- MinWinBroadcast int // 广播赢金最低金额
- GameWinString string
- ReturnAwards string
- MinWithdraw int // 最低提取金额
- ReviewAmount int // 评论奖励
- PurchaseCfg
- }
- // 10K购
- type PurchaseCfg struct {
- GoldFee int `json:"purchase.goldFee"` // 10W金币费用 ==> 100000
- AwardAmount int `json:"purchase.awardAmount"` // 奖励金额 ==> 100000000
- BeginHour string `json:"purchase.beginHour"` // 活动开启时间(20时) ==> 20h
- EndHour string `json:"purchase.endHour"` // 活动结束时间(22时) ==> 22h
- Duration string `json:"purchase.duration"` // 30分钟(1800秒) ==> 1800s
- MaxNumber int `json:"purchase.maxNumber"` // 最大号码 ==> 999999
- ItemId int `json:"purchase.itemId"` // 道具ID ==> 2
- SuccessTitle string `json:"purchase.successTitle"` // 命中标题
- SuccessContent string `json:"purchase.successContent"` // 命中内容
- FailTitle string `json:"purchase.failTitle"` // 未命中标题
- FailContent string `json:"purchase.failContent"` // 未命中内容
- }
- // 一些配置
- var SpecialCfg struct {
- ChatCost int //聊天金币
- //奖池
- MinGoldPool int //奖池下限,低于此值由系统补足
- MaxGoldPool int //奖池下限,低于此值由系统补足
- MinChipPool int // 筹码jackpot下限
- MaxChipPool int // 筹码jackpot上限
- SubsidyGold int //低于奖池下限后,系统要补贴到该金额
- GameTax int //抽税比例 0-100
- TaxLine int //奖池金额达到后不再抽税,低于该金额则要抽税
- PrizeCost int //多少金币抽一次
- PrizeTimes int //每天抽奖次数,0点重置
- //好友
- FriendGift int //赠送金币
- GiftTimes int //每天赠送次数上限
- }
- // 是否休闲平台 (true=休闲平台 false=其他平台)
- func IsCasual() bool {
- return Server.IsCasual == 1
- }
- func Run() {
- data, err := os.ReadFile("fishconf/coreservice.json")
- if err != nil {
- log.Fatalf("read config failed fishconf/coreservice.json %v", err)
- }
- err = json.Unmarshal(data, &Server)
- if err != nil {
- log.Fatalf("Unmarshal config failed fishconf/coreservice.json err:%v", err)
- }
- if Server.ConsulPort == 0 {
- Server.ConsulPort = 5500
- }
- fmt.Println(Server)
- //其他配置, 暂时用
- data, err = os.ReadFile("fishconf/SpecialCfg.json")
- if err != nil {
- log.Fatalf("read config failed fishconf/SpecialCfg.json %v", err)
- }
- err = json.Unmarshal(data, &SpecialCfg)
- if err != nil {
- log.Fatalf("Unmarshal config failed fishconf/SpecialCfg.json err:%v", err)
- }
- logger, err := slog.New(Server.LogLevel, Server.FileLevel, Server.LogPath, log.LstdFlags)
- if err == nil {
- slog.Export(logger)
- }
- if Server.MonitorPort == 0 {
- Server.MonitorPort = 5100
- }
- now := common.GetNowTime()
- Server.LastHour = now.Hour()
- refreshLogFile()
- }
- func refreshLogFile() {
- time.AfterFunc(5*time.Minute, refreshLogFile)
- doRefreshLogFile()
- }
- func doRefreshLogFile() {
- if Server.LogPath != "" {
- now := time.Now()
- if now.Hour() != Server.LastHour {
- Server.LastHour = now.Hour()
- slog.RecreateFileLog(Server.LogPath, log.LstdFlags)
- }
- }
- }
|