Commit 175b27705ed2519101de79115cf311c225f936f2

Authored by 王家文
1 parent 0b07e046
Exists in master

feat✨:排行榜功能 结算修复

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)
... ...