From 2a7ada450aaa81368a89bed8a975a8429e945944 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Fri, 14 Jun 2024 17:57:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=92=BB=E7=9F=B3=E6=B6=88?= =?UTF-8?q?=E8=80=97=E8=AE=B0=E5=BD=95=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/constant.go | 9 +++++++++ gamesrv/base/player.go | 2 ++ model/coinlog.go | 4 +++- worldsrv/action_game.go | 2 ++ worldsrv/action_player.go | 1 + worldsrv/player.go | 3 +++ worldsrv/shopmgr.go | 19 ++++++++++++++++--- worldsrv/task_login.go | 3 +++ worldsrv/trascate_webapi.go | 6 ++++++ 9 files changed, 45 insertions(+), 4 deletions(-) diff --git a/common/constant.go b/common/constant.go index 44d335d..ec91584 100644 --- a/common/constant.go +++ b/common/constant.go @@ -268,6 +268,10 @@ const ( GainWayItemWeekActive = 82 //周活跃奖励 GainWayContinueSign = 83 //累计签到 GainWayBackend = 84 // 后台操作 + GainWayBuyCoin = 85 // 商城购买金币 + GainWayBuyItem = 86 // 商城购买道具 + GainWayBuyWeekCard = 87 // 商城购买周卡 + GainWayVipBuyCoin = 88 // vip商城购买金币 ) // 后台选择 金币变化类型 的充值 类型id号起始 @@ -753,3 +757,8 @@ const ( ChannelSwitchExchange = 1 ChannelSwitchDropItem = 2 ) + +// 特殊商品id +const ( + ShopIdWeekCard = 970001 // 周卡 +) diff --git a/gamesrv/base/player.go b/gamesrv/base/player.go index d26b98c..34a2a30 100644 --- a/gamesrv/base/player.go +++ b/gamesrv/base/player.go @@ -445,6 +445,7 @@ func (this *Player) AddCoin(num int64, gainWay int32, syncFlag int, oper, remark log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeCoin, ChangeNum: num, RemainNum: this.Coin, @@ -529,6 +530,7 @@ func (this *Player) AddCoinAsync(num int64, gainWay int32, notifyC, broadcast bo log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeCoin, ChangeNum: num, RemainNum: this.Coin, diff --git a/model/coinlog.go b/model/coinlog.go index 5f08d0e..84d0be3 100644 --- a/model/coinlog.go +++ b/model/coinlog.go @@ -77,6 +77,7 @@ func NewCoinLog() *CoinLog { type CoinLogParam struct { Platform string // 平台id SnID int32 // 玩家id + Channel string // 渠道 ChangeType int32 // 变化类型 common.BillTypeCoin 金币 common.BillTypeDiamond 钻石 ChangeNum int64 // 变化数量 RemainNum int64 // 余额 @@ -92,8 +93,9 @@ type CoinLogParam struct { func NewCoinLogEx(param *CoinLogParam) *CoinLog { tNow := time.Now() cl := NewCoinLog() - cl.SnId = param.SnID cl.Platform = param.Platform + cl.SnId = param.SnID + cl.Channel = param.Channel cl.Count = param.ChangeNum cl.Oper = param.Operator cl.Remark = param.Remark diff --git a/worldsrv/action_game.go b/worldsrv/action_game.go index 7cc1b59..b93bdce 100644 --- a/worldsrv/action_game.go +++ b/worldsrv/action_game.go @@ -522,6 +522,7 @@ func _LeaveTransferThird2SystemTask(p *Player) { coinlogex = model.NewCoinLogEx(&model.CoinLogParam{ Platform: p.Platform, SnID: p.SnId, + Channel: p.Channel, ChangeType: common.BillTypeCoin, ChangeNum: amount, RemainNum: p.Coin + amount, @@ -1162,6 +1163,7 @@ func RefreshTransferThird2SystemTask(p *Player) { coinlogex = model.NewCoinLogEx(&model.CoinLogParam{ Platform: p.Platform, SnID: p.SnId, + Channel: p.Channel, ChangeType: common.BillTypeCoin, ChangeNum: amount, RemainNum: p.Coin + amount, diff --git a/worldsrv/action_player.go b/worldsrv/action_player.go index 8ae9704..a8aaf0a 100644 --- a/worldsrv/action_player.go +++ b/worldsrv/action_player.go @@ -1414,6 +1414,7 @@ func (this *CSPlayerRegisterHandler) Process(s *netlib.Session, packetid int, da log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pi.Platform, SnID: pi.SnId, + Channel: pi.Channel, ChangeType: common.BillTypeCoin, ChangeNum: int64(model.GameParamData.NewPlayerCoin), RemainNum: pi.Coin + int64(model.GameParamData.NewPlayerCoin), diff --git a/worldsrv/player.go b/worldsrv/player.go index 392e221..d9570ce 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -1899,6 +1899,7 @@ func (this *Player) AddDiamond(num, add int64, gainWay int32, oper, remark strin log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeDiamond, ChangeNum: num, RemainNum: this.Diamond, @@ -1954,6 +1955,7 @@ func (this *Player) AddCoin(num, add int64, gainWay int32, oper, remark string) log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeCoin, ChangeNum: num, RemainNum: this.Coin, @@ -2008,6 +2010,7 @@ func (this *Player) AddCoinAsync(num, add int64, gainWay int32, oper, remark str log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: this.Platform, SnID: this.SnId, + Channel: this.Channel, ChangeType: common.BillTypeCoin, ChangeNum: num, RemainNum: this.Coin, diff --git a/worldsrv/shopmgr.go b/worldsrv/shopmgr.go index 6825768..e5eaece 100644 --- a/worldsrv/shopmgr.go +++ b/worldsrv/shopmgr.go @@ -646,13 +646,26 @@ func (this *ShopMgr) GainShop(shopInfo *model.ShopInfo, p *Player, vipShopId, po costNum := this.GetCostNum(p, shopInfo, vipShopId) if shopInfo.Ad <= 0 { //消耗 logger.Logger.Tracef("GainShop ConstType[%v],shopName[%v],costNum[%v]", shopInfo.ConstType, shopName, costNum) + + var gainWay int32 = common.GainWay_Shop_Buy + switch { + case shopInfo.Type == ShopTypeCoin: + gainWay = common.GainWayBuyCoin + case shopInfo.Id == common.ShopIdWeekCard: + gainWay = common.GainWayBuyWeekCard + case shopInfo.Type == ShopTypeItem: + gainWay = common.GainWayBuyItem + case shopInfo.Page == ShopPageVip: + gainWay = common.GainWayVipBuyCoin + } + switch shopInfo.ConstType { case ShopConsumeCoin: - p.AddCoin(-costNum, 0, common.GainWay_Shop_Buy, "sys", shopName) + p.AddCoin(-costNum, 0, gainWay, "sys", shopName) case ShopConsumeDiamond: - p.AddDiamond(-costNum, 0, common.GainWay_Shop_Buy, "sys", shopName) + p.AddDiamond(-costNum, 0, gainWay, "sys", shopName) case ShopConsumePhoneScore: - p.AddPhoneScore(-costNum, 0, common.GainWay_Shop_Buy, "sys", shopName) + p.AddPhoneScore(-costNum, 0, gainWay, "sys", shopName) default: logger.Logger.Errorf("GainShop ConstType[%v] err", shopInfo.ConstType) return shop.OpResultCode_OPRC_Error diff --git a/worldsrv/task_login.go b/worldsrv/task_login.go index 1417914..00784a5 100644 --- a/worldsrv/task_login.go +++ b/worldsrv/task_login.go @@ -135,6 +135,7 @@ func (t *TaskLogin) Call(o *basic.Object) interface{} { log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: playerData.Platform, SnID: playerData.SnId, + Channel: playerData.Channel, ChangeType: common.BillTypeCoin, ChangeNum: int64(model.GameParamData.NewPlayerCoin), RemainNum: playerData.Coin + int64(model.GameParamData.NewPlayerCoin), @@ -165,6 +166,7 @@ func (t *TaskLogin) Call(o *basic.Object) interface{} { log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: playerData.Platform, SnID: playerData.SnId, + Channel: playerData.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin, RemainNum: playerData.Coin + coin, @@ -189,6 +191,7 @@ func (t *TaskLogin) Call(o *basic.Object) interface{} { log := model.NewCoinLogEx(&model.CoinLogParam{ Platform: playerData.Platform, SnID: playerData.SnId, + Channel: playerData.Channel, ChangeType: common.BillTypeDiamond, ChangeNum: diamond, RemainNum: playerData.Diamond + diamond, diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index c0d73f7..96d40ec 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -898,6 +898,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pd.Platform, SnID: member_snid, + Channel: pd.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin, RemainNum: oldGold + coin, @@ -1023,6 +1024,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pd.Platform, SnID: member_snid, + Channel: pd.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin, RemainNum: oldGold + coin, @@ -1665,6 +1667,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: player.Platform, SnID: player.SnId, + Channel: player.Channel, ChangeType: msg.GetLogType(), ChangeNum: msg.GetGold(), RemainNum: remainNum + msg.GetGold(), @@ -1750,6 +1753,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: findPlayer.Platform, SnID: findPlayer.SnId, + Channel: findPlayer.Channel, ChangeType: msg.GetLogType(), ChangeNum: msg.GetGold(), RemainNum: remainNum + msg.GetGold(), @@ -1871,6 +1875,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pd.Platform, SnID: member_snid, + Channel: pd.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin + coinEx, RemainNum: oldGold + coin + coinEx, @@ -1995,6 +2000,7 @@ func init() { coinlogex := model.NewCoinLogEx(&model.CoinLogParam{ Platform: pd.Platform, SnID: member_snid, + Channel: pd.Channel, ChangeType: common.BillTypeCoin, ChangeNum: coin + coinEx, RemainNum: oldGold + coin + coinEx,