Commit 175b27705ed2519101de79115cf311c225f936f2
1 parent
0b07e046
Exists in
master
feat✨:排行榜功能 结算修复
Showing
4 changed files
with
35 additions
and
0 deletions
Show diff stats
service-common/svconst/mysql.go
| ... | ... | @@ -21,6 +21,7 @@ const ( |
| 21 | 21 | MYSQL_TABLE_S_ROOMRANK_CONFIG = "s_beach_rank_activity" // 房间排行活动配置 |
| 22 | 22 | MYSQL_TABLE_S_ROOMRANK_PLAYER = "s_game_roomrank_player" // 房间排行玩家数据 |
| 23 | 23 | MYSQL_TABLE_S_ROOMRANK_ROOM = "s_game_roomrank_room" // 房间排行房间数据 |
| 24 | + MYSQL_TABLE_S_ROOMRANK_RECORD_ADDTLEAWARD = "s_game_roomrank_record_addsettleaward" // 增加结算奖励 | |
| 24 | 25 | MYSQL_TABLE_S_ROOMRANK_RECORD_SETTLEAWARD = "s_game_roomrank_record_getsettleaward" // 房间排行领取上期结算奖励 |
| 25 | 26 | MYSQL_TABLE_S_ROOMRANK_RECORD_ADDSCORE = "s_game_roomrank_record_addscore" // 房间排行增加积分 |
| 26 | 27 | ) | ... | ... |
service/roomrank/dto-record.go
| ... | ... | @@ -28,6 +28,32 @@ func NewRecordBase(uid int64, topType int, activityId int64) RecordBase { |
| 28 | 28 | } |
| 29 | 29 | } |
| 30 | 30 | |
| 31 | +// RecordAddSettleAward 增加结算奖励 | |
| 32 | +type RecordAddSettleAward struct { | |
| 33 | + RecordBase | |
| 34 | + Award string `gorm:"type:varchar(255);comment:奖励内容"` | |
| 35 | + UserClass int `gorm:"comment:结算用户评级"` | |
| 36 | + UserType int `gorm:"comment:用户类型"` | |
| 37 | +} | |
| 38 | + | |
| 39 | +func (d *RecordAddSettleAward) MysqlInfo(suffix string) *svmysql.MysqlInfo { | |
| 40 | + tableName := svconst.MYSQL_TABLE_S_ROOMRANK_RECORD_ADDTLEAWARD | |
| 41 | + return &svmysql.MysqlInfo{ | |
| 42 | + DbMysql: svconst.DbCommon, | |
| 43 | + TableName: fmt.Sprintf("%s_%s_%d_%d", tableName, suffix, d.TopType, d.ActivityId), | |
| 44 | + } | |
| 45 | +} | |
| 46 | + | |
| 47 | +func NewRecordAddSettleAward(recordBase RecordBase, | |
| 48 | + award string, userClass, userType int) *RecordAddSettleAward { | |
| 49 | + return &RecordAddSettleAward{ | |
| 50 | + RecordBase: recordBase, | |
| 51 | + Award: award, | |
| 52 | + UserClass: userClass, | |
| 53 | + UserType: userType, | |
| 54 | + } | |
| 55 | +} | |
| 56 | + | |
| 31 | 57 | // RecordGetSettleAward 领取上期结算奖励 |
| 32 | 58 | type RecordGetSettleAward struct { |
| 33 | 59 | RecordBase | ... | ... |
service/roomrank/logic.go
| ... | ... | @@ -97,6 +97,9 @@ func TrySettle(gameId string, topType int, player *Player) (hasChange bool) { |
| 97 | 97 | if len(confRoom.SettleUserType) > rankIndex { |
| 98 | 98 | player.UserType = confRoom.SettleUserType[rankIndex] |
| 99 | 99 | } |
| 100 | + // 记录日志 | |
| 101 | + recordBase := NewRecordBase(player.Uid, topType, confActivity.Id) | |
| 102 | + SaveRecordAddSettleAward(gameId, NewRecordAddSettleAward(recordBase, player.SettleAward, player.SettleUserClass, player.UserType)) | |
| 100 | 103 | return |
| 101 | 104 | } |
| 102 | 105 | ... | ... |
service/roomrank/record.go
| ... | ... | @@ -2,6 +2,11 @@ package roomrank |
| 2 | 2 | |
| 3 | 3 | import "apigame/service-common/svmysql" |
| 4 | 4 | |
| 5 | +func SaveRecordAddSettleAward(gameId string, record *RecordAddSettleAward) { | |
| 6 | + svmysql.InitTable(record, gameId, false) | |
| 7 | + _ = svmysql.Create(record, gameId) | |
| 8 | +} | |
| 9 | + | |
| 5 | 10 | func SaveRecordGetSettleAward(gameId string, record *RecordGetSettleAward) { |
| 6 | 11 | svmysql.InitTable(record, gameId, false) |
| 7 | 12 | _ = svmysql.Create(record, gameId) | ... | ... |