diff --git a/controllers/roomrank.go b/controllers/roomrank.go index 9e7f518..d2e3502 100644 --- a/controllers/roomrank.go +++ b/controllers/roomrank.go @@ -37,10 +37,16 @@ func (c *RoomRankController) Info() { // GetSettleAward 领取上期结算奖励 func (c *RoomRankController) GetSettleAward() { req := new(models.ReqRoomRankGetSettleAward) + if !c.GetPostData(req) { return } + // 记录日志 + recordBase := roomrank.NewRecordBase(req.UID, req.TopType, 0) + roomrank.SaveRecordHandleRequest(req.GameID, + roomrank.NewRecordHandleRequest(recordBase, "GetSettleAward")) + code, rsp := roomrank.HandleGetSettleAward(req) c.RetRspCodeData(code, rsp) diff --git a/service-common/svconst/mysql.go b/service-common/svconst/mysql.go index c5c8492..4311bc7 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_REQUEST = "s_game_roomrank_record_request" // 收到请求 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 7ce33aa..5c86ae5 100644 --- a/service/roomrank/dto-record.go +++ b/service/roomrank/dto-record.go @@ -28,6 +28,28 @@ func NewRecordBase(uid int64, topType int, activityId int64) RecordBase { } } +// RecordHandleRequest 收到请求 +type RecordHandleRequest struct { + RecordBase + Req string `gorm:"type:varchar(255);comment:请求内容"` +} + +func (d *RecordHandleRequest) MysqlInfo(suffix string) *svmysql.MysqlInfo { + tableName := svconst.MYSQL_TABLE_S_ROOMRANK_RECORD_REQUEST + return &svmysql.MysqlInfo{ + DbMysql: svconst.DbCommon, + TableName: fmt.Sprintf("%s_%s_%d_%d", tableName, suffix, d.TopType, d.ActivityId), + } +} + +func NewRecordHandleRequest(recordBase RecordBase, + req string) *RecordHandleRequest { + return &RecordHandleRequest{ + RecordBase: recordBase, + Req: req, + } +} + // RecordAddSettleAward 增加结算奖励 type RecordAddSettleAward struct { RecordBase diff --git a/service/roomrank/logic.go b/service/roomrank/logic.go index 5a3927c..9c863ca 100644 --- a/service/roomrank/logic.go +++ b/service/roomrank/logic.go @@ -49,6 +49,10 @@ func TrySettle(gameId string, topType int, player *Player) (hasChange bool) { return } + if player.SettleHas() { + return + } + confActivity, hasConfActivity := confroomrank.GetConfig(gameId, player.ActivityId) if !hasConfActivity { return diff --git a/service/roomrank/record.go b/service/roomrank/record.go index bf282f0..5966caa 100644 --- a/service/roomrank/record.go +++ b/service/roomrank/record.go @@ -2,6 +2,11 @@ package roomrank import "apigame/service-common/svmysql" +func SaveRecordHandleRequest(gameId string, record *RecordHandleRequest) { + svmysql.InitTable(record, gameId, false) + _ = svmysql.Create(record, gameId) +} + func SaveRecordAddSettleAward(gameId string, record *RecordAddSettleAward) { svmysql.InitTable(record, gameId, false) _ = svmysql.Create(record, gameId) -- libgit2 0.21.0