From 175b27705ed2519101de79115cf311c225f936f2 Mon Sep 17 00:00:00 2001 From: 王家文 Date: Fri, 24 May 2024 11:11:52 +0800 Subject: [PATCH] feat✨:排行榜功能 结算修复 --- service-common/svconst/mysql.go | 1 + service/roomrank/dto-record.go | 26 ++++++++++++++++++++++++++ service/roomrank/logic.go | 3 +++ service/roomrank/record.go | 5 +++++ 4 files changed, 35 insertions(+), 0 deletions(-) diff --git a/service-common/svconst/mysql.go b/service-common/svconst/mysql.go index 61fce59..c5c8492 100644 --- a/service-common/svconst/mysql.go +++ b/service-common/svconst/mysql.go @@ -21,6 +21,7 @@ const ( MYSQL_TABLE_S_ROOMRANK_CONFIG = "s_beach_rank_activity" // 房间排行活动配置 MYSQL_TABLE_S_ROOMRANK_PLAYER = "s_game_roomrank_player" // 房间排行玩家数据 MYSQL_TABLE_S_ROOMRANK_ROOM = "s_game_roomrank_room" // 房间排行房间数据 + MYSQL_TABLE_S_ROOMRANK_RECORD_ADDTLEAWARD = "s_game_roomrank_record_addsettleaward" // 增加结算奖励 MYSQL_TABLE_S_ROOMRANK_RECORD_SETTLEAWARD = "s_game_roomrank_record_getsettleaward" // 房间排行领取上期结算奖励 MYSQL_TABLE_S_ROOMRANK_RECORD_ADDSCORE = "s_game_roomrank_record_addscore" // 房间排行增加积分 ) diff --git a/service/roomrank/dto-record.go b/service/roomrank/dto-record.go index 6e80550..fa417ca 100644 --- a/service/roomrank/dto-record.go +++ b/service/roomrank/dto-record.go @@ -28,6 +28,32 @@ func NewRecordBase(uid int64, topType int, activityId int64) RecordBase { } } +// RecordAddSettleAward 增加结算奖励 +type RecordAddSettleAward struct { + RecordBase + Award string `gorm:"type:varchar(255);comment:奖励内容"` + UserClass int `gorm:"comment:结算用户评级"` + UserType int `gorm:"comment:用户类型"` +} + +func (d *RecordAddSettleAward) MysqlInfo(suffix string) *svmysql.MysqlInfo { + tableName := svconst.MYSQL_TABLE_S_ROOMRANK_RECORD_ADDTLEAWARD + return &svmysql.MysqlInfo{ + DbMysql: svconst.DbCommon, + TableName: fmt.Sprintf("%s_%s_%d_%d", tableName, suffix, d.TopType, d.ActivityId), + } +} + +func NewRecordAddSettleAward(recordBase RecordBase, + award string, userClass, userType int) *RecordAddSettleAward { + return &RecordAddSettleAward{ + RecordBase: recordBase, + Award: award, + UserClass: userClass, + UserType: userType, + } +} + // RecordGetSettleAward 领取上期结算奖励 type RecordGetSettleAward struct { RecordBase diff --git a/service/roomrank/logic.go b/service/roomrank/logic.go index 955caab..873febd 100644 --- a/service/roomrank/logic.go +++ b/service/roomrank/logic.go @@ -97,6 +97,9 @@ func TrySettle(gameId string, topType int, player *Player) (hasChange bool) { if len(confRoom.SettleUserType) > rankIndex { player.UserType = confRoom.SettleUserType[rankIndex] } + // 记录日志 + recordBase := NewRecordBase(player.Uid, topType, confActivity.Id) + SaveRecordAddSettleAward(gameId, NewRecordAddSettleAward(recordBase, player.SettleAward, player.SettleUserClass, player.UserType)) return } diff --git a/service/roomrank/record.go b/service/roomrank/record.go index 9c94820..bf282f0 100644 --- a/service/roomrank/record.go +++ b/service/roomrank/record.go @@ -2,6 +2,11 @@ package roomrank import "apigame/service-common/svmysql" +func SaveRecordAddSettleAward(gameId string, record *RecordAddSettleAward) { + svmysql.InitTable(record, gameId, false) + _ = svmysql.Create(record, gameId) +} + func SaveRecordGetSettleAward(gameId string, record *RecordGetSettleAward) { svmysql.InitTable(record, gameId, false) _ = svmysql.Create(record, gameId) -- libgit2 0.21.0