From 4bb652ee13f92cb8c07b1894d8842677dc382db1 Mon Sep 17 00:00:00 2001 From: czx <1216764150@qq.com> Date: Thu, 28 Sep 2023 15:36:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=98=E6=9B=B4=E6=97=B6=E9=97=B4=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=EF=BC=8C=E5=88=B0=E5=8F=98=E6=9B=B4=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=94=B9=E5=8F=98=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=BA=E7=88=86=E6=BB=A1=EF=BC=8C=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E6=96=B0=E6=9C=8D=E4=B8=BA=E6=97=A7=E6=9C=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/game/gameAction.go | 6 ++++ library/mongo/gamedao.go | 1 + library/mongo/gameinfo/ServerInfo.go | 41 ++++++++++++++-------------- library/task/taskUtil.go | 23 ++++++++++++++++ 4 files changed, 51 insertions(+), 20 deletions(-) diff --git a/app/api/game/gameAction.go b/app/api/game/gameAction.go index d0a8f6f..d7643c4 100644 --- a/app/api/game/gameAction.go +++ b/app/api/game/gameAction.go @@ -739,6 +739,7 @@ func (action *Action) ServerInfo(r *ghttp.Request) { dayMap.Set("subChannel", serverInfo.SubChannel) dayMap.Set("state", serverInfo.State) dayMap.Set("plat", serverInfo.Plat) + dayMap.Set("changeTime", serverInfo.ChangeTime) dayMap.Set("openTime", serverInfo.OpenTime) dayMap.Set("openType", serverInfo.OpenType) dayMap.Set("isNew", serverInfo.IsNew) @@ -773,6 +774,7 @@ func (action *Action) SaveServer(r *ghttp.Request) { state := r.Form.Get("state") plat := r.Form.Get("plat") openTime := r.Form.Get("openTime") + changeTimeStr := r.Form.Get("changeTime") openType := r.Form.Get("openType") isNew := r.Form.Get("isNew") isBanreg := r.Form.Get("isBanreg") @@ -793,6 +795,9 @@ func (action *Action) SaveServer(r *ghttp.Request) { serverInfo.SubChannel = subChannel serverInfo.State = state serverInfo.Plat = plat + if changeTimeStr != "" { + serverInfo.ChangeTime = gconv.Int64(changeTimeStr) + } serverInfo.OpenTime = openTime serverInfo.OpenType = openType serverInfo.IsNew = isNew @@ -858,6 +863,7 @@ func (action *Action) GetServerDetail(r *ghttp.Request) { dayMap.Set("subChannel", serverInfo.SubChannel) dayMap.Set("state", serverInfo.State) dayMap.Set("plat", serverInfo.Plat) + dayMap.Set("changeTime", serverInfo.ChangeTime) dayMap.Set("openTime", serverInfo.OpenTime) dayMap.Set("openType", serverInfo.OpenType) dayMap.Set("isNew", serverInfo.IsNew) diff --git a/library/mongo/gamedao.go b/library/mongo/gamedao.go index 0ca37c8..42499bd 100644 --- a/library/mongo/gamedao.go +++ b/library/mongo/gamedao.go @@ -529,6 +529,7 @@ func (m *Mgo) UpdateServer(id int, value interface{}) *mongo.UpdateResult { {"port", gconv.String(serverInfo["Port"])}, {"plat", gconv.String(serverInfo["Plat"])}, {"state", gconv.String(serverInfo["State"])}, + {"change_time", serverInfo["ChangeTime"]}, {"open_time", gconv.String(serverInfo["OpenTime"])}, {"open_type", gconv.String(serverInfo["OpenType"])}, {"is_banreg", gconv.String(serverInfo["IsBanreg"])}, diff --git a/library/mongo/gameinfo/ServerInfo.go b/library/mongo/gameinfo/ServerInfo.go index a82df23..6aa0aef 100644 --- a/library/mongo/gameinfo/ServerInfo.go +++ b/library/mongo/gameinfo/ServerInfo.go @@ -6,31 +6,32 @@ import ( ) type ServerInfo struct { - Id int `bson:"_id" json:"id"` - Name string `bson:"name" json:"name"` - Ip string `bson:"ip" json:"ip"` - Port string `bson:"port" json:"port"` - ServerId string `bson:"server_id" json:"serverid"` - Channel string `bson:"channel" json:"channel"` - SubChannel string `bson:"sub_channel" json:"subchannel"` - State string `bson:"state" json:"state"` - Plat string `bson:"plat" json:"plat"` - OpenTime string `bson:"open_time" json:"opentime"` - OpenType string `bson:"open_type" json:"opentype"` - IsNew string `bson:"is_new" json:"isnew"` - IsBanreg string `bson:"is_banreg" json:"isbanreg"` - IsWhite string `bson:"isWhite" json:"iswhite"` + Id int `bson:"_id" json:"id"` + Name string `bson:"name" json:"name"` + Ip string `bson:"ip" json:"ip"` + Port string `bson:"port" json:"port"` + ServerId string `bson:"server_id" json:"serverid"` + Channel string `bson:"channel" json:"channel"` + SubChannel string `bson:"sub_channel" json:"subchannel"` + State string `bson:"state" json:"state"` + Plat string `bson:"plat" json:"plat"` + ChangeTime int64 `bson:"change_time" json:"changeTime"` + OpenTime string `bson:"open_time" json:"opentime"` + OpenType string `bson:"open_type" json:"opentype"` + IsNew string `bson:"is_new" json:"isnew"` + IsBanreg string `bson:"is_banreg" json:"isbanreg"` + IsWhite string `bson:"isWhite" json:"iswhite"` ServerVersion string `bson:"server_version" json:"serverversion"` - GMIp string `bson:"gm_ip" json:"gmip"` - GMPort string `bson:"gm_port" json:"gmport"` - Timezone string `bson:"time_zone" json:"timezone"` // 时区 - Currency string `bson:"currency" json:"currency"` // 币种 - Exportdata string `bson:"exportdata" json:"exportdata"` // 是否导出数据 + GMIp string `bson:"gm_ip" json:"gmip"` + GMPort string `bson:"gm_port" json:"gmport"` + Timezone string `bson:"time_zone" json:"timezone"` // 时区 + Currency string `bson:"currency" json:"currency"` // 币种 + Exportdata string `bson:"exportdata" json:"exportdata"` // 是否导出数据 } var ( // Table is the table name of account. - TableServer = "server_info" + TableServer = "server_info" ServerTablbeName = g.Config().GetString("db.core") // Model is the model object of account. ModelServer = dao.NewMgo(ServerTablbeName, TableServer) diff --git a/library/task/taskUtil.go b/library/task/taskUtil.go index 7426bda..60b48dc 100644 --- a/library/task/taskUtil.go +++ b/library/task/taskUtil.go @@ -52,6 +52,8 @@ func init() { gcron.AddSingleton("0 0,30 * * * ?", StatisticalRecharge) gcron.AddSingleton("0 0,30 * * * ?", StatisticalRecharge_Server) + gcron.AddSingleton("0 * * * * ?", changeServerState) + // 判断是否需要导出表格 if "1" == g.Config().GetString("game.export") { // 按天执行 0 10 0 * * * @@ -971,3 +973,24 @@ func initServerPayInfo() { } } + +func changeServerState() { + now := time.Now().Unix() * 1000 + bs := bson.D{ + {"is_new", "1"}, + {"change_time", bson.D{{"$lte", now}}}, + } + serverInfoList := gameinfo.ModelServer.FindAllBson(bs) + for serverInfoList.Next(context.TODO()) { + var serverInfo gameinfo.ServerInfo + err := serverInfoList.Decode(&serverInfo) + if err != nil { + //log.Fatal(err) + log.Println(err) + continue + } + serverInfo.IsNew = "0" + serverInfo.State = "4" + gameinfo.ModelServer.UpdateServer(serverInfo.Id, serverInfo) + } +}