From b512310a92951ded1617ced11c479db260a15564 Mon Sep 17 00:00:00 2001 From: by <123456@qq.com> Date: Mon, 6 Jan 2025 16:00:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=B9=B4=E5=85=BD=E6=8E=92=E8=A1=8C?= =?UTF-8?q?=E6=A6=9C=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/constant.go | 2 ++ model/player.go | 3 +++ model/rank.go | 12 ++++++++++++ mq/keyconf.go | 1 + protocol/player/player.pb.go | 2 +- protocol/player/player.proto | 2 +- worldsrv/action_nian.go | 2 +- worldsrv/mq.go | 1 + worldsrv/rankmatch.go | 19 +++++++++++++++++++ worldsrv/taskmgr.go | 6 ++++++ 10 files changed, 47 insertions(+), 3 deletions(-) diff --git a/common/constant.go b/common/constant.go index 93a3904..f9a2fae 100644 --- a/common/constant.go +++ b/common/constant.go @@ -340,6 +340,8 @@ const ( GainWayNianGain_Attack_BigOther = 129 //年兽活动大爆竹攻击年兽获得额外奖励 GainWayNianGain_Attack_BigGuarantee = 130 //年兽活动大爆竹攻击年兽获得保底奖励 GainWayNianGain_Attack_Coin = 131 //攻击年兽获得金币奖励 + GainWayNianGain_EveryDayTask = 132 //年兽活动每日任务 + GainWayNianGain_Task = 133 //年兽活动任务 ) // 后台选择 金币变化类型 的充值 类型id号起始 diff --git a/model/player.go b/model/player.go index 3b1d44c..6266021 100644 --- a/model/player.go +++ b/model/player.go @@ -112,6 +112,8 @@ const ( SystemFreeGive_CollectBoxSwap // 卡片礼盒兑换奖励 SystemFreeGive_ClientUpgrade // 客户端升级奖励 SystemFreeGive_Guide // 新手引导奖励 + SystemFreeGive_NianEveryDayTask // 年兽每日任务 + SystemFreeGive_NianTask //年兽活动任务 ) const ( SystemFreeGive_CoinType_Coin int32 = iota //金币 @@ -132,6 +134,7 @@ const ( ActivityLog_Shop //商城购买 ActivityLog_Exchange //商城兑换 ActivityLog_CoinPigBank //金币存钱罐 + ActivityLog_NianBuff //年兽领取Buff ) type PlayerGameCtrlData struct { diff --git a/model/rank.go b/model/rank.go index 7dbfd16..35ca9de 100644 --- a/model/rank.go +++ b/model/rank.go @@ -406,3 +406,15 @@ func DelNianRank(args *FindNianListArgs) error { } return nil } + +// 年兽排行榜记录 +type NianPlayerRankLog struct { + TypeId int32 //1-幸运榜 2:伤害榜 + RankData []*NianPlayerRankData + Ts int64 +} +type NianPlayerRankData struct { + RankId int32 + Snid int32 + Score int64 +} diff --git a/mq/keyconf.go b/mq/keyconf.go index d4ba3b9..9c526bf 100644 --- a/mq/keyconf.go +++ b/mq/keyconf.go @@ -20,6 +20,7 @@ const ( BackActivityLog = "back_activitylog" BackOnlineGame = "back_onlinegame" BackRedPacket = "back_redpacket" + NianPlayerRank = "log_nianplayerrank" ) // go后端 diff --git a/protocol/player/player.pb.go b/protocol/player/player.pb.go index b00a216..9060b75 100644 --- a/protocol/player/player.pb.go +++ b/protocol/player/player.pb.go @@ -7986,7 +7986,7 @@ type SCEasyWelfaredInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WelfareSwitch []int32 `protobuf:"varint,1,rep,packed,name=WelfareSwitch,proto3" json:"WelfareSwitch,omitempty"` // 下标 0转盘1盲盒2首冲3连续充值4抽手机活动5集卡活动 1显示 2不显示 + WelfareSwitch []int32 `protobuf:"varint,1,rep,packed,name=WelfareSwitch,proto3" json:"WelfareSwitch,omitempty"` // 下标 0转盘1盲盒2首冲3连续充值4抽手机活动5集卡活动6年兽活动 1显示 2不显示 } func (x *SCEasyWelfaredInfo) Reset() { diff --git a/protocol/player/player.proto b/protocol/player/player.proto index 1501d66..4f429ea 100644 --- a/protocol/player/player.proto +++ b/protocol/player/player.proto @@ -1057,7 +1057,7 @@ message SCVIPInfo { // //PACKET_SC_SWELFAREINFO message SCEasyWelfaredInfo{ - repeated int32 WelfareSwitch = 1; // 下标 0转盘1盲盒2首冲3连续充值4抽手机活动5集卡活动 1显示 2不显示 + repeated int32 WelfareSwitch = 1; // 下标 0转盘1盲盒2首冲3连续充值4抽手机活动5集卡活动6年兽活动 1显示 2不显示 } message CSVIPPrivilegeInfo { diff --git a/worldsrv/action_nian.go b/worldsrv/action_nian.go index 16fe5d0..e1125a9 100644 --- a/worldsrv/action_nian.go +++ b/worldsrv/action_nian.go @@ -606,7 +606,7 @@ func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) er } p.SendToClient(int(activity.NianPacketID_PACKET_SCNianBuff), pack) //统计领取BUff - //mq.Write() + mq.Write(model.GenerateActivityLog(p.SnId, p.Platform, model.ActivityLog_NianBuff, 1)) } else { logger.Logger.Trace("CSNianSignAward 活动时间未到!") pack := &activity.SCNianBuff{ diff --git a/worldsrv/mq.go b/worldsrv/mq.go index 7389fa7..e2ab918 100644 --- a/worldsrv/mq.go +++ b/worldsrv/mq.go @@ -35,6 +35,7 @@ func init() { mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBLotteryCode, Data: &model.LotteryCode{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBLotteryLog, Data: &model.LotteryLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.MQRankNian, Data: &model.NianInfo{}}) + mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.NianPlayerRank, Data: &model.NianPlayerRankLog{}}) } func init() { diff --git a/worldsrv/rankmatch.go b/worldsrv/rankmatch.go index c312f2f..ad47dc4 100644 --- a/worldsrv/rankmatch.go +++ b/worldsrv/rankmatch.go @@ -959,8 +959,11 @@ func (r *RankMatchMgr) NianRankAward() { if nowTime < timestamp || nowTime > endTimestamp { return } + log := &model.NianPlayerRankLog{} + log.Ts = time.Now().Unix() for _, info := range rankConfig.RankData { if info.TypeId == 1 { + log.TypeId = info.TypeId rankAward := info.RankInfo if rankAward == nil { continue @@ -1021,6 +1024,13 @@ func (r *RankMatchMgr) NianRankAward() { p.AddMessage(newMsg) } })).Start() + //记录log + rankData := &model.NianPlayerRankData{ + RankId: rankId, + Snid: player.SnId, + Score: list.List[rankId-1].Luck, + } + log.RankData = append(log.RankData, rankData) rankId += 1 } //清除幸运榜数值 @@ -1030,6 +1040,7 @@ func (r *RankMatchMgr) NianRankAward() { if err != nil { logger.Logger.Errorf("清除幸运榜数值失败 err:%v", err) } + mq.Write(log) })).StartByExecutor("NianLuck_Award") } else if info.TypeId == 2 { @@ -1041,6 +1052,7 @@ func (r *RankMatchMgr) NianRankAward() { continue } var players []*model.PlayerBaseInfo + log.TypeId = info.TypeId list, err := model.FindDamageNianRankList(&model.FindNianListArgs{ Platform: platform, }) @@ -1096,6 +1108,12 @@ func (r *RankMatchMgr) NianRankAward() { p.AddMessage(newMsg) } })).Start() + rankData := &model.NianPlayerRankData{ + RankId: rankId, + Snid: player.SnId, + Score: list.List[rankId-1].Damage, + } + log.RankData = append(log.RankData, rankData) rankId += 1 } //删除数据库数据 @@ -1105,6 +1123,7 @@ func (r *RankMatchMgr) NianRankAward() { if err != nil { logger.Logger.Errorf("删除年兽排行榜数据库数据 err:%v", err) } + mq.Write(log) })).StartByExecutor("NianDamage_Award") } } diff --git a/worldsrv/taskmgr.go b/worldsrv/taskmgr.go index e453e87..e4652b8 100644 --- a/worldsrv/taskmgr.go +++ b/worldsrv/taskmgr.go @@ -402,6 +402,12 @@ func SendTaskReward(p *Player, m map[int64]int64, tp int32) { case 6: gain = common.GainWayItemTaskPermit giveType = model.SystemFreeGive_GiveType_TaskPermit + case 8: + gain = common.GainWayNianGain_EveryDayTask + giveType = model.SystemFreeGive_NianEveryDayTask + case 9: + gain = common.GainWayNianGain_Task + giveType = model.SystemFreeGive_NianTask } BagMgrSingleton.AddItems(&model.AddItemParam{ Platform: p.Platform, From 4923b057df2392205e95b69460be7d29e886f260 Mon Sep 17 00:00:00 2001 From: by <123456@qq.com> Date: Mon, 6 Jan 2025 16:20:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B9=B4=E5=85=BD=E6=8E=92=E8=A1=8C?= =?UTF-8?q?=E6=A6=9C=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/rank.go | 1 + worldsrv/rankmatch.go | 1 + 2 files changed, 2 insertions(+) diff --git a/model/rank.go b/model/rank.go index 35ca9de..f417be9 100644 --- a/model/rank.go +++ b/model/rank.go @@ -411,6 +411,7 @@ func DelNianRank(args *FindNianListArgs) error { type NianPlayerRankLog struct { TypeId int32 //1-幸运榜 2:伤害榜 RankData []*NianPlayerRankData + Platform string Ts int64 } type NianPlayerRankData struct { diff --git a/worldsrv/rankmatch.go b/worldsrv/rankmatch.go index ad47dc4..e2a7da1 100644 --- a/worldsrv/rankmatch.go +++ b/worldsrv/rankmatch.go @@ -961,6 +961,7 @@ func (r *RankMatchMgr) NianRankAward() { } log := &model.NianPlayerRankLog{} log.Ts = time.Now().Unix() + log.Platform = platform for _, info := range rankConfig.RankData { if info.TypeId == 1 { log.TypeId = info.TypeId