From 61523b30d55bf8e42f9f80b06fe5b4f82a2ff05c Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 8 Aug 2024 16:57:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=91=E6=8D=A2=E7=A4=BC=E5=8C=85=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/clientlog.go | 6 ++++-- model/jyb.go | 14 ++++++++++++++ mq/keyconf.go | 1 + worldsrv/action_player.go | 6 ++++-- worldsrv/bagmgr.go | 21 ++++++++++++++++++++- worldsrv/logchannel.go | 1 + 6 files changed, 44 insertions(+), 5 deletions(-) diff --git a/model/clientlog.go b/model/clientlog.go index ddff88f..3e4aa37 100644 --- a/model/clientlog.go +++ b/model/clientlog.go @@ -15,8 +15,10 @@ type ClientLog struct { } type CustomData struct { - GuideTp int32 `json:"guide_tp"` - N int64 `json:"n"` + Event string `json:"event"` // 新手引导 guide + Platform string `json:"platform"` // 平台id + GuideTp int32 `json:"guide_tp"` // 新手引导类型 1完成步骤 2跳过新手引导 + N int64 `json:"n"` // 完成步骤的序号,或者跳过新手引导的序号 } type ClientLogMysql ClientLog diff --git a/model/jyb.go b/model/jyb.go index 7fc248e..7df9555 100644 --- a/model/jyb.go +++ b/model/jyb.go @@ -279,3 +279,17 @@ func Code2Id(code string) (uint64, error) { } return id, nil } + +type JybItem struct { + Id int32 `json:"id"` + Num int32 `json:"num"` +} + +type JybLog struct { + Id string `json:"jybId"` // 礼包id + Ts int64 `json:"ts"` // 时间戳 + SnId int32 `json:"snid"` // 玩家id + Tp int32 `json:"tp"` // 礼包类型 1:通用礼包 2:专属礼包 + Name string `json:"name"` // 礼包名称 + Award []*JybItem `json:"award"` // 礼包奖励 +} diff --git a/mq/keyconf.go b/mq/keyconf.go index 2257795..7dfe462 100644 --- a/mq/keyconf.go +++ b/mq/keyconf.go @@ -15,6 +15,7 @@ const ( BackSystemPermitExchange = "back_permitexchange" BackSystemPermitJoin = "back_permitjoin" BackSystemPermitTask = "back_permittask" + BackSystemJyb = "back_jyblog" ) // dbproxy 消息 diff --git a/worldsrv/action_player.go b/worldsrv/action_player.go index d7c37eb..301ea84 100644 --- a/worldsrv/action_player.go +++ b/worldsrv/action_player.go @@ -3054,8 +3054,10 @@ func CSUpdateAttribute(s *netlib.Session, packetId int, data interface{}, sid in switch msg.GetTp() { case common.AttributeGuideStep, common.AttributeGuideSkip: d := model.CustomData{ - GuideTp: msg.GetTp(), - N: int64(stepId), + Event: "guide", + Platform: p.Platform, + GuideTp: msg.GetTp(), + N: int64(stepId), } b, _ := json.Marshal(d) LogChannelSingleton.WriteLog(&model.ClientLogMysql{ diff --git a/worldsrv/bagmgr.go b/worldsrv/bagmgr.go index bbc9bc4..a03db3d 100644 --- a/worldsrv/bagmgr.go +++ b/worldsrv/bagmgr.go @@ -592,27 +592,46 @@ func (this *BagMgr) VerifyUpJybInfo(p *Player, args *model.VerifyUpJybInfoArgs) p.dirty = true } } + jybLog := &model.JybLog{ + Id: jyb.JybId.Hex(), + Ts: time.Now().Unix(), + SnId: p.SnId, + Tp: jyb.CodeType, + Name: jyb.Name, + } for _, v := range jyb.Award.Item { //if _, code := BagMgrSingleton.UpBagInfo(p.SnId, p.Platform, v.ItemId, v.ItemNum); code == bag.OpResultCode_OPRC_Sucess { // 需修改 pack.GainItem.ItemId = append(pack.GainItem.ItemId, &playerproto.ItemInfo{ ItemId: v.ItemId, ItemNum: v.ItemNum, }) + jybLog.Award = append(jybLog.Award, &model.JybItem{ + Id: v.ItemId, + Num: int32(v.ItemNum), + }) } if jyb.Award.Coin > 0 { p.AddCoin(jyb.Award.Coin, 0, common.GainWay_ActJybAward, "system", "礼包码兑换") if !p.IsRob { LogChannelSingleton.WriteMQData(model.GenerateSystemFreeGive(p.SnId, p.Name, p.Platform, p.Channel, model.SystemFreeGive_GiveType_ActJybAward, model.SystemFreeGive_CoinType_Coin, int64(jyb.Award.Coin))) } + jybLog.Award = append(jybLog.Award, &model.JybItem{ + Id: common.ItemIDCoin, + Num: int32(jyb.Award.Coin), + }) } if jyb.Award.Diamond > 0 { p.AddDiamond(jyb.Award.Diamond, 0, common.GainWay_ActJybAward, "system", "礼包码兑换") if !p.IsRob { LogChannelSingleton.WriteMQData(model.GenerateSystemFreeGive(p.SnId, p.Name, p.Platform, p.Channel, model.SystemFreeGive_GiveType_ActJybAward, model.SystemFreeGive_CoinType_Diamond, int64(jyb.Award.Diamond))) } + jybLog.Award = append(jybLog.Award, &model.JybItem{ + Id: common.ItemIDDiamond, + Num: int32(jyb.Award.Coin), + }) } // 领取日志 - + LogChannelSingleton.WriteLog(jybLog) p.dirty = true pack.GainItem.Coin = jyb.Award.Coin pack.GainItem.Diamond = jyb.Award.Diamond diff --git a/worldsrv/logchannel.go b/worldsrv/logchannel.go index 0369ca8..4ce0d90 100644 --- a/worldsrv/logchannel.go +++ b/worldsrv/logchannel.go @@ -70,4 +70,5 @@ func init() { LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitJoin, &model.BackendPermitJoin{}) LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitTask, &model.BackendPermitTask{}) LogChannelSingleton.RegisterLogCName(mq.BackClientLog, &model.ClientLogMysql{}) + LogChannelSingleton.RegisterLogCName(mq.BackSystemJyb, &model.JybLog{}) }