Commit b14a14b01d2c632f4feff86f1a41d3761869b49a
1 parent
c800e90e
Exists in
master
and in
1 other branch
feat✨:排行榜报名成功返回标记
Showing
3 changed files
with
9 additions
and
3 deletions
Show diff stats
models/roomrank.go
| ... | ... | @@ -31,6 +31,7 @@ type RoomRankInfo struct { |
| 31 | 31 | UserClass int `form:"user_class" json:"user_class"` // 用户评级 |
| 32 | 32 | SelfRank int `form:"self_rank" json:"self_rank"` // 自己排名 |
| 33 | 33 | SelfScore int64 `form:"self_score" json:"self_score"` // 自己积分 |
| 34 | + FirstJoin bool `form:"first_join" json:"first_join"` // 是否本期第一次报名 | |
| 34 | 35 | RobotAvatarPath string `form:"robot_avatar_path" json:"robot_avatar_path"` // 机器人头像路径 |
| 35 | 36 | Tops []RoomRankTopNode `form:"tops" json:"tops"` // 排行榜数据列表 |
| 36 | 37 | } | ... | ... |
service/roomrank/handle.go
| ... | ... | @@ -70,7 +70,7 @@ func HandleInfo(req *models.ReqRoomRankInfo) (code string, rsp models.RspRoomRan |
| 70 | 70 | } |
| 71 | 71 | |
| 72 | 72 | // 尝试加入房间 |
| 73 | - room, hasRoom := TryGetRoom(gameId, req.TopType, player, config, playerLevel) | |
| 73 | + room, hasRoom, firstJoin := TryGetRoom(gameId, req.TopType, player, config, playerLevel) | |
| 74 | 74 | |
| 75 | 75 | if !hasRoom { |
| 76 | 76 | code = code_msg.RECODE_MERGE_CONFIG_ERROR |
| ... | ... | @@ -80,6 +80,7 @@ func HandleInfo(req *models.ReqRoomRankInfo) (code string, rsp models.RspRoomRan |
| 80 | 80 | SavePlayer(gameId, player) |
| 81 | 81 | SaveRoom(gameId, room) |
| 82 | 82 | rsp.RoomRankInfo = GetInfoFromRoom(gameId, player, room, config) |
| 83 | + rsp.RoomRankInfo.FirstJoin = firstJoin | |
| 83 | 84 | |
| 84 | 85 | return |
| 85 | 86 | } |
| ... | ... | @@ -189,7 +190,7 @@ func HandleAddScore(req *models.ReqRoomRankAddScore) (code string, rsp models.Rs |
| 189 | 190 | } |
| 190 | 191 | |
| 191 | 192 | // 尝试加入房间 |
| 192 | - room, hasRoom := TryGetRoom(gameId, req.TopType, player, config, playerLevel) | |
| 193 | + room, hasRoom, firstJoin := TryGetRoom(gameId, req.TopType, player, config, playerLevel) | |
| 193 | 194 | |
| 194 | 195 | // 房间排行增加积分 |
| 195 | 196 | oldScore, newScore := ChangePlayerScore(room, player, req.AddScore) |
| ... | ... | @@ -203,6 +204,7 @@ func HandleAddScore(req *models.ReqRoomRankAddScore) (code string, rsp models.Rs |
| 203 | 204 | SaveRoom(gameId, room) |
| 204 | 205 | |
| 205 | 206 | rsp.RoomRankInfo = GetInfoFromRoom(gameId, player, room, config) |
| 207 | + rsp.RoomRankInfo.FirstJoin = firstJoin | |
| 206 | 208 | |
| 207 | 209 | // 记录日志 |
| 208 | 210 | recordBase := NewRecordBase(player.Uid, req.TopType, config.Id) | ... | ... |
service/roomrank/room.go
| ... | ... | @@ -85,8 +85,9 @@ func FindRoom(gameId string, topType int, activityId int64, roomConfigId int) (r |
| 85 | 85 | } |
| 86 | 86 | |
| 87 | 87 | // TryGetRoom 尝试获取房间 |
| 88 | -func TryGetRoom(gameId string, topType int, player *Player, config *confroomrank.ActivityConfig, playerLevel int) (room *Room, hasRoom bool) { | |
| 88 | +func TryGetRoom(gameId string, topType int, player *Player, config *confroomrank.ActivityConfig, playerLevel int) (room *Room, hasRoom bool, firstJoin bool) { | |
| 89 | 89 | hasRoom = false |
| 90 | + firstJoin = false | |
| 90 | 91 | if player.ActivityId != config.Id { |
| 91 | 92 | player.ActivityId = config.Id |
| 92 | 93 | player.RoomUid = 0 |
| ... | ... | @@ -136,6 +137,7 @@ func TryGetRoom(gameId string, topType int, player *Player, config *confroomrank |
| 136 | 137 | if hasRoom { |
| 137 | 138 | // 如果有 就加入 |
| 138 | 139 | PlayerJoinRoom(room, player) |
| 140 | + firstJoin = true | |
| 139 | 141 | } else { |
| 140 | 142 | // 如果没有合适条件的房间 创建一个 |
| 141 | 143 | roomCreate, hasCreate := CreateRoom(gameId, topType, config.Id, roomConfigId) |
| ... | ... | @@ -146,6 +148,7 @@ func TryGetRoom(gameId string, topType int, player *Player, config *confroomrank |
| 146 | 148 | JoinInitRobot(gameId, room, roomConfig) |
| 147 | 149 | |
| 148 | 150 | PlayerJoinRoom(room, player) |
| 151 | + firstJoin = true | |
| 149 | 152 | hasRoom = hasCreate |
| 150 | 153 | } |
| 151 | 154 | } | ... | ... |