From fecb462d497d96661766e7b7541a165526b46de4 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 28 Nov 2024 15:48:39 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=94=E5=AD=90?= =?UTF-8?q?=E6=8B=89=E9=9C=B8=E6=B8=B8=E6=88=8F=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/fortunedragon/scenepolicy_fortunedragon.go | 12 +++++++++--- gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go | 10 ++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go index 747886c..ed98382 100644 --- a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go +++ b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go @@ -505,12 +505,18 @@ func (this *ScenePolicyFortuneDragon) GetSceneState(s *base.Scene, stateid int) func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneDragonPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId + if playerEx.isFree { + data.TotalBet = 0 + } info, err := model.MarshalGameNoteByROLL(data) if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - totalin := playerEx.totalBet + var totalin int64 + if !playerEx.isFree { + totalin = playerEx.totalBet + } totalout := int64(data.RoundReward) + playerEx.taxCoin validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) @@ -524,8 +530,8 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, - BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(data.RoundReward) + playerEx.taxCoin, + BetAmount: totalin, + WinAmountNoAnyTax: int64(data.RoundReward), ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), diff --git a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go index 60ed868..954921e 100644 --- a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go +++ b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go @@ -504,12 +504,18 @@ func (this *ScenePolicyFortuneRabbit) GetSceneState(s *base.Scene, stateid int) func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneRabbitPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId + if playerEx.isFree { + data.TotalBet = 0 + } info, err := model.MarshalGameNoteByROLL(data) if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - totalin := playerEx.totalBet + var totalin int64 + if !playerEx.isFree { + totalin = playerEx.totalBet + } totalout := int64(data.RoundReward) + playerEx.taxCoin validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) @@ -524,7 +530,7 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(data.RoundReward) + playerEx.taxCoin, + WinAmountNoAnyTax: int64(data.RoundReward), ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), From b3798d54b87bcee7c105fca6045e05b996ef3d69 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 28 Nov 2024 16:39:46 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=94=E5=AD=90?= =?UTF-8?q?=E6=8B=89=E9=9C=B8=E6=B8=B8=E6=88=8F=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go index 954921e..d9974b1 100644 --- a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go +++ b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go @@ -512,11 +512,13 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - var totalin int64 - if !playerEx.isFree { + var totalin, totalout int64 + if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { totalin = playerEx.totalBet } - totalout := int64(data.RoundReward) + playerEx.taxCoin + if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { + totalout = int64(data.RoundReward) + playerEx.taxCoin - playerEx.totalBet + } validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) logParam := &base.SaveGamePlayerListLogParam{ From ce5e66b14858635e3d9ed1169d11483f9fdda6df Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 28 Nov 2024 17:45:25 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=94=E5=AD=90?= =?UTF-8?q?=E6=8B=89=E9=9C=B8=E6=B8=B8=E6=88=8F=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go index d9974b1..2c340ee 100644 --- a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go +++ b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go @@ -504,7 +504,7 @@ func (this *ScenePolicyFortuneRabbit) GetSceneState(s *base.Scene, stateid int) func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneRabbitPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId - if playerEx.isFree { + if data.Results[0].FreeStatus != 1 && data.Results[0].FreeNumMax != 0 { data.TotalBet = 0 } info, err := model.MarshalGameNoteByROLL(data) @@ -517,7 +517,7 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR totalin = playerEx.totalBet } if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { - totalout = int64(data.RoundReward) + playerEx.taxCoin - playerEx.totalBet + totalout = int64(data.RoundReward) + playerEx.taxCoin } validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) @@ -532,7 +532,7 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(data.RoundReward), + WinAmountNoAnyTax: int64(totalout - totalin - playerEx.taxCoin), ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), From 10d494e9a86598994aaa1deaf1654207a8bf0c75 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 28 Nov 2024 17:48:56 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9fortune=E7=89=8C=E5=B1=80?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/fortunedragon/scenepolicy_fortunedragon.go | 12 +++++++----- gamesrv/fortuneox/scenepolicy_fortuneox.go | 14 +++++++++++--- gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go | 2 +- gamesrv/fortunetiger/scenepolicy_fortunetiger.go | 14 +++++++++++--- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go index ed98382..c5fc2d8 100644 --- a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go +++ b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go @@ -505,7 +505,7 @@ func (this *ScenePolicyFortuneDragon) GetSceneState(s *base.Scene, stateid int) func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneDragonPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId - if playerEx.isFree { + if data.Results[0].FreeStatus != 1 && data.Results[0].FreeNumMax != 0 { data.TotalBet = 0 } info, err := model.MarshalGameNoteByROLL(data) @@ -513,11 +513,13 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - var totalin int64 - if !playerEx.isFree { + var totalin, totalout int64 + if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { totalin = playerEx.totalBet } - totalout := int64(data.RoundReward) + playerEx.taxCoin + if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { + totalout = int64(data.RoundReward) + playerEx.taxCoin + } validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) logParam := &base.SaveGamePlayerListLogParam{ @@ -531,7 +533,7 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: totalin, - WinAmountNoAnyTax: int64(data.RoundReward), + WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), diff --git a/gamesrv/fortuneox/scenepolicy_fortuneox.go b/gamesrv/fortuneox/scenepolicy_fortuneox.go index 6c130ff..1e05719 100644 --- a/gamesrv/fortuneox/scenepolicy_fortuneox.go +++ b/gamesrv/fortuneox/scenepolicy_fortuneox.go @@ -510,13 +510,21 @@ func (this *ScenePolicyFortuneOx) GetSceneState(s *base.Scene, stateid int) base func FortuneOxAndSaveLog(sceneEx *FortuneOxSceneData, playerEx *FortuneOxPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId + if data.Results[0].FreeStatus != 1 && data.Results[0].FreeNumMax != 0 { + data.TotalBet = 0 + } info, err := model.MarshalGameNoteByROLL(data) if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - totalin := playerEx.totalBet - totalout := int64(data.RoundReward) + playerEx.taxCoin + var totalin, totalout int64 + if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { + totalin = playerEx.totalBet + } + if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { + totalout = int64(data.RoundReward) + playerEx.taxCoin + } validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) logParam := &base.SaveGamePlayerListLogParam{ @@ -530,7 +538,7 @@ func FortuneOxAndSaveLog(sceneEx *FortuneOxSceneData, playerEx *FortuneOxPlayerD TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(data.RoundReward) + playerEx.taxCoin, + WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), diff --git a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go index 2c340ee..13e788c 100644 --- a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go +++ b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go @@ -532,7 +532,7 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(totalout - totalin - playerEx.taxCoin), + WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), diff --git a/gamesrv/fortunetiger/scenepolicy_fortunetiger.go b/gamesrv/fortunetiger/scenepolicy_fortunetiger.go index 5cd4ab0..9edc6be 100644 --- a/gamesrv/fortunetiger/scenepolicy_fortunetiger.go +++ b/gamesrv/fortunetiger/scenepolicy_fortunetiger.go @@ -507,13 +507,21 @@ func (this *ScenePolicyFortuneTiger) GetSceneState(s *base.Scene, stateid int) b func FortuneTigerAndSaveLog(sceneEx *FortuneTigerSceneData, playerEx *FortuneTigerPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId + if data.Results[0].FreeStatus != 1 && data.Results[0].FreeNumMax != 0 { + data.TotalBet = 0 + } info, err := model.MarshalGameNoteByROLL(data) if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - totalin := playerEx.totalBet - totalout := int64(data.RoundReward) + playerEx.taxCoin + var totalin, totalout int64 + if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { + totalin = playerEx.totalBet + } + if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { + totalout = int64(data.RoundReward) + playerEx.taxCoin + } validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) logParam := &base.SaveGamePlayerListLogParam{ @@ -527,7 +535,7 @@ func FortuneTigerAndSaveLog(sceneEx *FortuneTigerSceneData, playerEx *FortuneTig TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(data.RoundReward) + playerEx.taxCoin, + WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), From 8e5f5e4e47b5e15ccc2a459287b6a1559fddaff8 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Mon, 2 Dec 2024 13:06:07 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=8C=E5=B1=80?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/avengers/scenepolicy_avengers.go | 27 +- gamesrv/base/player.go | 56 ++- gamesrv/base/scene.go | 353 ++++++++++-------- gamesrv/caishen/scenepolicy_caishen.go | 26 +- gamesrv/chess/scene.go | 1 + gamesrv/chess/scenepolicy.go | 26 +- gamesrv/clawdoll/scenepolicy_clawdoll.go | 40 +- .../easterisland/scenepolicy_easterisland.go | 26 +- gamesrv/fishing/playerdata_fishing.go | 25 +- .../scenepolicy_fortunedragon.go | 27 +- gamesrv/fortuneox/scenepolicy_fortuneox.go | 29 +- .../scenepolicy_fortunerabbit.go | 29 +- .../fortunetiger/scenepolicy_fortunetiger.go | 29 +- gamesrv/fruits/scenedata_fruits.go | 38 +- gamesrv/iceage/scenepolicy_iceage.go | 26 +- gamesrv/richblessed/scenedata_richblessed.go | 38 +- gamesrv/smallrocket/scene.go | 2 + gamesrv/smallrocket/scenepolicy.go | 59 ++- gamesrv/tamquoc/scenepolicy_tamquoc.go | 26 +- gamesrv/thirteen/scenepolicy.go | 49 ++- gamesrv/tienlen/scenepolicy_tienlen.go | 32 +- model/dataevent.go | 43 --- model/gamelogtype.go | 2 + model/gameplayerlistlog.go | 4 +- 24 files changed, 556 insertions(+), 457 deletions(-) diff --git a/gamesrv/avengers/scenepolicy_avengers.go b/gamesrv/avengers/scenepolicy_avengers.go index b73f65c..c9334c3 100644 --- a/gamesrv/avengers/scenepolicy_avengers.go +++ b/gamesrv/avengers/scenepolicy_avengers.go @@ -934,31 +934,30 @@ func AvengersCheckAndSaveLog(sceneEx *AvengersSceneData, playerEx *AvengersPlaye if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: int64(playerEx.RollGameType.BaseResult.TotalBet), WinAmountNoAnyTax: playerEx.RollGameType.BaseResult.ChangeCoin, - ValidBet: validBet, - ValidFlow: validFlow, - IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), + IsFirstGame: false, IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + GameTime: 1, + }) } } } diff --git a/gamesrv/base/player.go b/gamesrv/base/player.go index 53d263d..5f47a55 100644 --- a/gamesrv/base/player.go +++ b/gamesrv/base/player.go @@ -2,6 +2,7 @@ package base import ( "fmt" + "github.com/jinzhu/now" "math" "math/rand" "time" @@ -621,7 +622,14 @@ func (this *Player) AddRankScore(rankType int32, num int64) { } } -func (this *Player) ReportGameEvent(tax, taxex, changeCoin, validbet, validFlow, in, out int64) { +type ReportGameEventParam struct { + Tax int64 // 税收 + Change int64 // 净输赢,正负值,不带税收 + In, Out int64 // 投入,产出(税前) + GameTime int64 // 游戏时长,秒 +} + +func (this *Player) ReportGameEvent(param *ReportGameEventParam) { // 记录玩家 首次参与该场次的游戏时间 游戏次数 var gameFirstTime, gameFreeFirstTime time.Time var gameTimes, gameFreeTimes int64 @@ -638,12 +646,46 @@ func (this *Player) ReportGameEvent(tax, taxex, changeCoin, validbet, validFlow, gameFreeTimes = dataGame.Statics.GameTimes } - gamingTime := int32(time.Now().Sub(this.scene.GameNowTime).Seconds()) - mq.Write(model.CreatePlayerGameRecEvent(this.SnId, tax, taxex, changeCoin, validbet, validFlow, in, out, - this.scene.GameId, this.scene.GetGameFreeId(), int32(this.scene.GameMode), - this.scene.GetRecordId(), this.Channel, this.ChannelId, this.BeUnderAgentCode, this.Platform, this.City, this.DeviceOS, - this.CreateTime, gamingTime, gameFirstTime, gameFreeFirstTime, gameTimes, gameFreeTimes, this.LastLoginTime, - this.TelephonePromoter, this.DeviceId), mq.BackGameRecord) + isNew := int32(0) + tCreateDay := now.New(this.CreateTime.Local()).BeginningOfDay() + if now.BeginningOfDay().Equal(tCreateDay) { + isNew = 1 + } + + if param.GameTime < 0 { + param.GameTime = int64(time.Now().Sub(this.scene.GameNowTime).Seconds()) + } + if param.GameTime < 0 { + param.GameTime = 0 + } + + log := &model.PlayerGameRecEvent{ + Platform: this.Platform, + RecordId: this.scene.GetRecordId(), + SnId: this.GetSnId(), + Channel: this.Channel, + ChannelId: this.ChannelId, + City: this.City, + OS: this.DeviceOS, + GameId: this.scene.GameId, + ModeId: this.scene.GameMode, + Tax: param.Tax, + Amount: param.Change, + CreateTime: this.CreateTime.Unix(), + CreateDayTime: tCreateDay.Unix(), + Out: param.Out, + In: param.In, + IsNew: isNew, + GameFreeID: this.scene.GetGameFreeId(), + GamingTime: int32(param.GameTime), + FirstTime: gameFirstTime.Unix(), + PlayTimes: gameTimes, + FirstGameTime: gameFreeFirstTime.Unix(), + PlayGameTimes: gameFreeTimes, + LastLoginTime: this.LastLoginTime.Unix(), + DeviceId: this.DeviceId, + } + mq.Write(log, mq.BackGameRecord) } // 汇总玩家该次游戏总产生的税收 diff --git a/gamesrv/base/scene.go b/gamesrv/base/scene.go index a0ca96f..cb10fac 100644 --- a/gamesrv/base/scene.go +++ b/gamesrv/base/scene.go @@ -2,6 +2,7 @@ package base import ( "fmt" + "github.com/globalsign/mgo/bson" "math" "math/rand" "strconv" @@ -87,7 +88,8 @@ type Scene struct { SystemCoinOut int64 //本局游戏机器人营收 机器人赢:正值 机器人输:负值 ChessRank []int32 RealCtrl bool - CycleID string + CycleID string // 房卡场多轮对局id + LogId string // 游戏每局id } func NewScene(args *CreateSceneParam) *Scene { @@ -160,75 +162,104 @@ func (this *Scene) GetGameFreeId() int32 { func (this *Scene) GetKeyGameId() string { return this.KeyGameId } + func (this *Scene) SetKeyGameId(keyGameId string) { this.KeyGameId = keyGameId } + func (this *Scene) GetSceneId() int { return int(this.SceneId) } + func (this *Scene) SetSceneId(sceneId int) { this.SceneId = int32(sceneId) } + func (this *Scene) GetGroupId() int32 { return this.GroupId } + func (this *Scene) SetGroupId(groupId int32) { this.GroupId = groupId } + func (this *Scene) GetExtraData() interface{} { return this.ExtraData } + func (this *Scene) SetExtraData(data interface{}) { this.ExtraData = data } + func (this *Scene) GetSceneState() SceneState { return this.SceneState } + func (this *Scene) SetSceneState(state SceneState) { this.SceneState = state } + func (this *Scene) GetGameId() int { return int(this.GameId) } + func (this *Scene) SetGameId(gameId int) { this.GameId = int32(gameId) } + func (this *Scene) GetPlayerNum() int { - return int(this.WGCreateScene.GetPlayerNum()) + n := this.WGCreateScene.GetPlayerNum() + if n > 0 { + return int(n) + } + return int(this.PlayerNum) } + func (this *Scene) SetPlayerNum(playerNum int) { + this.WGCreateScene.PlayerNum = int32(playerNum) this.PlayerNum = int32(playerNum) } + func (this *Scene) GetGameMode() int { return int(this.GameMode) } + func (this *Scene) SetGameMode(gameMode int) { this.GameMode = int32(gameMode) } + func (this *Scene) GetGaming() bool { return this.Gaming } + func (this *Scene) SetGaming(gaming bool) { this.Gaming = gaming } + func (this *Scene) GetTesting() bool { return this.Testing } + func (this *Scene) SetTesting(testing bool) { this.Testing = testing } + func (this *Scene) GetCreator() int32 { return this.Creator } + func (this *Scene) SetCreator(creator int32) { this.Creator = creator } + func (this *Scene) GetSceneMode() int { return int(this.SceneMode) } + func (this *Scene) SetSceneMode(sceneMode int) { this.SceneMode = int32(sceneMode) } + func (this *Scene) GetParams() []int64 { return this.Params } @@ -236,42 +267,55 @@ func (this *Scene) GetParams() []int64 { func (this *Scene) GetStateStartTime() time.Time { return this.StateStartTime } + func (this *Scene) SetStateStartTime(stateStartTime time.Time) { this.StateStartTime = stateStartTime } + func (this *Scene) GetGameStartTime() time.Time { return this.GameStartTime } + func (this *Scene) SetGameStartTime(gameStartTime time.Time) { this.GameStartTime = gameStartTime } + func (this *Scene) GetGameNowTime() time.Time { return this.GameNowTime } + func (this *Scene) SetGameNowTime(gameNowTime time.Time) { this.GameNowTime = gameNowTime } + func (this *Scene) GetNumOfGames() int { return this.NumOfGames } + func (this *Scene) SetNumOfGames(numOfGames int) { this.NumOfGames = numOfGames } + func (this *Scene) GetCpCtx() model.CoinPoolCtx { return this.CpCtx } + func (this *Scene) SetCpCtx(cpCtx model.CoinPoolCtx) { this.CpCtx = cpCtx } + func (this *Scene) GetAudiences() map[int32]*Player { return this.audiences } + func (this *Scene) GetDisbandGen() int { return this.disbandGen } + func (this *Scene) SetDisbandGen(disbandGen int) { this.disbandGen = disbandGen } + func (this *Scene) GetScenePolicy() ScenePolicy { return this.sp } @@ -1403,112 +1447,6 @@ func (this *Scene) ClearAutoPlayer() { } } -type GameDetailedParam struct { - Trend20Lately string //最近20局开奖结果 - CtrlType int - PlayerPool map[int]int - CycleId string -} - -// 保存详细游戏日志 -func (this *Scene) SaveGameDetailedLog(logid string, gamedetailednote string, gameDetailedParam *GameDetailedParam) { - if this != nil { - if !this.Testing { //测试场屏蔽掉 - trend20Lately := gameDetailedParam.Trend20Lately - baseScore := this.GetDBGameFree().GetBaseScore() - if common.IsLocalGame(int(this.GameId)) { - baseScore = this.BaseScore - } - if this.IsCoinScene() { - mapPlatform := make(map[string]bool) - for _, p := range this.Players { - if _, ok := mapPlatform[p.Platform]; !ok { - mapPlatform[p.Platform] = true - log := model.NewGameDetailedLogEx(logid, int32(this.GameId), int32(this.SceneId), - this.GetDBGameFree().GetGameMode(), this.GetDBGameFree().Id, int32(len(this.Players)), - int32(time.Now().Unix()-this.GameNowTime.Unix()), baseScore, - gamedetailednote, p.Platform, this.ClubId, this.RoomId, this.CpCtx, GameDetailedVer[int(this.GameId)], trend20Lately, - gameDetailedParam.CtrlType, gameDetailedParam.PlayerPool, gameDetailedParam.CycleId) - if log != nil { - if this.IsMatchScene() { - log.MatchId = this.GetMatch().GetMatchSortId() - } - if this.IsCustom() { - log.CycleId = this.CycleID - } - mq.Write(log) - } - } - } - } else { - log := model.NewGameDetailedLogEx(logid, int32(this.GameId), int32(this.SceneId), - this.GetDBGameFree().GetGameMode(), this.GetDBGameFree().Id, int32(len(this.Players)), - int32(time.Now().Unix()-this.GameNowTime.Unix()), baseScore, - gamedetailednote, this.Platform, this.ClubId, this.RoomId, this.CpCtx, GameDetailedVer[int(this.GameId)], trend20Lately, - gameDetailedParam.CtrlType, gameDetailedParam.PlayerPool, gameDetailedParam.CycleId) - if log != nil { - if this.IsMatchScene() { - log.MatchId = this.GetMatch().GetMatchSortId() - } - if this.IsCustom() { - log.CycleId = this.CycleID - } - newLog := new(model.GameDetailedLog) - *newLog = *log - mq.Write(log) - } - } - } - } -} - -type SaveGamePlayerListLogParam struct { - Platform string //平台 - Channel string //渠道 - Promoter string //推广员 - PackageTag string //包标识 - InviterId int32 //邀请人 - LogId string //日志id - TotalIn int64 //总投入 - TotalOut int64 //总产出 - TaxCoin int64 //总税收 - ClubPumpCoin int64 //俱乐部抽水 - BetAmount int64 //下注量 - WinAmountNoAnyTax int64 //税后赢取额(净利润,正负值) - ValidBet int64 //有效下注 - ValidFlow int64 //有效流水 - IsFirstGame bool //是否第一次游戏 - IsLeave bool //是否中途离开,用于金花,德州可以中途离开游戏使用 - IsFree bool //拉霸专用 是否免费 - WinSmallGame int64 //拉霸专用 小游戏奖励 - WinTotal int64 //拉霸专用 本局输赢 - PlayerName string //玩家名字 - CycleId string // 房卡场对局id -} - -func GetSaveGamePlayerListLogParam(platform, channel, promoter, packageTag, logid string, - inviterId int32, totalin, totalout, taxCoin, clubPumpCoin, betAmount, winAmountNoAnyTax, validBet, validFlow int64, - isFirstGame, isLeave bool) *SaveGamePlayerListLogParam { - return &SaveGamePlayerListLogParam{ - Platform: platform, - Channel: channel, - Promoter: promoter, - PackageTag: packageTag, - InviterId: inviterId, - LogId: logid, - TotalIn: totalin, - TotalOut: totalout, - TaxCoin: taxCoin, - ClubPumpCoin: clubPumpCoin, - BetAmount: betAmount, - WinAmountNoAnyTax: winAmountNoAnyTax, - ValidBet: validBet, - ValidFlow: validFlow, - IsFirstGame: isFirstGame, - IsLeave: isLeave, - } -} - func (this *Scene) SaveFriendRecord(snid int32, isWin int32, billCoin int64, baseScore int32) { if this.SceneMode == common.SceneModePrivate { return @@ -1519,55 +1457,160 @@ func (this *Scene) SaveFriendRecord(snid int32, isWin int32, billCoin int64, bas } } -// 保存玩家和GameDetailedLog的映射表 -func (this *Scene) SaveGamePlayerListLog(snid int32, param *SaveGamePlayerListLogParam) { - if this != nil { - if !this.Testing { //测试场屏蔽掉 龙虎两边都压,totalin和totalout都=0,这个条件去掉 - //统计流水值 - playerEx := this.GetPlayer(snid) - //有些结算的时候,玩家已经退场,不要用是否在游戏,0709,修改为扣税后数值 - if playerEx != nil && !param.IsLeave && !playerEx.IsRob && (param.IsFree || param.TotalIn != 0 || param.TotalOut != 0) { - totalFlow := param.ValidFlow * int64(this.GetDBGameFree().GetBetWaterRate()) / 100 - playerEx.TotalConvertibleFlow += totalFlow - playerEx.TotalFlow += totalFlow - playerEx.ValidCacheBetTotal += param.ValidBet - //报表统计 - //playerEx.SaveReportForm(int(this.GetDBGameFree().GetGameClass()), this.SceneMode, this.KeyGameId, - // param.WinAmountNoAnyTax, totalFlow, param.ValidBet) - //分配利润 - ProfitDistribution(playerEx, param.TaxCoin, param.ClubPumpCoin, totalFlow) - //上报游戏事件 - playerEx.ReportGameEvent(param.TaxCoin, param.ClubPumpCoin, param.WinAmountNoAnyTax, param.ValidBet, totalFlow, param.TotalIn, param.TotalOut) - } +type SaveGameDetailedParam struct { + LogId string // 日志id + Detail string // 游戏详细信息 + GameTime int64 // 游戏时长 + Trend20Lately string // 最近20局开奖结果 + CtrlType int // 调控类型 1控赢 2控输 + PlayerPool map[int]int // 个人水池分 +} - roomType := int32(this.SceneMode) - if this.GameId == common.GameId_Avengers || - this.GameId == common.GameId_CaiShen || - this.GameId == common.GameId_EasterIsland || - this.GameId == common.GameId_IceAge || - this.GameId == common.GameId_TamQuoc { //复仇者联盟强制为0,所有场次操作记录放一起 - roomType = 0 - } - baseScore := this.GetDBGameFree().GetBaseScore() - if common.IsLocalGame(int(this.GameId)) { - baseScore = this.BaseScore - } - - Name := param.PlayerName - if playerEx != nil { - Name = param.PlayerName - } - - log := model.NewGamePlayerListLogEx(snid, param.LogId, param.Platform, param.Channel, param.Promoter, param.PackageTag, - this.GameId, baseScore, this.SceneId, int32(this.GetGameMode()), - this.GetGameFreeId(), param.TotalIn, param.TotalOut, this.ClubId, this.RoomId, param.TaxCoin, param.ClubPumpCoin, roomType, - param.BetAmount, param.WinAmountNoAnyTax, this.KeyGameId, Name, this.GetDBGameFree().GetGameClass(), - param.IsFirstGame, this.GetMatch().GetMatchSortId(), int64(this.GetMatch().GetMatchType()), param.IsFree, param.WinSmallGame, param.WinTotal, param.CycleId) - if log != nil { - mq.Write(log) - } - } +func (this *Scene) SaveGameDetailedLog(param *SaveGameDetailedParam) { + if this == nil || param == nil { + return } + + if param.GameTime < 0 { + param.GameTime = int64(time.Now().Sub(this.GameNowTime).Seconds()) + } + + if param.GameTime < 0 { + param.GameTime = 0 + } + + now := time.Now() + + f := func(plt string) { + log := &model.GameDetailedLog{ + Id: bson.NewObjectId(), + LogId: param.LogId, + GameId: this.GameId, + Platform: plt, + MatchId: this.GetMatch().GetMatchSortId(), + SceneId: this.SceneId, + GameMode: this.GameMode, + GameFreeid: this.GetGameFreeId(), + PlayerCount: int32(len(this.Players)), + GameTiming: int32(param.GameTime), + GameBaseBet: this.GetBaseScore(), + GameDetailedNote: param.Detail, + GameDetailVer: GameDetailedVer[int(this.GameId)], + CpCtx: this.CpCtx, + Time: now, + Trend20Lately: param.Trend20Lately, + Ts: now.Unix(), + CtrlType: param.CtrlType, + PlayerPool: make(map[int]int), + CycleId: this.CycleID, + } + for k, v := range param.PlayerPool { + log.PlayerPool[k] = v + } + mq.Write(log) + } + + switch { + case this.IsCoinScene(): + mapPlatform := make(map[string]bool) + for _, v := range this.Players { + if v == nil { + continue + } + if _, ok := mapPlatform[v.Platform]; ok { + continue + } + mapPlatform[v.Platform] = true + f(v.Platform) + } + default: + f(this.Platform) + } +} + +type SaveGamePlayerListLogParam struct { + LogId string // 详情日志id + Platform string // 平台 + Snid int32 // 玩家id + PlayerName string // 玩家名字 + Channel string // 渠道 + ChannelId string // 推广渠道 + TotalIn int64 // 总投入 + TotalOut int64 // 总产出(税前) + TaxCoin int64 // 总税收 + BetAmount int64 // 下注量 + WinAmountNoAnyTax int64 // 税后赢取额(净利润,正负值) + IsFirstGame bool // 是否第一次游戏 + IsFree bool // 拉霸专用 是否免费 + WinSmallGame int64 // 拉霸专用 小游戏奖励 + WinTotal int64 // 拉霸专用 本局输赢 + GameTime int64 // 游戏时长 +} + +// SaveGamePlayerListLog 保存玩家对局记录 +func (this *Scene) SaveGamePlayerListLog(param *SaveGamePlayerListLogParam) { + if this == nil { + return + } + if param == nil { + return + } + + p := this.GetPlayer(param.Snid) + if p == nil { + return + } + + if param.PlayerName == "" { + param.PlayerName = p.Name + } + + baseScore := this.GetBaseScore() + + // 上报玩家游戏记录 + if !p.IsRob && (param.IsFree || param.TotalIn != 0 || param.TotalOut != 0) { + p.ReportGameEvent(&ReportGameEventParam{ + Tax: param.TaxCoin, + Change: param.WinAmountNoAnyTax, + In: param.TotalIn, + Out: param.TotalOut, + GameTime: param.GameTime, + }) + } + + // 保存玩家游戏日志 + now := time.Now() + log := &model.GamePlayerListLog{ + LogId: bson.NewObjectId(), + SnId: p.SnId, + Name: param.PlayerName, + GameId: this.GameId, + BaseScore: baseScore, + TaxCoin: param.TaxCoin, + Platform: param.Platform, + Channel: param.Channel, + SceneId: this.SceneId, + GameMode: this.GameMode, + GameFreeid: this.GetGameFreeId(), + GameDetailedLogId: param.LogId, + IsFirstGame: param.IsFirstGame, + BetAmount: param.BetAmount, + WinAmountNoAnyTax: param.WinAmountNoAnyTax, + TotalIn: param.TotalIn, + TotalOut: param.TotalOut, + Time: now, + RoomType: this.SceneMode, + GameDif: this.GetDBGameFree().GetGameDif(), + GameClass: this.GetDBGameFree().GetGameClass(), + MatchId: this.GetMatch().GetMatchSortId(), + MatchType: int64(this.GetMatch().GetMatchType()), + Ts: now.Unix(), + IsFree: param.IsFree, + WinSmallGame: param.WinSmallGame, + WinTotal: param.WinTotal, + CycleId: this.CycleID, + } + mq.Write(log) } func (this *Scene) IsPlayerFirst(p *Player) bool { diff --git a/gamesrv/caishen/scenepolicy_caishen.go b/gamesrv/caishen/scenepolicy_caishen.go index cf4ba08..aa21249 100644 --- a/gamesrv/caishen/scenepolicy_caishen.go +++ b/gamesrv/caishen/scenepolicy_caishen.go @@ -1023,31 +1023,31 @@ func CaiShenCheckAndSaveLog(sceneEx *CaiShenSceneData, playerEx *CaiShenPlayerDa if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: int64(playerEx.RollGameType.BaseResult.TotalBet), WinAmountNoAnyTax: playerEx.RollGameType.BaseResult.ChangeCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + GameTime: 1, + }) } } } diff --git a/gamesrv/chess/scene.go b/gamesrv/chess/scene.go index ad40fdf..00ba0dc 100644 --- a/gamesrv/chess/scene.go +++ b/gamesrv/chess/scene.go @@ -767,6 +767,7 @@ func (e *SceneEx) ToBilled(p1, p2 *PlayerEx, isWin int) (*chesstitians.Chesstiti UserIcon: p1.Head, Platform: p1.Platform, Channel: p1.Channel, + ChannelId: p1.ChannelId, Promoter: p1.BeUnderAgentCode, PackageTag: p1.PackageID, InviterId: p1.InviterId, diff --git a/gamesrv/chess/scenepolicy.go b/gamesrv/chess/scenepolicy.go index 95084c5..116ecdd 100644 --- a/gamesrv/chess/scenepolicy.go +++ b/gamesrv/chess/scenepolicy.go @@ -1298,9 +1298,6 @@ func (this *SceneStateBilled) OnEnter(s *base.Scene) { } else { totalout += (o_player.GainCoin + o_player.GainTaxCoin) } - - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) sceneEx.SaveFriendRecord(o_player.UserId, o_player.IsWin, o_player.GainCoin, sceneEx.GetBaseScore()) // 游戏数据统计 @@ -1313,16 +1310,29 @@ func (this *SceneStateBilled) OnEnter(s *base.Scene) { }) // 玩家游戏记录 - sceneEx.SaveGamePlayerListLog(o_player.UserId, - base.GetSaveGamePlayerListLogParam(o_player.Platform, o_player.Channel, o_player.Promoter, - o_player.PackageTag, logid, o_player.InviterId, totalin, totalout, o_player.GainTaxCoin, - 0, 0, o_player.GainCoin, validBet, validFlow, o_player.IsFirst, o_player.IsLeave)) + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ + LogId: logid, + Platform: o_player.Platform, + Snid: o_player.UserId, + PlayerName: "", + Channel: o_player.Channel, + ChannelId: o_player.ChannelId, + TotalIn: totalin, + TotalOut: totalout, + TaxCoin: o_player.GainTaxCoin, + BetAmount: 0, + WinAmountNoAnyTax: o_player.GainCoin, + IsFirstGame: o_player.IsFirst, + }) isSave = true } } if isSave { // 牌局记录 - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + }) } } sceneEx.NotifySceneRoundPause() diff --git a/gamesrv/clawdoll/scenepolicy_clawdoll.go b/gamesrv/clawdoll/scenepolicy_clawdoll.go index 6b2d895..ce712e3 100644 --- a/gamesrv/clawdoll/scenepolicy_clawdoll.go +++ b/gamesrv/clawdoll/scenepolicy_clawdoll.go @@ -781,34 +781,28 @@ func (this *StateBilled) OnEnter(s *base.Scene) { sceneEx.logid, _ = model.AutoIncGameLogId() info, err := model.MarshalGameNoteByHUNDRED(LogBaseResult) if err == nil { - sceneEx.SaveGameDetailedLog(sceneEx.logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: sceneEx.logid, + Detail: info, + }) } TotalBetValue := 0 totalin := int64(TotalBetValue) totalout := playerEx.gainCoin - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, - LogId: sceneEx.logid, - TotalIn: totalin, - TotalOut: totalout, - TaxCoin: playerEx.taxCoin, - BetAmount: int64(TotalBetValue), - WinAmountNoAnyTax: playerEx.gainCoin, - ValidBet: validBet, - ValidFlow: validFlow, - IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), - IsFree: false, - WinSmallGame: 0, - WinTotal: 0, - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ + LogId: sceneEx.logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, + TotalIn: totalin, + TotalOut: totalout, + TaxCoin: playerEx.taxCoin, + BetAmount: int64(TotalBetValue), + IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), + }) } playerEx.lastIsWin = playerEx.IsWin diff --git a/gamesrv/easterisland/scenepolicy_easterisland.go b/gamesrv/easterisland/scenepolicy_easterisland.go index 2474ad4..677d88b 100644 --- a/gamesrv/easterisland/scenepolicy_easterisland.go +++ b/gamesrv/easterisland/scenepolicy_easterisland.go @@ -892,31 +892,31 @@ func EasterIslandCheckAndSaveLog(sceneEx *EasterIslandSceneData, playerEx *Easte if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: int64(playerEx.RollGameType.BaseResult.TotalBet), WinAmountNoAnyTax: playerEx.RollGameType.BaseResult.ChangeCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + GameTime: 1, + }) } } } diff --git a/gamesrv/fishing/playerdata_fishing.go b/gamesrv/fishing/playerdata_fishing.go index cad0291..8e244fa 100644 --- a/gamesrv/fishing/playerdata_fishing.go +++ b/gamesrv/fishing/playerdata_fishing.go @@ -262,13 +262,24 @@ func (this *FishingPlayerData) SaveDetailedLog(s *base.Scene) { info, err := model.MarshalGameNoteByFISH(&fd) if err == nil { logid, _ := model.AutoIncGameLogId() - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - param := base.GetSaveGamePlayerListLogParam(this.Platform, this.Channel, this.BeUnderAgentCode, this.PackageID, logid, - this.InviterId, totalin, totalout, int64(this.sTaxCoin), 0, totalin, - totalout, validFlow, validBet, sceneEx.IsPlayerFirst(this.Player), false) - sceneEx.SaveGamePlayerListLog(this.SnId, param) - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ + LogId: logid, + Platform: this.Platform, + Snid: this.SnId, + PlayerName: this.Name, + Channel: this.Channel, + ChannelId: this.ChannelId, + TotalIn: totalin, + TotalOut: totalout, + TaxCoin: int64(this.sTaxCoin), + BetAmount: totalin, + WinAmountNoAnyTax: totalout, + IsFirstGame: sceneEx.IsPlayerFirst(this.Player), + }) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + }) } pack := &server_proto.GWFishRecord{ diff --git a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go index c5fc2d8..cea24a8 100644 --- a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go +++ b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go @@ -512,7 +512,11 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) var totalin, totalout int64 if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { totalin = playerEx.totalBet @@ -520,25 +524,22 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { totalout = int64(data.RoundReward) + playerEx.taxCoin } - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: totalin, WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + IsFree: playerEx.isFree, + GameTime: 1, + }) } } diff --git a/gamesrv/fortuneox/scenepolicy_fortuneox.go b/gamesrv/fortuneox/scenepolicy_fortuneox.go index 1e05719..f204c1c 100644 --- a/gamesrv/fortuneox/scenepolicy_fortuneox.go +++ b/gamesrv/fortuneox/scenepolicy_fortuneox.go @@ -517,7 +517,11 @@ func FortuneOxAndSaveLog(sceneEx *FortuneOxSceneData, playerEx *FortuneOxPlayerD if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) var totalin, totalout int64 if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { totalin = playerEx.totalBet @@ -525,25 +529,22 @@ func FortuneOxAndSaveLog(sceneEx *FortuneOxSceneData, playerEx *FortuneOxPlayerD if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { totalout = int64(data.RoundReward) + playerEx.taxCoin } - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, - BetAmount: playerEx.totalBet, + BetAmount: totalin, WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + IsFree: totalin == 0, + GameTime: 1, + }) } } diff --git a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go index 13e788c..738ba3b 100644 --- a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go +++ b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go @@ -511,7 +511,11 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) var totalin, totalout int64 if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { totalin = playerEx.totalBet @@ -519,25 +523,22 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { totalout = int64(data.RoundReward) + playerEx.taxCoin } - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, - BetAmount: playerEx.totalBet, + BetAmount: totalin, WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + IsFree: playerEx.isFree, + GameTime: 1, + }) } } diff --git a/gamesrv/fortunetiger/scenepolicy_fortunetiger.go b/gamesrv/fortunetiger/scenepolicy_fortunetiger.go index 9edc6be..2c5c11d 100644 --- a/gamesrv/fortunetiger/scenepolicy_fortunetiger.go +++ b/gamesrv/fortunetiger/scenepolicy_fortunetiger.go @@ -514,7 +514,11 @@ func FortuneTigerAndSaveLog(sceneEx *FortuneTigerSceneData, playerEx *FortuneTig if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) var totalin, totalout int64 if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { totalin = playerEx.totalBet @@ -522,25 +526,22 @@ func FortuneTigerAndSaveLog(sceneEx *FortuneTigerSceneData, playerEx *FortuneTig if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { totalout = int64(data.RoundReward) + playerEx.taxCoin } - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, - BetAmount: playerEx.totalBet, + BetAmount: totalin, WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + IsFree: totalin == 0, + GameTime: 1, + }) } } diff --git a/gamesrv/fruits/scenedata_fruits.go b/gamesrv/fruits/scenedata_fruits.go index 94f20de..8280e92 100644 --- a/gamesrv/fruits/scenedata_fruits.go +++ b/gamesrv/fruits/scenedata_fruits.go @@ -326,7 +326,11 @@ func (s *FruitsSceneData) SaveLog(p *FruitsPlayerData, isOffline int) { info, err := model.MarshalGameNoteByROLL(&FruitsType) if err == nil { logId, _ := model.AutoIncGameLogId() - s.SaveGameDetailedLog(logId, info, &base.GameDetailedParam{}) + s.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logId, + Detail: info, + GameTime: 1, + }) //水池上下文环境s s.CpCtx = p.cpCtx var totalIn, totalOut int64 @@ -336,22 +340,22 @@ func (s *FruitsSceneData) SaveLog(p *FruitsPlayerData, isOffline int) { if nowGetCoin > 0 && isF { totalOut = p.Coin - p.startCoin + betCoin /*+ p.taxCoin*/ } - s.SaveGamePlayerListLog(p.SnId, - &base.SaveGamePlayerListLogParam{ - Platform: p.Platform, - Channel: p.Channel, - Promoter: p.BeUnderAgentCode, - PackageTag: p.PackageID, - InviterId: p.InviterId, - LogId: logId, - TotalIn: totalIn, - TotalOut: totalOut, - TaxCoin: p.taxCoin, - ClubPumpCoin: 0, - BetAmount: totalIn, - WinAmountNoAnyTax: p.Coin - p.startCoin, - IsFirstGame: s.IsPlayerFirst(p.Player), - }) + s.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ + LogId: logId, + Platform: p.Platform, + Snid: p.SnId, + PlayerName: p.Name, + Channel: p.Channel, + ChannelId: p.ChannelId, + TotalIn: totalIn, + TotalOut: totalOut, + TaxCoin: p.taxCoin, + BetAmount: totalIn, + WinAmountNoAnyTax: p.Coin - p.startCoin, + IsFirstGame: s.IsPlayerFirst(p.Player), + IsFree: totalIn == 0, + GameTime: 1, + }) } s.GameNowTime = time.Now() if s.CheckNeedDestroy() && p.freeTimes == 0 && p.maryFreeTimes == 0 { diff --git a/gamesrv/iceage/scenepolicy_iceage.go b/gamesrv/iceage/scenepolicy_iceage.go index be0ebff..787d74f 100644 --- a/gamesrv/iceage/scenepolicy_iceage.go +++ b/gamesrv/iceage/scenepolicy_iceage.go @@ -942,31 +942,31 @@ func IceAgeCheckAndSaveLog(sceneEx *IceAgeSceneData, playerEx *IceAgePlayerData) if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: int64(playerEx.RollGameType.BaseResult.TotalBet), WinAmountNoAnyTax: playerEx.RollGameType.BaseResult.ChangeCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + GameTime: 1, + }) } } } diff --git a/gamesrv/richblessed/scenedata_richblessed.go b/gamesrv/richblessed/scenedata_richblessed.go index 9d31d45..957fc1c 100644 --- a/gamesrv/richblessed/scenedata_richblessed.go +++ b/gamesrv/richblessed/scenedata_richblessed.go @@ -348,7 +348,11 @@ func (s *RichBlessedSceneData) SaveLog(p *RichBlessedPlayerData, isOffline int) info, err := model.MarshalGameNoteByROLL(&RichBlessed) if err == nil { logId, _ := model.AutoIncGameLogId() - s.SaveGameDetailedLog(logId, info, &base.GameDetailedParam{}) + s.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logId, + Detail: info, + GameTime: 1, + }) //水池上下文环境s s.CpCtx = p.cpCtx var totalIn, totalOut int64 @@ -358,22 +362,22 @@ func (s *RichBlessedSceneData) SaveLog(p *RichBlessedPlayerData, isOffline int) if nowGetCoin > 0 { totalOut = p.Coin - p.startCoin + betCoin /*+ p.taxCoin*/ } - s.SaveGamePlayerListLog(p.SnId, - &base.SaveGamePlayerListLogParam{ - Platform: p.Platform, - Channel: p.Channel, - Promoter: p.BeUnderAgentCode, - PackageTag: p.PackageID, - InviterId: p.InviterId, - LogId: logId, - TotalIn: totalIn, - TotalOut: totalOut, - TaxCoin: p.taxCoin, - ClubPumpCoin: 0, - BetAmount: totalIn, - WinAmountNoAnyTax: p.Coin - p.startCoin, - IsFirstGame: s.IsPlayerFirst(p.Player), - }) + s.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ + LogId: logId, + Platform: p.Platform, + Snid: p.SnId, + PlayerName: p.Name, + Channel: p.Channel, + ChannelId: p.ChannelId, + TotalIn: totalIn, + TotalOut: totalOut, + TaxCoin: p.taxCoin, + BetAmount: totalIn, + WinAmountNoAnyTax: p.Coin - p.startCoin, + IsFirstGame: s.IsPlayerFirst(p.Player), + IsFree: totalIn == 0, + GameTime: 1, + }) } s.GameNowTime = time.Now() if s.CheckNeedDestroy() && p.freeTimes == 0 { diff --git a/gamesrv/smallrocket/scene.go b/gamesrv/smallrocket/scene.go index d7fec18..d329343 100644 --- a/gamesrv/smallrocket/scene.go +++ b/gamesrv/smallrocket/scene.go @@ -33,6 +33,7 @@ type PlayerData struct { Platform string //平台 Channel string //渠道信息 + ChannelId string PackageID string //推广包标识 对应客户端的packagetag flag int } @@ -333,6 +334,7 @@ func (this *SceneEx) BackupPlayer(p *PlayerEx, isBilled bool) { flag: p.GetFlag(), Platform: p.Platform, Channel: p.Channel, + ChannelId: p.ChannelId, PackageID: p.PackageID, CurIsWin: p.CurIsWin, Name: p.Name, diff --git a/gamesrv/smallrocket/scenepolicy.go b/gamesrv/smallrocket/scenepolicy.go index d690fda..cfe3367 100644 --- a/gamesrv/smallrocket/scenepolicy.go +++ b/gamesrv/smallrocket/scenepolicy.go @@ -1166,33 +1166,28 @@ func (this *StateBilled) OnEnter(s *base.Scene) { if !playerEx.IsRob { info, err := model.MarshalGameNoteByHUNDRED(LogBaseResult) if err == nil { - sceneEx.SaveGameDetailedLog(sceneEx.logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: sceneEx.logid, + Detail: info, + }) } totalin := int64(TotalBetValue) totalout := playerEx.gainCoin - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: sceneEx.logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: int64(TotalBetValue), WinAmountNoAnyTax: playerEx.gainCoin, - ValidBet: validBet, - ValidFlow: validFlow, - IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), - IsFree: false, - WinSmallGame: 0, - WinTotal: 0, - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + IsFirstGame: s.IsPlayerFirst(playerEx.Player), + }) } } @@ -1248,34 +1243,30 @@ func (this *StateBilled) OnEnter(s *base.Scene) { if !playerEx.IsRob { info, err := model.MarshalGameNoteByHUNDRED(LogBaseResult) if err == nil { - sceneEx.SaveGameDetailedLog(sceneEx.logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: sceneEx.logid, + Detail: info, + }) } totalin := int64(TotalBetValue) totalout := playerEx.gainCoin - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + //validFlow := totalin + totalout + //validBet := common.AbsI64(totalin - totalout) + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: sceneEx.logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: int64(TotalBetValue), WinAmountNoAnyTax: playerEx.gainCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: playerEx.IsPlayerFirst, - IsFree: false, - WinSmallGame: 0, - WinTotal: 0, - PlayerName: playerEx.Name, - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + }) } } } diff --git a/gamesrv/tamquoc/scenepolicy_tamquoc.go b/gamesrv/tamquoc/scenepolicy_tamquoc.go index a3495d7..2a57d3b 100644 --- a/gamesrv/tamquoc/scenepolicy_tamquoc.go +++ b/gamesrv/tamquoc/scenepolicy_tamquoc.go @@ -778,31 +778,31 @@ func TamQuocCheckAndSaveLog(sceneEx *TamQuocSceneData, playerEx *TamQuocPlayerDa if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid - sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: logid, + Detail: info, + GameTime: 1, + }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - logParam := &base.SaveGamePlayerListLogParam{ - Platform: playerEx.Platform, - Channel: playerEx.Channel, - Promoter: playerEx.BeUnderAgentCode, - PackageTag: playerEx.PackageID, - InviterId: playerEx.InviterId, + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ LogId: logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, TotalIn: totalin, TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: int64(playerEx.RollGameType.BaseResult.TotalBet), WinAmountNoAnyTax: playerEx.RollGameType.BaseResult.ChangeCoin, - ValidBet: validBet, - ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - } - sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + GameTime: 1, + }) } } } diff --git a/gamesrv/thirteen/scenepolicy.go b/gamesrv/thirteen/scenepolicy.go index 356cd2e..274c3f5 100644 --- a/gamesrv/thirteen/scenepolicy.go +++ b/gamesrv/thirteen/scenepolicy.go @@ -181,11 +181,22 @@ func (this *PolicyThirteen) OnPlayerLeave(s *base.Scene, p *base.Player, reason } else { totalin -= playerEx.gainCoin } - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - sceneEx.SaveGamePlayerListLog(playerEx.SnId, base.GetSaveGamePlayerListLogParam(playerEx.Platform, playerEx.Channel, playerEx.BeUnderAgentCode, - playerEx.PackageID, sceneEx.logid, playerEx.InviterId, totalin, totalout, playerEx.taxCoin, - 0, 0, playerEx.gainCoin, validBet, validFlow, sceneEx.IsPlayerFirst(sceneEx.GetPlayer(playerEx.SnId)), false)) + //validFlow := totalin + totalout + //validBet := common.AbsI64(totalin - totalout) + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ + LogId: sceneEx.logid, + Platform: playerEx.Platform, + Snid: playerEx.SnId, + PlayerName: playerEx.Name, + Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, + TotalIn: totalin, + TotalOut: totalout, + TaxCoin: playerEx.taxCoin, + BetAmount: 0, + WinAmountNoAnyTax: playerEx.gainCoin, + IsFirstGame: sceneEx.IsPlayerFirst(sceneEx.GetPlayer(playerEx.SnId)), + }) sceneEx.Statistics(&base.StaticParam{ SnId: playerEx.SnId, @@ -1354,11 +1365,20 @@ func (this *StateBilled) OnEnter(s *base.Scene) { } else { totalin -= o_player.gainCoin } - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) - sceneEx.SaveGamePlayerListLog(o_player.SnId, base.GetSaveGamePlayerListLogParam(o_player.Platform, o_player.Channel, o_player.BeUnderAgentCode, - o_player.PackageID, sceneEx.logid, o_player.InviterId, totalin, totalout, o_player.taxCoin, - 0, 0, o_player.gainCoin, validBet, validFlow, p.IsFirst, false)) + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ + LogId: sceneEx.logid, + Platform: o_player.Platform, + Snid: o_player.SnId, + PlayerName: o_player.Name, + Channel: o_player.Channel, + ChannelId: o_player.ChannelId, + TotalIn: totalin, + TotalOut: totalout, + TaxCoin: o_player.taxCoin, + BetAmount: 0, + WinAmountNoAnyTax: o_player.gainCoin, + IsFirstGame: p.IsFirst, + }) } } } @@ -1417,10 +1437,11 @@ func (this *StateBilled) OnEnter(s *base.Scene) { thirteenWaterType.PlayerCount = len(person) info, err := model.MarshalGameNoteByFIGHT(&thirteenWaterType) if err == nil { - sceneEx.SaveGameDetailedLog(sceneEx.logid, info, &base.GameDetailedParam{ - Trend20Lately: "", - CtrlType: sceneEx.ctrlType, - PlayerPool: playerPool, + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: sceneEx.logid, + Detail: info, + CtrlType: sceneEx.ctrlType, + PlayerPool: playerPool, }) } } diff --git a/gamesrv/tienlen/scenepolicy_tienlen.go b/gamesrv/tienlen/scenepolicy_tienlen.go index 5a249ae..2f29da4 100644 --- a/gamesrv/tienlen/scenepolicy_tienlen.go +++ b/gamesrv/tienlen/scenepolicy_tienlen.go @@ -1737,6 +1737,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { UserIcon: playerEx.Head, Platform: playerEx.Platform, Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, Promoter: playerEx.BeUnderAgentCode, PackageTag: playerEx.PackageID, InviterId: playerEx.InviterId, @@ -1888,6 +1889,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { UserIcon: losePlayer.Head, Platform: losePlayer.Platform, Channel: losePlayer.Channel, + ChannelId: losePlayer.ChannelId, Promoter: losePlayer.BeUnderAgentCode, PackageTag: losePlayer.PackageID, InviterId: losePlayer.InviterId, @@ -2030,6 +2032,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { UserIcon: lastWinPlayer.Head, Platform: lastWinPlayer.Platform, Channel: lastWinPlayer.Channel, + ChannelId: lastWinPlayer.ChannelId, Promoter: lastWinPlayer.BeUnderAgentCode, PackageTag: lastWinPlayer.PackageID, InviterId: lastWinPlayer.InviterId, @@ -2141,6 +2144,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { UserIcon: playerEx.Head, Platform: playerEx.Platform, Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, Promoter: playerEx.BeUnderAgentCode, PackageTag: playerEx.PackageID, InviterId: playerEx.InviterId, @@ -2246,6 +2250,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { UserIcon: playerEx.Head, Platform: playerEx.Platform, Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, Promoter: playerEx.BeUnderAgentCode, PackageTag: playerEx.PackageID, InviterId: playerEx.InviterId, @@ -2397,6 +2402,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { UserIcon: playerEx.Head, Platform: playerEx.Platform, Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, Promoter: playerEx.BeUnderAgentCode, PackageTag: playerEx.PackageID, InviterId: playerEx.InviterId, @@ -2527,6 +2533,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { UserIcon: playerEx.Head, Platform: playerEx.Platform, Channel: playerEx.Channel, + ChannelId: playerEx.ChannelId, Promoter: playerEx.BeUnderAgentCode, PackageTag: playerEx.PackageID, InviterId: playerEx.InviterId, @@ -2729,8 +2736,6 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { playerEx.UpdatePigBankCoin(o_player.GainCoin) } - validFlow := totalin + totalout - validBet := common.AbsI64(totalin - totalout) sceneEx.SaveFriendRecord(o_player.UserId, o_player.IsWin, o_player.BillCoin, sceneEx.GetBaseScore()) // 玩家数据统计 @@ -2752,20 +2757,29 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { }) // 保存玩家游戏记录 - param := base.GetSaveGamePlayerListLogParam(o_player.Platform, o_player.Channel, o_player.Promoter, - o_player.PackageTag, sceneEx.recordId, o_player.InviterId, totalin, totalout, o_player.BillTaxCoin, - 0, 0, o_player.GainCoin+o_player.BombCoin, validBet, validFlow, o_player.IsFirst, o_player.IsLeave) - param.CycleId = sceneEx.CycleID - sceneEx.SaveGamePlayerListLog(o_player.UserId, param) + sceneEx.SaveGamePlayerListLog(&base.SaveGamePlayerListLogParam{ + LogId: sceneEx.recordId, + Platform: o_player.Platform, + Snid: o_player.UserId, + Channel: o_player.Channel, + ChannelId: o_player.ChannelId, + TotalIn: totalin, + TotalOut: totalout, + TaxCoin: o_player.BillTaxCoin, + BetAmount: 0, + WinAmountNoAnyTax: o_player.GainCoin + o_player.BombCoin, + IsFirstGame: o_player.IsFirst, + }) } } if isSave { // 牌局记录 - sceneEx.SaveGameDetailedLog(sceneEx.recordId, info, &base.GameDetailedParam{ + sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ + LogId: sceneEx.recordId, + Detail: info, Trend20Lately: "", CtrlType: sceneEx.ctrlType, PlayerPool: tienlenType.PlayerPool, - CycleId: sceneEx.CycleID, }) } } diff --git a/model/dataevent.go b/model/dataevent.go index 3cb9070..b3d138f 100644 --- a/model/dataevent.go +++ b/model/dataevent.go @@ -275,49 +275,6 @@ type PlayerGameRecEvent struct { ChannelId string //推广渠道id } -func CreatePlayerGameRecEvent(snid int32, tax, taxex, amount, validbet, validflow, in, out int64, gameid, gameFreeId, modeid int32, recordId, channel, channelId, promoter, - platform, city, os string, createDayTime time.Time, gamingTime int32, firstGameFreeTime, firstGameTime time.Time, - playGameFreeTimes, playerGameTimes int64, lastLoginTime time.Time, teleponePromoter int32, deviceId string) *PlayerGameRecEvent { - isNewbie := int32(0) - tCreateDay := now.New(createDayTime).BeginningOfDay() - if now.BeginningOfDay().Equal(tCreateDay) { - isNewbie = 1 - } - if gamingTime < 0 { - gamingTime = 0 - } - return &PlayerGameRecEvent{RecordId: recordId, - SnId: snid, - Channel: channel, - Promoter: promoter, - TelephonePromoter: teleponePromoter, - Platform: platform, - City: city, - OS: os, - GameId: gameid, - ModeId: modeid, - Tax: tax, - //Taxex: taxex, - Amount: amount, - ValidBet: validbet, - ValidFlow: validflow, - In: in, - Out: out, - CreateTime: time.Now().Local().Unix(), - CreateDayTime: tCreateDay.Local().Unix(), - IsNew: isNewbie, - GameFreeID: gameFreeId, - GamingTime: gamingTime, - FirstTime: firstGameFreeTime.Unix(), - FirstGameTime: firstGameTime.Unix(), - PlayTimes: playGameFreeTimes, - PlayGameTimes: playerGameTimes, - LastLoginTime: lastLoginTime.Unix(), - DeviceId: deviceId, - ChannelId: channelId, - } -} - // 玩家游戏记录 //type PlayerGameRecPayEvent struct { // SnId int32 //用户ID diff --git a/model/gamelogtype.go b/model/gamelogtype.go index 0d9b998..4ca1a01 100644 --- a/model/gamelogtype.go +++ b/model/gamelogtype.go @@ -1536,6 +1536,7 @@ type TienLenPerson struct { UserIcon int32 //玩家头像 Platform string `json:"-"` Channel string `json:"-"` + ChannelId string `json:"-"` Promoter string `json:"-"` PackageTag string `json:"-"` InviterId int32 `json:"-"` @@ -1581,6 +1582,7 @@ type ChesstitiansPerson struct { UserIcon int32 //玩家头像 Platform string `json:"-"` Channel string `json:"-"` + ChannelId string `json:"-"` Promoter string `json:"-"` PackageTag string `json:"-"` InviterId int32 `json:"-"` diff --git a/model/gameplayerlistlog.go b/model/gameplayerlistlog.go index 4441b2d..9d06b23 100644 --- a/model/gameplayerlistlog.go +++ b/model/gameplayerlistlog.go @@ -51,7 +51,7 @@ type GamePlayerListLog struct { GameClass int32 //游戏类型 1棋牌 2电子 3百人 4捕鱼 5视讯 6彩票 7体育 MatchId int64 MatchType int64 //0.普通场 1.锦标赛 2.冠军赛 3.vip专属 - Ts int32 + Ts int64 IsFree bool //拉霸专用 是否免费 WinSmallGame int64 //拉霸专用 小游戏奖励 WinTotal int64 //拉霸专用 输赢 @@ -95,7 +95,7 @@ func NewGamePlayerListLogEx(snid int32, gamedetailedlogid string, platform, chan cl.WinSmallGame = winSmallGame cl.WinTotal = winTotal tNow := time.Now() - cl.Ts = int32(tNow.Unix()) + cl.Ts = tNow.Unix() cl.Time = tNow cl.MatchId = matchid cl.MatchType = matchType From 80c191ec98be289161c37b0a8fc35ad2f9c63e42 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Mon, 2 Dec 2024 13:44:26 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=8C=E5=B1=80?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/avengers/scenepolicy_avengers.go | 4 ++-- gamesrv/caishen/scenepolicy_caishen.go | 4 ++-- gamesrv/easterisland/scenepolicy_easterisland.go | 4 ++-- gamesrv/fortunedragon/scenepolicy_fortunedragon.go | 5 +++-- gamesrv/fortuneox/scenepolicy_fortuneox.go | 5 +++-- gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go | 5 +++-- gamesrv/fortunetiger/scenepolicy_fortunetiger.go | 5 +++-- gamesrv/fruits/scenedata_fruits.go | 4 ++-- gamesrv/iceage/scenepolicy_iceage.go | 4 ++-- gamesrv/richblessed/scenedata_richblessed.go | 4 ++-- gamesrv/tamquoc/scenepolicy_tamquoc.go | 4 ++-- 11 files changed, 26 insertions(+), 22 deletions(-) diff --git a/gamesrv/avengers/scenepolicy_avengers.go b/gamesrv/avengers/scenepolicy_avengers.go index c9334c3..abb1ed2 100644 --- a/gamesrv/avengers/scenepolicy_avengers.go +++ b/gamesrv/avengers/scenepolicy_avengers.go @@ -937,7 +937,7 @@ func AvengersCheckAndSaveLog(sceneEx *AvengersSceneData, playerEx *AvengersPlaye sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin @@ -956,7 +956,7 @@ func AvengersCheckAndSaveLog(sceneEx *AvengersSceneData, playerEx *AvengersPlaye IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - GameTime: 1, + GameTime: 2, }) } } diff --git a/gamesrv/caishen/scenepolicy_caishen.go b/gamesrv/caishen/scenepolicy_caishen.go index aa21249..b227c93 100644 --- a/gamesrv/caishen/scenepolicy_caishen.go +++ b/gamesrv/caishen/scenepolicy_caishen.go @@ -1026,7 +1026,7 @@ func CaiShenCheckAndSaveLog(sceneEx *CaiShenSceneData, playerEx *CaiShenPlayerDa sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin @@ -1046,7 +1046,7 @@ func CaiShenCheckAndSaveLog(sceneEx *CaiShenSceneData, playerEx *CaiShenPlayerDa IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - GameTime: 1, + GameTime: 2, }) } } diff --git a/gamesrv/easterisland/scenepolicy_easterisland.go b/gamesrv/easterisland/scenepolicy_easterisland.go index 677d88b..0b19dde 100644 --- a/gamesrv/easterisland/scenepolicy_easterisland.go +++ b/gamesrv/easterisland/scenepolicy_easterisland.go @@ -895,7 +895,7 @@ func EasterIslandCheckAndSaveLog(sceneEx *EasterIslandSceneData, playerEx *Easte sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin @@ -915,7 +915,7 @@ func EasterIslandCheckAndSaveLog(sceneEx *EasterIslandSceneData, playerEx *Easte IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - GameTime: 1, + GameTime: 2, }) } } diff --git a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go index cea24a8..59b2784 100644 --- a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go +++ b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go @@ -407,6 +407,7 @@ func (this *SceneStateStartFortuneDragon) OnPlayerOp(s *base.Scene, p *base.Play var gameEndStr string var data assemble.GameEnd if err == nil { + s.SetGameNowTime(time.Now()) data = assemble.DataToCli(Response).(assemble.GameEnd) if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { //logger.Logger.Trace("=====================AddCoin=====TotalBet===", -data.TotalBet) @@ -515,7 +516,7 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) var totalin, totalout int64 if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { @@ -538,7 +539,7 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), IsFree: playerEx.isFree, - GameTime: 1, + GameTime: 2, }) } } diff --git a/gamesrv/fortuneox/scenepolicy_fortuneox.go b/gamesrv/fortuneox/scenepolicy_fortuneox.go index f204c1c..0cc788d 100644 --- a/gamesrv/fortuneox/scenepolicy_fortuneox.go +++ b/gamesrv/fortuneox/scenepolicy_fortuneox.go @@ -405,6 +405,7 @@ func (this *SceneStateStartFortuneOx) OnPlayerOp(s *base.Scene, p *base.Player, var gameEndStr string var data assemble.GameEnd if err == nil { + s.SetGameNowTime(time.Now()) data = assemble.DataToCli(Response).(assemble.GameEnd) var respinStatus int if data.Results[0].ArrSpins[0].Special != nil { @@ -520,7 +521,7 @@ func FortuneOxAndSaveLog(sceneEx *FortuneOxSceneData, playerEx *FortuneOxPlayerD sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) var totalin, totalout int64 if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { @@ -543,7 +544,7 @@ func FortuneOxAndSaveLog(sceneEx *FortuneOxSceneData, playerEx *FortuneOxPlayerD WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), IsFree: totalin == 0, - GameTime: 1, + GameTime: 2, }) } } diff --git a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go index 738ba3b..a292add 100644 --- a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go +++ b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go @@ -405,6 +405,7 @@ func (this *SceneStateStartFortuneRabbit) OnPlayerOp(s *base.Scene, p *base.Play var gameEndStr string var data assemble.GameEnd if err == nil { + s.SetGameNowTime(time.Now()) data = assemble.DataToCli(Response).(assemble.GameEnd) if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { //第一次触发或者正常模式 @@ -514,7 +515,7 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) var totalin, totalout int64 if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { @@ -537,7 +538,7 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), IsFree: playerEx.isFree, - GameTime: 1, + GameTime: 2, }) } } diff --git a/gamesrv/fortunetiger/scenepolicy_fortunetiger.go b/gamesrv/fortunetiger/scenepolicy_fortunetiger.go index 2c5c11d..155a835 100644 --- a/gamesrv/fortunetiger/scenepolicy_fortunetiger.go +++ b/gamesrv/fortunetiger/scenepolicy_fortunetiger.go @@ -405,6 +405,7 @@ func (this *SceneStateStartFortuneTiger) OnPlayerOp(s *base.Scene, p *base.Playe var gameEndStr string var data assemble.GameEnd if err == nil { + s.SetGameNowTime(time.Now()) data = assemble.DataToCli(Response).(assemble.GameEnd) var respinStatus int if data.Results[0].ArrSpins[0].Special != nil { @@ -517,7 +518,7 @@ func FortuneTigerAndSaveLog(sceneEx *FortuneTigerSceneData, playerEx *FortuneTig sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) var totalin, totalout int64 if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { @@ -540,7 +541,7 @@ func FortuneTigerAndSaveLog(sceneEx *FortuneTigerSceneData, playerEx *FortuneTig WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), IsFree: totalin == 0, - GameTime: 1, + GameTime: 2, }) } } diff --git a/gamesrv/fruits/scenedata_fruits.go b/gamesrv/fruits/scenedata_fruits.go index 8280e92..3a24307 100644 --- a/gamesrv/fruits/scenedata_fruits.go +++ b/gamesrv/fruits/scenedata_fruits.go @@ -329,7 +329,7 @@ func (s *FruitsSceneData) SaveLog(p *FruitsPlayerData, isOffline int) { s.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logId, Detail: info, - GameTime: 1, + GameTime: 2, }) //水池上下文环境s s.CpCtx = p.cpCtx @@ -354,7 +354,7 @@ func (s *FruitsSceneData) SaveLog(p *FruitsPlayerData, isOffline int) { WinAmountNoAnyTax: p.Coin - p.startCoin, IsFirstGame: s.IsPlayerFirst(p.Player), IsFree: totalIn == 0, - GameTime: 1, + GameTime: 2, }) } s.GameNowTime = time.Now() diff --git a/gamesrv/iceage/scenepolicy_iceage.go b/gamesrv/iceage/scenepolicy_iceage.go index 787d74f..762891e 100644 --- a/gamesrv/iceage/scenepolicy_iceage.go +++ b/gamesrv/iceage/scenepolicy_iceage.go @@ -945,7 +945,7 @@ func IceAgeCheckAndSaveLog(sceneEx *IceAgeSceneData, playerEx *IceAgePlayerData) sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin @@ -965,7 +965,7 @@ func IceAgeCheckAndSaveLog(sceneEx *IceAgeSceneData, playerEx *IceAgePlayerData) IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - GameTime: 1, + GameTime: 2, }) } } diff --git a/gamesrv/richblessed/scenedata_richblessed.go b/gamesrv/richblessed/scenedata_richblessed.go index 957fc1c..8b35d71 100644 --- a/gamesrv/richblessed/scenedata_richblessed.go +++ b/gamesrv/richblessed/scenedata_richblessed.go @@ -351,7 +351,7 @@ func (s *RichBlessedSceneData) SaveLog(p *RichBlessedPlayerData, isOffline int) s.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logId, Detail: info, - GameTime: 1, + GameTime: 2, }) //水池上下文环境s s.CpCtx = p.cpCtx @@ -376,7 +376,7 @@ func (s *RichBlessedSceneData) SaveLog(p *RichBlessedPlayerData, isOffline int) WinAmountNoAnyTax: p.Coin - p.startCoin, IsFirstGame: s.IsPlayerFirst(p.Player), IsFree: totalIn == 0, - GameTime: 1, + GameTime: 2, }) } s.GameNowTime = time.Now() diff --git a/gamesrv/tamquoc/scenepolicy_tamquoc.go b/gamesrv/tamquoc/scenepolicy_tamquoc.go index 2a57d3b..e1f908d 100644 --- a/gamesrv/tamquoc/scenepolicy_tamquoc.go +++ b/gamesrv/tamquoc/scenepolicy_tamquoc.go @@ -781,7 +781,7 @@ func TamQuocCheckAndSaveLog(sceneEx *TamQuocSceneData, playerEx *TamQuocPlayerDa sceneEx.SaveGameDetailedLog(&base.SaveGameDetailedParam{ LogId: logid, Detail: info, - GameTime: 1, + GameTime: 2, }) totalin := int64(playerEx.RollGameType.BaseResult.TotalBet) totalout := playerEx.RollGameType.BaseResult.ChangeCoin + playerEx.taxCoin + totalin @@ -801,7 +801,7 @@ func TamQuocCheckAndSaveLog(sceneEx *TamQuocSceneData, playerEx *TamQuocPlayerDa IsFree: playerEx.RollGameType.BaseResult.IsFree, WinSmallGame: playerEx.RollGameType.BaseResult.WinSmallGame, WinTotal: playerEx.RollGameType.BaseResult.WinTotal, - GameTime: 1, + GameTime: 2, }) } } From 383716741cf06208b98f7a2e504346ff9ed73abb Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Mon, 2 Dec 2024 14:06:15 +0800 Subject: [PATCH 7/8] =?UTF-8?q?fix=E6=B8=B8=E6=88=8F=E6=97=B6=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/base/scene.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gamesrv/base/scene.go b/gamesrv/base/scene.go index cb10fac..7dfe670 100644 --- a/gamesrv/base/scene.go +++ b/gamesrv/base/scene.go @@ -1471,7 +1471,7 @@ func (this *Scene) SaveGameDetailedLog(param *SaveGameDetailedParam) { return } - if param.GameTime < 0 { + if param.GameTime <= 0 { param.GameTime = int64(time.Now().Sub(this.GameNowTime).Seconds()) } From ae426732245dd92c4a019475d3ee7630729f8d14 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Mon, 2 Dec 2024 14:11:39 +0800 Subject: [PATCH 8/8] =?UTF-8?q?fix=20=E5=8D=81=E4=B8=89=E5=BC=A0=E7=89=8C?= =?UTF-8?q?=E5=B1=80=E8=AE=B0=E5=BD=95=E7=A8=8E=E6=94=B6=E6=AF=94=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/thirteen/scenepolicy.go | 2 +- model/gamelogtype.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gamesrv/thirteen/scenepolicy.go b/gamesrv/thirteen/scenepolicy.go index 274c3f5..cd87a69 100644 --- a/gamesrv/thirteen/scenepolicy.go +++ b/gamesrv/thirteen/scenepolicy.go @@ -1298,7 +1298,7 @@ func (this *StateBilled) OnEnter(s *base.Scene) { RoomType: sceneEx.GetSceneType(), BaseScore: int32(sceneEx.GetBaseScore()), NowRound: int32(sceneEx.NumOfGames), - ClubRate: sceneEx.Scene.PumpCoin, + TaxRate: s.GetDBGameFree().GetTaxRate(), } var person []model.ThirteenWaterPerson for _, o_player := range sceneEx.players { diff --git a/model/gamelogtype.go b/model/gamelogtype.go index 4ca1a01..d9f4185 100644 --- a/model/gamelogtype.go +++ b/model/gamelogtype.go @@ -168,8 +168,8 @@ type ThirteenWaterType struct { NowRound int32 //当前局数 PlayerCount int //玩家数量 BaseScore int32 //底分 + TaxRate int32 //税率(万分比) PlayerData []ThirteenWaterPerson //玩家信息 - ClubRate int32 //俱乐部抽水比例 } type ThirteenWaterPoker struct {