Commit b14a14b01d2c632f4feff86f1a41d3761869b49a

Authored by 王家文
1 parent c800e90e
Exists in master and in 1 other branch dev-wjw

feat✨:排行榜报名成功返回标记

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