diff --git a/api/v1/game/ccd.go b/api/v1/game/ccd.go index a9e2ebb..e5668b6 100644 --- a/api/v1/game/ccd.go +++ b/api/v1/game/ccd.go @@ -62,6 +62,7 @@ type GetGameCCDRes struct { AuditMode int32 `json:"auditMode"` EnableHotfix int32 `json:"enableHotfix"` EnableAccountLogin int32 `json:"enableAccountLogin"` + EnableAds int32 `json:"enableAds"` } type GetGameCCD1Req struct { diff --git a/internal/dao/internal/game_login_url.go b/internal/dao/internal/game_login_url.go index 8f0a22c..0902d79 100644 --- a/internal/dao/internal/game_login_url.go +++ b/internal/dao/internal/game_login_url.go @@ -41,6 +41,7 @@ type GameLoginUrlColumns struct { Remark string // 备注名称 IsNew string // Sort string // 后台排序 + Belong string // 附属服务器 } // gameLoginUrlColumns holds the columns for table game_login_url. @@ -66,6 +67,7 @@ var gameLoginUrlColumns = GameLoginUrlColumns{ Remark: "remark", IsNew: "is_new", Sort: "sort", + Belong: "belong", } // NewGameLoginUrlDao creates and returns a new DAO object for table data access. diff --git a/internal/model/do/game_login_url.go b/internal/model/do/game_login_url.go index 7e59e66..20d0ce5 100644 --- a/internal/model/do/game_login_url.go +++ b/internal/model/do/game_login_url.go @@ -33,4 +33,5 @@ type GameLoginUrl struct { Remark interface{} // 备注名称 IsNew interface{} // Sort interface{} // 后台排序 + Belong interface{} // 附属服务器 } diff --git a/internal/model/entity/game_login_url.go b/internal/model/entity/game_login_url.go index 2efb53a..c832657 100644 --- a/internal/model/entity/game_login_url.go +++ b/internal/model/entity/game_login_url.go @@ -31,4 +31,5 @@ type GameLoginUrl struct { Remark string `json:"remark" description:"备注名称"` IsNew int `json:"isNew" description:""` Sort int `json:"sort" description:"后台排序"` + Belong int `json:"belong" description:"附庸服务器"` } diff --git a/internal/serviceGame/ccd.go b/internal/serviceGame/ccd.go index 31bad08..bdb9888 100644 --- a/internal/serviceGame/ccd.go +++ b/internal/serviceGame/ccd.go @@ -129,6 +129,7 @@ func (c *gameCCDImpl) GetGameCCD(ctx context.Context, req *game.GetGameCCDReq) ( } res.EnableAccountLogin = 0 res.EnableHotfix = 1 + res.EnableAds = 0 err = g.Try(ctx, func(ctx context.Context) { if internal.GetEnableHotfix(ctx, req.ChannelType+req.Version) != "" { data, _ := strconv.Atoi(internal.GetEnableHotfix(ctx, req.ChannelType+req.Version)) @@ -144,6 +145,13 @@ func (c *gameCCDImpl) GetGameCCD(ctx context.Context, req *game.GetGameCCDReq) ( data, _ := strconv.Atoi(internal.GetEnableAccountLogin(ctx, req.ChannelType)) res.EnableAccountLogin = int32(data) } + if internal.GetEnableAds(ctx, req.ChannelType+req.Version) != "" { + data, _ := strconv.Atoi(internal.GetEnableAds(ctx, req.ChannelType+req.Version)) + res.EnableAds = int32(data) + } else if internal.GetEnableAds(ctx, req.ChannelType) != "" { + data, _ := strconv.Atoi(internal.GetEnableAds(ctx, req.ChannelType)) + res.EnableAds = int32(data) + } model := dao.GameCcdUrl.Ctx(ctx) model = model.Where("platform=? and (versionName='' or versionName>=?) and (channelType='' or channelType=?) or ip=?", req.Platform, req.Version, req.ChannelType, ip) diff --git a/internal/serviceGame/internal/dbinit.go b/internal/serviceGame/internal/dbinit.go index 44a3408..4782e8e 100644 --- a/internal/serviceGame/internal/dbinit.go +++ b/internal/serviceGame/internal/dbinit.go @@ -46,6 +46,7 @@ var ( ChannelList []entity.GameChannelList RechargeServer string RouterServer string + CSJServer string Md5key string CallbackKey string Webhook string @@ -81,6 +82,11 @@ func init() { RouterServer = svCfg1.String() } + svCfg2, err := g.Cfg().Get(ctx, "game.csjServer") + if err == nil { + CSJServer = svCfg2.String() + } + md5keyCfg, err := g.Cfg().Get(ctx, "game.md5key") if err == nil { Md5key = md5keyCfg.String() @@ -204,11 +210,23 @@ func InitRouterServer(ctx context.Context) { err := g.Try(ctx, func(ctx context.Context) { url := RouterServer + "/resetRouter?md5=erweita0726" bytes := g.Client().GetBytes(ctx, url) - log.Printf("InitRechargeServer: %s, res: %v/n", RechargeServer, string(bytes)) + log.Printf("InitRouterServer: %s, res: %v/n", RouterServer, string(bytes)) }) if err != nil { - log.Println("InitRechargeServer: ", err) + log.Println("InitRouterServer: ", err) + } +} + +func InitCSjServer(ctx context.Context) { + err := g.Try(ctx, func(ctx context.Context) { + url := CSJServer + "/resetServerList?md5=erweita0726" + bytes := g.Client().GetBytes(ctx, url) + log.Printf("InitCSjServer: %s, res: %v/n", CSJServer, string(bytes)) + }) + + if err != nil { + log.Println("InitCSjServer: ", err) } } diff --git a/internal/serviceGame/internal/out.go b/internal/serviceGame/internal/out.go index feef2dd..dc2a70e 100644 --- a/internal/serviceGame/internal/out.go +++ b/internal/serviceGame/internal/out.go @@ -103,6 +103,13 @@ func GetEnableAccountLogin(ctx context.Context, key string) string { return res.Val() } +func GetEnableAds(ctx context.Context, key string) string { + rdbTop := RedisDbList[0] + rdbTop.Do(ctx, "select", 0) + res := rdbTop.HGet(ctx, "enableAds", key) + return res.Val() +} + func SetOpenId(ctx context.Context, req *game.SetOpenIdReq) (res *game.SetOpenIdRes, err error) { rdbTop := RedisDbList[0] rdbTop.Do(ctx, "select", 0) diff --git a/internal/serviceGame/loginUrl.go b/internal/serviceGame/loginUrl.go index 1f4aa2f..cf4ce2e 100644 --- a/internal/serviceGame/loginUrl.go +++ b/internal/serviceGame/loginUrl.go @@ -244,6 +244,7 @@ func (c *gameLoginUrlImpl) ReConfigServer(ctx context.Context, req *game.ReConfi internal.InitServer(ctx) internal.InitRechargeServer(ctx) internal.InitRouterServer(ctx) + internal.InitCSjServer(ctx) internal.MongoInit(ctx) } return diff --git a/internal/serviceGame/order.go b/internal/serviceGame/order.go index f13abdc..b7b82ba 100644 --- a/internal/serviceGame/order.go +++ b/internal/serviceGame/order.go @@ -535,7 +535,7 @@ func (o gameOrderImpl) CheckRechargeSign(ctx context.Context, req *game.CheckRec if req.ServerId == 0 { ip := libUtils.GetClientIp(ctx) data := []entity.GameRouter{} - err := dao.GameRouter.Ctx(ctx).Where("router_ip=?", ip).Scan(&data) + err := dao.GameRouter.Ctx(ctx).Where("router_ip=?", ip).OrderAsc("id").Scan(&data) //log.Printf("data: %s", gjson.MustEncodeString(data)) if len(data) == 0 { return nil, err @@ -563,13 +563,14 @@ func (o gameOrderImpl) AddRechargeSign(ctx context.Context, req *game.AddRecharg if serverId == 0 { ip := libUtils.GetClientIp(ctx) data := []entity.GameRouter{} - err := dao.GameRouter.Ctx(ctx).Where("router_ip=?", ip).Scan(&data) + err := dao.GameRouter.Ctx(ctx).Where("router_ip=?", ip).OrderAsc("id").Scan(&data) //log.Printf("AddRechargeSign data: %s", gjson.MustEncodeString(data)) if len(data) == 0 { - log.Printf("AddRechargeSign err : %s", err.Error()) + log.Printf("AddRechargeSign serverId is 0 err : %s", err.Error()) return nil, err } serverId = int32(data[0].Id) + log.Printf("AddRechargeSign serverId is 0: findbyip id (%d)", serverId) } if req.Id == 0 || serverId == 0 || req.Config == 0 || req.Time == 0 {