rank_msg.go 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829
  1. package msg
  2. import (
  3. "rocommon"
  4. "rocommon/util"
  5. "roserver/baseserver/model"
  6. rankMode "roserver/rank/model"
  7. "roserver/serverproto"
  8. )
  9. func init() {
  10. ///MapRank
  11. //地图挑战进度变更(大地图显示使用)
  12. serverproto.Handle_RANK_SSMapLevelChangeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  13. msg := ev.Msg().(*serverproto.SSMapLevelChangeReq)
  14. util.DebugF("receive SSMapLevelChangeReq msg=%v uid=%v", msg, cliId.SessID)
  15. ackMsg := &serverproto.SSMapLevelChangeAck{
  16. Error: int32(serverproto.ErrorCode_ERROR_BATTLE_NOT_IN_RANK),
  17. //Error: int32(serverproto.ErrorCode_ERROR_FAIL),
  18. Notify: false,
  19. }
  20. if msg.IsHard {
  21. var selfRank uint32 = 0
  22. var totalRank uint32 = 0
  23. var battleRecordId uint64 = 0
  24. //获取排名
  25. if msg.NewMapLevelId == 0 && msg.PassTime == 0 {
  26. selfRank, totalRank = rankMode.GetMapHardRank(cliId.SessID)
  27. ackMsg.Notify = true
  28. } else {
  29. //设置排名
  30. selfRank, totalRank, battleRecordId = rankMode.AddHardMapRank(cliId.SessID, msg.NewMapLevelId, msg.PassTime, msg.RecordInfo)
  31. ackMsg.BattleRecordId = battleRecordId
  32. ackMsg.RecordTimeStamp = msg.RecordInfo.RecordTime
  33. }
  34. if totalRank > 0 {
  35. ackMsg.Error = int32(serverproto.ErrorCode_ERROR_OK)
  36. ackMsg.Rank = selfRank + 1
  37. }
  38. ackMsg.RankPlayers = totalRank
  39. ackMsg.TopPlayerList = append(rankMode.MapHardRankTopThree)
  40. } else {
  41. var selfRank uint32 = 0
  42. var totalRank uint32 = 0
  43. var battleRecordId uint64 = 0
  44. //获取排名
  45. if msg.NewMapLevelId == 0 && msg.PassTime == 0 {
  46. selfRank, totalRank = rankMode.GetMapRank(cliId.SessID)
  47. ackMsg.Notify = true
  48. } else {
  49. //设置排名
  50. selfRank, totalRank, battleRecordId = rankMode.AddMapRank(cliId.SessID, msg.NewMapLevelId, msg.PassTime, msg.RecordInfo)
  51. ackMsg.BattleRecordId = battleRecordId
  52. ackMsg.RecordTimeStamp = msg.RecordInfo.RecordTime
  53. }
  54. if totalRank > 0 {
  55. ackMsg.Error = int32(serverproto.ErrorCode_ERROR_OK)
  56. ackMsg.Rank = selfRank + 1
  57. }
  58. ackMsg.RankPlayers = totalRank
  59. ackMsg.TopPlayerList = append(rankMode.MapRankTopThree)
  60. }
  61. util.DebugF("SSMapLevelChangeReq ackMsg=%v uid=%v newmaplevel=%v selfRank=%v", ackMsg, cliId.SessID, msg.NewMapLevelId, ackMsg.Rank)
  62. model.ServiceReplay(ev, ackMsg)
  63. })
  64. //set max fight power rank
  65. serverproto.Handle_RANK_SSMaxFightPowerRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  66. msg := ev.Msg().(*serverproto.SSMaxFightPowerRankNtf)
  67. util.DebugF("receive SSMaxFightPowerRankNtf msg:%v [%v]", msg, cliId.SessID)
  68. rankMode.AddMaxFightPowerRank(cliId.SessID, msg.MaxFightPower)
  69. })
  70. ///Arena
  71. //set arena score rank
  72. serverproto.Handle_RANK_SSArenaScoreRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  73. msg := ev.Msg().(*serverproto.SSArenaScoreRankNtf)
  74. util.DebugF("receive SSArenaScoreRankNtf msg:%v [%v]", msg, cliId.SessID)
  75. rankMode.SetArenaScoreRank(cliId.SessID, msg.Score, util.GetTimeMilliseconds(),
  76. msg.OldScore, msg.MinTopScore, msg.TopRankNum)
  77. })
  78. //获取英灵殿赛季排行榜 arena
  79. serverproto.Handle_RANK_SSArenaRankListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  80. msg := ev.Msg().(*serverproto.SSArenaRankListReq)
  81. util.DebugF("receive SSArenaRankListReq msg:%v [%v]", msg, cliId.SessID)
  82. ssAckMsg := &serverproto.SSArenaRankListAck{
  83. Error: int32(serverproto.ErrorCode_ERROR_OK),
  84. RankType: msg.RankType,
  85. StartIdx: msg.StartIdx,
  86. }
  87. selfRank := rankMode.GetArenaRankList(cliId.SessID, msg.RankType, msg.StartIdx, msg.LastSeasonId, ssAckMsg)
  88. if selfRank > 0 {
  89. ssAckMsg.SelfRank = selfRank
  90. }
  91. model.ServiceReplay(ev, ssAckMsg)
  92. })
  93. //获取英灵殿赛季奖励
  94. serverproto.Handle_RANK_SSArenaRankRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  95. msg := ev.Msg().(*serverproto.SSArenaRankRewardReq)
  96. util.DebugF("receive SSArenaRankRewardReq msg:%v [%v]", msg, cliId.SessID)
  97. selfRank, seasonId := rankMode.GetArenaRankReward(msg.Uid, msg.Score, msg.SeasonId)
  98. ssAckMsg := &serverproto.SSArenaRankRewardAck{
  99. SelfRank: selfRank,
  100. RewardSeasonId: seasonId,
  101. }
  102. model.ServiceReplay(ev, ssAckMsg)
  103. })
  104. //更新英灵殿赛季数据(生成赛季排行榜)
  105. serverproto.Handle_RANK_SSArenaRankUpdateReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  106. msg := ev.Msg().(*serverproto.SSArenaRankUpdateReq)
  107. util.DebugF("receive SSArenaRankUpdateReq msg:%v [%v]", msg, cliId.SessID)
  108. ssAckMsg := &serverproto.SSArenaRankUpdateAck{
  109. RewardSeasonId: msg.LastSeasonId,
  110. }
  111. ret := rankMode.UpdateArenaRank(msg.LastSeasonId, &(msg.RewardPlayerList), &(ssAckMsg.RewardPlayerList))
  112. ssAckMsg.Error = int32(ret)
  113. model.ServiceReplay(ev, ssAckMsg)
  114. })
  115. ///Competition
  116. //获取对应赛季信息 from game
  117. serverproto.Handle_RANK_SSGetCompetitionDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  118. msg := ev.Msg().(*serverproto.SSGetCompetitionDataReq)
  119. util.DebugF("uid=%v receive SSGetCompetitionDataReq msg=%v", cliId.SessID, msg)
  120. ssAckMsg := &serverproto.SSGetCompetitionDataAck{
  121. Error: int32(serverproto.ErrorCode_ERROR_OK),
  122. CompetitionData: &serverproto.CompetitionInfo{
  123. CompetitionId: msg.CompetitionId,
  124. },
  125. }
  126. rankMode.CompetitionMag.GetCompetitionData(cliId.SessID, msg.CompetitionId, msg.SubIdNum,
  127. msg.IsNowCompetition, (model.CompetitionType)(msg.CompetitionType), ssAckMsg)
  128. model.ServiceReplay(ev, ssAckMsg)
  129. })
  130. //赛季结算奖励 from game
  131. serverproto.Handle_RANK_SSCompetitionRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  132. msg := ev.Msg().(*serverproto.SSCompetitionRewardReq)
  133. util.DebugF(" uid=%v receive SSCompetitionRewardReq msg=%v ", cliId.SessID, msg)
  134. ssAckMsg := &serverproto.SSCompetitionRewardAck{
  135. CompetitionId: msg.CompetitionId,
  136. }
  137. rankMode.CompetitionMag.CompetitionFinish(msg, ssAckMsg)
  138. model.ServiceReplay(ev, ssAckMsg)
  139. })
  140. //更新积分赛季排名 from game
  141. serverproto.Handle_RANK_SSCompetitionUpdateScoreReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  142. msg := ev.Msg().(*serverproto.SSCompetitionUpdateScoreReq)
  143. util.DebugF("uid=%v receive SSCompetitionUpdateScoreReq msg=%v", cliId.SessID, msg)
  144. curVoteTicket := msg.CurVoteScore
  145. totalScore := int32(0)
  146. if msg.CompetitionId == int32(model.CompetitionType_Idol) {
  147. totalScore = rankMode.CompetitionMag.FansVoteChange(msg.Uid, msg.FansUid, msg.CurVoteScore, msg.CompetitionId)
  148. //redis查询出错,就不能继续走下去了
  149. if totalScore == -1 {
  150. return
  151. }
  152. //在rank计算被投票人总票数()
  153. msg.Score = totalScore
  154. }
  155. //老的投票流程 开始
  156. ssAckMsg := &serverproto.SSCompetitionUpdateScoreAck{
  157. CompetitionId: msg.CompetitionId,
  158. }
  159. rankMode.CompetitionMag.UpdateRankByScore(msg.CompetitionId, msg.Uid, msg.Score, ssAckMsg)
  160. model.ServiceReplay(ev, ssAckMsg)
  161. //老的投票流程 结束
  162. if msg.CompetitionId == int32(model.CompetitionType_Idol) {
  163. ntfMsg := &serverproto.SSCompetitionOnVoteNtf{
  164. Uid: msg.Uid,
  165. VoteTarget: &serverproto.FansRankData{
  166. Uid: msg.Uid,
  167. },
  168. TicketCount: curVoteTicket,
  169. }
  170. rankMode.CompetitionMag.GetVoteDetail(msg.CompetitionId, ntfMsg)
  171. model.ServiceReplay(ev, ntfMsg)
  172. }
  173. })
  174. //上线时一次性获取历史赛季奖励 from game
  175. serverproto.Handle_RANK_SSCompetitionRewardHistoryReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  176. msg := ev.Msg().(*serverproto.SSCompetitionRewardHistoryReq)
  177. util.DebugF("uid=%v receive SSCompetitionRewardHistoryReq msg=%v", cliId.SessID, msg)
  178. ssAckMsg := &serverproto.SSCompetitionRewardHistoryAck{
  179. ECompetitionId: msg.ECompetitionId,
  180. ECompetitionSubId: msg.ECompetitionSubId,
  181. }
  182. rankMode.CompetitionMag.GetHistoryCompetitionReward(cliId.SessID,
  183. msg.SCompetitionId, msg.SCompetitionSubId, msg.ECompetitionId, msg.ECompetitionSubId, ssAckMsg)
  184. if len(ssAckMsg.RewardUidList) > 0 {
  185. model.ServiceReplay(ev, ssAckMsg)
  186. }
  187. })
  188. //更新通关战力//查看是否更新全服排名
  189. serverproto.Handle_RANK_SSTowerPassFightPowerNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  190. msg := ev.Msg().(*serverproto.SSTowerPassFightPowerNtf)
  191. util.DebugF("uid=%v receive SSTowerPassFightPowerNtf msg=%v", cliId.SessID, msg)
  192. //处理是否更新最新排名
  193. bRet := false
  194. if msg.IsGm == false {
  195. bRet = rankMode.TowerMag.AddMinFightList(msg.TowerBfInfo)
  196. } else {
  197. bRet = rankMode.TowerMag.AddMinFightListGM(msg.TowerBfInfo)
  198. }
  199. if bRet == true { //如果当前战斗有突破,则通知这个玩家最小战力通关榜
  200. ackMsg := &serverproto.SSTowerMinFightPowerAck{
  201. BattleRecordId: msg.TowerBfInfo.CommonInfo.BattleRecordId,
  202. RecordTimeStamp: msg.RecordTimeStamp,
  203. Notify: true,
  204. }
  205. rankMode.TowerMag.GetMinFightList(msg.TowerBfInfo.CommonInfo.TowerLevel, ackMsg)
  206. model.ServiceReplay(ev, ackMsg)
  207. }
  208. //处理更新全服排名
  209. rankMode.TowerMag.AddTowerLevelRank(msg.TowerBfInfo.CommonInfo)
  210. })
  211. //请求通关最小战力
  212. serverproto.Handle_RANK_SSTowerMinFightPowerReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  213. msg := ev.Msg().(*serverproto.SSTowerMinFightPowerReq)
  214. util.DebugF("uid=%v receive SSTowerMinFightPowerReq msg=%v", cliId.SessID, msg)
  215. //请求最小通关榜
  216. ackMsg := &serverproto.SSTowerMinFightPowerAck{}
  217. rankMode.TowerMag.GetMinFightList(msg.TowerLevel, ackMsg)
  218. model.ServiceReplay(ev, ackMsg)
  219. })
  220. //请求关卡排名
  221. serverproto.Handle_RANK_SSPassTowerLevelRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  222. msg := ev.Msg().(*serverproto.SSPassTowerLevelRankReq)
  223. util.DebugF("uid=%v receive SSPassTowerLevelRankReq msg=%v", cliId.SessID, msg)
  224. ackMsg := &serverproto.SSPassTowerLevelRankAck{}
  225. rankMode.TowerMag.GetTopTowerRank(msg.Uid, ackMsg)
  226. model.ServiceReplay(ev, ackMsg)
  227. })
  228. serverproto.Handle_RANK_CSPlayerBattleRecordReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  229. msg := ev.Msg().(*serverproto.CSPlayerBattleRecordReq)
  230. util.DebugF("uid=%v receive CSPlayerBattleRecordReq msg=%v", cliId.SessID, msg)
  231. ackMsg := &serverproto.SCPlayerBattleRecordAck{
  232. Error: int32(serverproto.ErrorCode_ERROR_OK),
  233. }
  234. recordType := msg.RecordType / 100
  235. //subRecordType := msg.RecordType % 100
  236. if recordType == int32(serverproto.BattleRecordType_BattleRecordType_Normal) {
  237. rankMode.GetBattleRecordMap(ackMsg, msg.ParamList)
  238. }
  239. model.ServiceReplay(ev, ackMsg)
  240. })
  241. serverproto.Handle_RANK_SSCardCollectionChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  242. msg := ev.Msg().(*serverproto.SSCardCollectionChangeNtf)
  243. util.DebugF("uid=%v receive SSCardCollectionChangeNtf msg=%v", cliId.SessID, msg)
  244. rankMode.CardCollectMag.OnCardCollectChange(msg.Uid, msg.CardId, msg.CardLevel)
  245. })
  246. serverproto.Handle_RANK_CSCardCollectionRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  247. msg := ev.Msg().(*serverproto.CSCardCollectionRankReq)
  248. util.DebugF("uid=%v receive CSCardCollectionRankReq msg=%v", cliId.SessID, msg)
  249. rankMode.CardCollectMag.CardRankInfo(msg, ev)
  250. })
  251. ///百人道场
  252. //获取玩家自身占位信息
  253. serverproto.Handle_RANK_CSDaoChang100PlayerInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  254. msg := ev.Msg().(*serverproto.CSDaoChang100PlayerInfoReq)
  255. util.DebugF("uid=%v receive CSDaoChang100PlayerInfoReq msg=%v", cliId.SessID, msg)
  256. ackMsg := &serverproto.SCDaoChang100PlayerInfoAck{}
  257. rankMode.DaoChang100Mag.GetPosInfoByUid(msg.PlayerUid, ackMsg)
  258. model.ServiceReplay(ev, ackMsg)
  259. })
  260. //获取占位信息
  261. serverproto.Handle_RANK_SSDaoChang100PosInfoListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  262. msg := ev.Msg().(*serverproto.SSDaoChang100PosInfoListReq)
  263. //util.DebugF("uid=%v receive SSDaoChang100PosInfoListReq msg=%v", cliId.SessID, msg)
  264. ackMsg := &serverproto.SSDaoChang100PosInfoListAck{}
  265. rankMode.DaoChang100Mag.GetPosInfoList(msg.PosIdxList, ackMsg)
  266. model.ServiceReplay(ev, ackMsg)
  267. })
  268. //发起占位挑战
  269. serverproto.Handle_RANK_SSDaoChang100ChallengeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  270. msg := ev.Msg().(*serverproto.SSDaoChang100ChallengeReq)
  271. util.DebugF("uid=%v receive SSDaoChang100ChallengeReq msg=%v", cliId.SessID, msg)
  272. ackMsg := &serverproto.SSDaoChang100ChallengeAck{}
  273. rankMode.DaoChang100Mag.ChallengePre(msg.PosIdx, msg.HasChallengeCount, msg.OwnerBrief, ackMsg, ev)
  274. model.ServiceReplay(ev, ackMsg)
  275. })
  276. //挑战成功/失败通知
  277. serverproto.Handle_RANK_SSDaoChang100ChallengeResultReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  278. msg := ev.Msg().(*serverproto.SSDaoChang100ChallengeResultReq)
  279. util.DebugF("uid=%v receive SSDaoChang100ChallengeResultReq msg=%v", cliId.SessID, msg)
  280. ackMsg := &serverproto.SSDaoChang100ChallengeResultAck{}
  281. rankMode.DaoChang100Mag.ChallengeResult(msg.PosIdx, msg.PosUid, msg.OwnerBrief, msg.BattleResult, ackMsg, ev)
  282. model.ServiceReplay(ev, ackMsg)
  283. })
  284. //获取收益奖励
  285. serverproto.Handle_RANK_SSDaoChang100TimeRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  286. msg := ev.Msg().(*serverproto.SSDaoChang100TimeRewardReq)
  287. util.DebugF("uid=%v receive SSDaoChang100TimeRewardReq msg=%v", cliId.SessID, msg)
  288. ackMsg := &serverproto.SSDaoChang100TimeRewardAck{}
  289. rankMode.DaoChang100Mag.TimeReward(msg.Uid, msg.BaseRewardTime, msg.RewardIntervalTime, msg.NowTime, ackMsg)
  290. model.ServiceReplay(ev, ackMsg)
  291. })
  292. //占领日志信息
  293. serverproto.Handle_RANK_SSDaoChang100LogReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  294. msg := ev.Msg().(*serverproto.SSDaoChang100LogReq)
  295. util.DebugF("uid=%v receive SSDaoChang100LogReq msg=%v", cliId.SessID, msg)
  296. ackMsg := &serverproto.SSDaoChang100LogAck{}
  297. rankMode.DaoChang100Mag.GetPosIdxLog(cliId.SessID, msg.BeginTime, ackMsg)
  298. model.ServiceReplay(ev, ackMsg)
  299. })
  300. //请求冲榜赛季数据
  301. serverproto.Handle_RANK_SSOnlineGetRushInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  302. msg := ev.Msg().(*serverproto.SSOnlineGetRushInfoReq)
  303. util.DebugF("uid=%v receive SSOnlineGetRushInfoReq msg=%v", cliId.SessID, msg)
  304. ackMsg := &serverproto.SSOnlineGetRushInfoAck{
  305. Uid: msg.Uid,
  306. }
  307. //打包爬塔冲榜数据
  308. towerRushData := &serverproto.RushActivityData{
  309. RushType: model.Rush_Type_Tower,
  310. }
  311. rankMode.TowerMag.GetCurRushInfo(towerRushData)
  312. ackMsg.RushData = append(ackMsg.RushData, towerRushData)
  313. //打包英灵殿冲榜数据
  314. arenaRushData := &serverproto.RushActivityData{
  315. RushType: model.Rush_Type_Arena,
  316. }
  317. rankMode.ArenaMag.GetCurRushInfo(arenaRushData)
  318. ackMsg.RushData = append(ackMsg.RushData, arenaRushData)
  319. //打包推图冲榜数据
  320. mapRushData := &serverproto.RushActivityData{
  321. RushType: model.Rush_Type_Map,
  322. }
  323. rankMode.MapScoreMag.GetCurRushInfo(mapRushData)
  324. ackMsg.RushData = append(ackMsg.RushData, mapRushData)
  325. //打包宠物冲榜数据
  326. petRushData := &serverproto.RushActivityData{
  327. RushType: model.Rush_Type_Pet,
  328. }
  329. rankMode.PetRankMag.GetCurRushInfo(petRushData)
  330. ackMsg.RushData = append(ackMsg.RushData, petRushData)
  331. //打包技能冲榜数据
  332. skillRushData := &serverproto.RushActivityData{
  333. RushType: model.Rush_Type_Skill,
  334. }
  335. rankMode.SkillRankMag.GetCurRushInfo(skillRushData)
  336. ackMsg.RushData = append(ackMsg.RushData, skillRushData)
  337. model.ServiceReplay(ev, ackMsg)
  338. })
  339. //获取冲榜详细信息
  340. serverproto.Handle_RANK_SSGetRushDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  341. msg := ev.Msg().(*serverproto.SSGetRushDataReq)
  342. util.DebugF("uid=%v receive SSGetRushDataReq msg=%v", cliId.SessID, msg)
  343. ackMsg := &serverproto.SSGetRushDataAck{
  344. Uid: msg.Uid,
  345. RushType: msg.RushType,
  346. }
  347. if msg.RushType == model.Rush_Type_Tower {
  348. rankMode.TowerMag.GetSelfRushData(ackMsg)
  349. } else if msg.RushType == model.Rush_Type_Arena {
  350. rankMode.ArenaMag.GetSelfRushData(ackMsg)
  351. } else if msg.RushType == model.Rush_Type_Map {
  352. rankMode.MapScoreMag.GetSelfRushData(ackMsg)
  353. } else if msg.RushType == model.Rush_Type_Pet {
  354. rankMode.PetRankMag.GetSelfRushData(ackMsg)
  355. } else if msg.RushType == model.Rush_Type_Skill {
  356. rankMode.SkillRankMag.GetSelfRushData(ackMsg)
  357. }
  358. model.ServiceReplay(ev, ackMsg)
  359. })
  360. serverproto.Handle_RANK_SSRushDataChangeReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  361. msg := ev.Msg().(*serverproto.SSRushDataChangeReq)
  362. util.DebugF("uid=%v receive SSRushDataChangeReq msg=%v", cliId.SessID, msg)
  363. ackMsg := &serverproto.SSRushDataChangeAck{
  364. Uid: msg.Uid,
  365. RushType: msg.RushType,
  366. Score: msg.Score,
  367. Score2: msg.Score2,
  368. Score3: msg.Score3,
  369. }
  370. if msg.RushType == model.Rush_Type_Tower {
  371. rankMode.TowerMag.CheckRushTowerAddScore(ackMsg)
  372. } else if msg.RushType == model.Rush_Type_Arena {
  373. rankMode.ArenaMag.CheckRushArenaAddScore(ackMsg)
  374. } else if msg.RushType == model.Rush_Type_Map {
  375. rankMode.MapScoreMag.CheckRushMapAddScore(ackMsg)
  376. } else if msg.RushType == model.Rush_Type_Pet {
  377. rankMode.PetRankMag.CheckRushPetAddScore(ackMsg)
  378. } else if msg.RushType == model.Rush_Type_Skill {
  379. rankMode.SkillRankMag.CheckRushSkillAddScore(ackMsg)
  380. }
  381. model.ServiceReplay(ev, ackMsg)
  382. })
  383. //主动领取排名奖励请求
  384. serverproto.Handle_RANK_SSGetRushRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  385. msg := ev.Msg().(*serverproto.SSGetRushRewardReq)
  386. util.DebugF("uid=%v receive SSGetRushRewardReq msg=%v", cliId.SessID, msg)
  387. ackMsg := &serverproto.SSGetRushRewardAck{
  388. Uid: msg.Uid,
  389. RewardType: msg.RewardType,
  390. RushType: msg.RushType,
  391. }
  392. if msg.RushType == model.Rush_Type_Tower {
  393. rankMode.TowerMag.GetRushTowerReward(ackMsg, msg.RewardType)
  394. } else if msg.RushType == model.Rush_Type_Arena {
  395. rankMode.ArenaMag.GetRushArenaReward(ackMsg, msg.RewardType)
  396. } else if msg.RushType == model.Rush_Type_Map {
  397. rankMode.MapScoreMag.GetRushMapReward(ackMsg, msg.RewardType)
  398. } else if msg.RushType == model.Rush_Type_Pet {
  399. rankMode.PetRankMag.GetRushPetReward(ackMsg, msg.RewardType)
  400. } else if msg.RushType == model.Rush_Type_Skill {
  401. rankMode.SkillRankMag.GetRushSkillReward(ackMsg, msg.RewardType)
  402. }
  403. model.ServiceReplay(ev, ackMsg)
  404. })
  405. //主动领取保底奖励请求
  406. serverproto.Handle_RANK_SSGetRushBaseRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  407. msg := ev.Msg().(*serverproto.SSGetRushBaseRewardReq)
  408. util.DebugF("uid=%v receive SSGetRushBaseRewardReq msg=%v", cliId.SessID, msg)
  409. ackMsg := &serverproto.SSGetRushBaseRewardAck{
  410. Uid: msg.Uid,
  411. RushType: msg.RushType,
  412. }
  413. if msg.RushType == model.Rush_Type_Tower {
  414. rankMode.TowerMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
  415. } else if msg.RushType == model.Rush_Type_Arena {
  416. rankMode.ArenaMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
  417. } else if msg.RushType == model.Rush_Type_Map {
  418. rankMode.MapScoreMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
  419. } else if msg.RushType == model.Rush_Type_Pet {
  420. rankMode.PetRankMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
  421. } else if msg.RushType == model.Rush_Type_Skill {
  422. rankMode.SkillRankMag.GetRushBaseReward(msg.Uid, msg.RushRound, ackMsg)
  423. }
  424. model.ServiceReplay(ev, ackMsg)
  425. })
  426. //冲榜商店信息请求
  427. serverproto.Handle_RANK_SSGetRushShopInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  428. msg := ev.Msg().(*serverproto.SSGetRushShopInfoReq)
  429. util.DebugF("uid=%v receive SSGetRushShopInfoReq msg=%v", cliId.SessID, msg)
  430. ackMsg := &serverproto.SSGetRushShopInfoAck{
  431. Uid: msg.Uid,
  432. RushType: msg.RushType,
  433. ShopType: msg.ShopType,
  434. SubShopId: msg.SubShopId,
  435. }
  436. if msg.RushType == model.Rush_Type_Tower {
  437. rushStage, rushId := rankMode.TowerMag.GetRushInfo()
  438. ackMsg.RushStage = rushStage
  439. ackMsg.RushRound = rushId
  440. } else if msg.RushType == model.Rush_Type_Arena {
  441. rushStage, rushId := rankMode.ArenaMag.GetRushInfo()
  442. ackMsg.RushStage = rushStage
  443. ackMsg.RushRound = rushId
  444. } else if msg.RushType == model.Rush_Type_Map {
  445. rushStage, rushId := rankMode.MapScoreMag.GetRushInfo()
  446. ackMsg.RushStage = rushStage
  447. ackMsg.RushRound = rushId
  448. } else if msg.RushType == model.Rush_Type_Pet {
  449. rushStage, rushId := rankMode.PetRankMag.GetRushInfo()
  450. ackMsg.RushStage = rushStage
  451. ackMsg.RushRound = rushId
  452. } else if msg.RushType == model.Rush_Type_Skill {
  453. rushStage, rushId := rankMode.SkillRankMag.GetRushInfo()
  454. ackMsg.RushStage = rushStage
  455. ackMsg.RushRound = rushId
  456. }
  457. model.ServiceReplay(ev, ackMsg)
  458. })
  459. //冲榜商店购买请求
  460. serverproto.Handle_RANK_SSGetRushShopBuyReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  461. msg := ev.Msg().(*serverproto.SSGetRushShopBuyReq)
  462. util.DebugF("uid=%v receive SSGetRushShopBuyReq msg=%v", cliId.SessID, msg)
  463. ackMsg := &serverproto.SSGetRushShopBuyAck{
  464. Uid: msg.Uid,
  465. ShopType: msg.ShopType,
  466. GoodsId: msg.GoodsId,
  467. GoodsNum: msg.GoodsNum,
  468. }
  469. if msg.RushType == model.Rush_Type_Tower {
  470. rushStage, rushId := rankMode.TowerMag.GetRushInfo()
  471. ackMsg.RushStage = rushStage
  472. ackMsg.RushRound = rushId
  473. } else if msg.RushType == model.Rush_Type_Arena {
  474. rushStage, rushId := rankMode.ArenaMag.GetRushInfo()
  475. ackMsg.RushStage = rushStage
  476. ackMsg.RushRound = rushId
  477. } else if msg.RushType == model.Rush_Type_Map {
  478. rushStage, rushId := rankMode.MapScoreMag.GetRushInfo()
  479. ackMsg.RushStage = rushStage
  480. ackMsg.RushRound = rushId
  481. } else if msg.RushType == model.Rush_Type_Pet {
  482. rushStage, rushId := rankMode.PetRankMag.GetRushInfo()
  483. ackMsg.RushStage = rushStage
  484. ackMsg.RushRound = rushId
  485. } else if msg.RushType == model.Rush_Type_Skill {
  486. rushStage, rushId := rankMode.SkillRankMag.GetRushInfo()
  487. ackMsg.RushStage = rushStage
  488. ackMsg.RushRound = rushId
  489. }
  490. model.ServiceReplay(ev, ackMsg)
  491. })
  492. serverproto.Handle_RANK_SSGetRushRankRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  493. msg := ev.Msg().(*serverproto.SSGetRushRankRewardReq)
  494. util.DebugF("uid=%v receive SSGetRushRankRewardReq msg=%v", cliId.SessID, msg)
  495. ackMsg := &serverproto.SSGetRushRankRewardAck{
  496. Uid: msg.Uid,
  497. }
  498. for _, data := range msg.RushData {
  499. reward := &serverproto.RankRewardList{
  500. RushType: data.Key,
  501. }
  502. if data.Key == model.Rush_Type_Tower {
  503. rankMode.TowerMag.GetRushReward(msg.Uid, data.Value, reward)
  504. } else if data.Key == model.Rush_Type_Arena {
  505. rankMode.ArenaMag.GetRushReward(msg.Uid, data.Value, reward)
  506. } else if data.Key == model.Rush_Type_Map {
  507. rankMode.MapScoreMag.GetRushReward(msg.Uid, data.Value, reward)
  508. } else if data.Key == model.Rush_Type_Pet {
  509. rankMode.PetRankMag.GetRushReward(msg.Uid, data.Value, reward)
  510. } else if data.Key == model.Rush_Type_Skill {
  511. rankMode.SkillRankMag.GetRushReward(msg.Uid, data.Value, reward)
  512. }
  513. ackMsg.RewardList = append(ackMsg.RewardList, reward)
  514. }
  515. model.ServiceReplay(ev, ackMsg)
  516. })
  517. //主动领取排名奖励请求
  518. /*
  519. serverproto.Handle_RANK_SSGetRushRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  520. msg := ev.Msg().(*serverproto.SSGetRushRankReq)
  521. util.DebugF("uid=%v receive SSGetRushRankReq msg=%v", cliId.SessID, msg)
  522. ackMsg := &serverproto.SSGetRushRankAck{
  523. Uid: msg.Uid,
  524. RushType: msg.RushType,
  525. }
  526. if msg.RushType == model.Rush_Type_Tower {
  527. rankMode.TowerMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
  528. } else if msg.RushType == model.Rush_Type_Arena {
  529. rankMode.ArenaMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
  530. } else if msg.RushType == model.Rush_Type_Map {
  531. rankMode.MapScoreMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
  532. } else if msg.RushType == model.Rush_Type_Pet {
  533. rankMode.PetRankMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
  534. } else if msg.RushType == model.Rush_Type_Skill {
  535. rankMode.SkillRankMag.GetRushReward(msg.Uid, msg.RushRound, ackMsg)
  536. }
  537. model.ServiceReplay(ev, ackMsg)
  538. })
  539. */
  540. //主动领取排名奖励请求
  541. serverproto.Handle_RANK_SSTestRushRankRewardNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  542. msg := ev.Msg().(*serverproto.SSTestRushRankRewardNtf)
  543. util.DebugF("uid=%v receive SSTestRushRankRewardNtf msg=%v", cliId.SessID, msg)
  544. if msg.RushType == model.Rush_Type_Tower {
  545. rankMode.TowerMag.SendRushTowerReward()
  546. } else if msg.RushType == model.Rush_Type_Arena {
  547. rankMode.ArenaMag.SendRushArenaReward()
  548. } else if msg.RushType == model.Rush_Type_Map {
  549. rankMode.MapScoreMag.SendRushMapReward()
  550. } else if msg.RushType == model.Rush_Type_Pet {
  551. rankMode.PetRankMag.SendRushPetReward()
  552. }
  553. })
  554. serverproto.Handle_RANK_SSRushMapScoreNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  555. msg := ev.Msg().(*serverproto.SSRushMapScoreNtf)
  556. util.DebugF("uid=%v receive SSRushMapScoreNtf msg=%v", cliId.SessID, msg)
  557. rankMode.MapScoreMag.AddMapScoreRank(msg.Uid, msg.Score)
  558. })
  559. serverproto.Handle_RANK_SSUpdateKeepSakeRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  560. msg := ev.Msg().(*serverproto.SSUpdateKeepSakeRankNtf)
  561. util.DebugF("uid=%v receive SSUpdateKeepSakeRankNtf msg=%v", cliId.SessID, msg)
  562. rankMode.KeepSakeMag.OnKeepSakeCollectChange(msg.Uid, msg.KeepSakeId)
  563. })
  564. serverproto.Handle_RANK_CSKeepSakeRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  565. msg := ev.Msg().(*serverproto.CSKeepSakeRankReq)
  566. util.DebugF("uid=%v receive CSKeepSakeRankReq msg=%v", cliId.SessID, msg)
  567. rankMode.KeepSakeMag.KeepSakeRankInfo(msg, ev)
  568. })
  569. //精彩活动获取全局数据
  570. serverproto.Handle_RANK_SSActivitiesCollectionServerDataReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  571. msg := ev.Msg().(*serverproto.SSActivitiesCollectionServerDataReq)
  572. util.DebugF("uid=%v SSActivitiesCollectionServerDataReq msg=%v", cliId.SessID, msg)
  573. ssAckMsg := &serverproto.SSActivitiesCollectionServerDataAck{
  574. ActivityId: msg.ActivityId,
  575. RewardIdx: msg.RewardIdx,
  576. PetData: msg.PetData,
  577. }
  578. //清空全局数据方式不用通知
  579. if rankMode.GetActivitiesCollectionData(msg.ActivityId, msg.RewardIdx, msg.ServerLimitNum, ssAckMsg) {
  580. model.ServiceReplay(ev, ssAckMsg)
  581. }
  582. })
  583. //勇士积分排行榜
  584. //积分更新
  585. serverproto.Handle_RANK_SSExpeditionUpdateScoreRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  586. msg := ev.Msg().(*serverproto.SSExpeditionUpdateScoreRankNtf)
  587. util.DebugF("uid=%v receive SSExpeditionUpdateScoreRankNtf msg=%v", cliId.SessID, msg)
  588. rankMode.UpdateExpeditionScoreRank(msg.CurScore, cliId.SessID)
  589. })
  590. //获取排行榜
  591. serverproto.Handle_RANK_SSExpeditionScoreRankListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  592. msg := ev.Msg().(*serverproto.SSExpeditionScoreRankListReq)
  593. util.DebugF("uid=%v receive SSExpeditionScoreRankListReq msg=%v", cliId.SessID, msg)
  594. ssAckMsg := &serverproto.SSExpeditionScoreRankListAck{
  595. Error: int32(serverproto.ErrorCode_ERROR_OK),
  596. StartIdx: msg.StartIdx,
  597. }
  598. rankMode.ExpeditionScoreRank(msg.StartIdx, ssAckMsg, cliId.SessID)
  599. model.ServiceReplay(ev, ssAckMsg)
  600. })
  601. //更新宠物战力排行榜,更新上阵宠物
  602. serverproto.Handle_RANK_SSRushPetInfoChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  603. msg := ev.Msg().(*serverproto.SSRushPetInfoChangeNtf)
  604. util.DebugF("uid=%v receive SSRushPetInfoChangeNtf msg=%v", cliId.SessID, msg)
  605. rankMode.PetRankMag.RefreshRushPetData(msg)
  606. })
  607. //请求宠物冲榜后续数据
  608. serverproto.Handle_RANK_CSPetActivityRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  609. msg := ev.Msg().(*serverproto.CSPetActivityRankReq)
  610. util.DebugF("uid=%v receive CSPetActivityRankReq msg=%v", cliId.SessID, msg)
  611. ackMsg := &serverproto.SCPetActivityRankAck{
  612. Error: int32(serverproto.ErrorCode_ERROR_FAIL),
  613. Page: msg.Page,
  614. }
  615. ackMsg.Error = int32(rankMode.PetRankMag.GetRushPetRankInfo(msg.Page, ackMsg))
  616. model.ServiceReplay(ev, ackMsg)
  617. })
  618. //更新技能排行
  619. serverproto.Handle_RANK_SSRushSkillInfoChangeNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  620. msg := ev.Msg().(*serverproto.SSRushSkillInfoChangeNtf)
  621. util.DebugF("uid=%v receive SSRushSkillInfoChangeNtf msg=%v", cliId.SessID, msg)
  622. rankMode.SkillRankMag.RefreshRushSkillData(msg)
  623. })
  624. //请求技能冲榜后续数据
  625. serverproto.Handle_RANK_CSRushSkillActivityRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  626. msg := ev.Msg().(*serverproto.CSRushSkillActivityRankReq)
  627. util.DebugF("uid=%v receive CSRushSkillActivityRankReq msg=%v", cliId.SessID, msg)
  628. ackMsg := &serverproto.SCRushSkillActivityRankAck{
  629. Error: int32(serverproto.ErrorCode_ERROR_FAIL),
  630. Page: msg.Page,
  631. }
  632. ackMsg.Error = int32(rankMode.SkillRankMag.GetRushSkillRankInfo(msg.Page, ackMsg))
  633. model.ServiceReplay(ev, ackMsg)
  634. })
  635. //偶像季,请求自己的粉丝列表
  636. serverproto.Handle_RANK_SSCompetitionSelfFansInfoReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  637. msg := ev.Msg().(*serverproto.SSCompetitionSelfFansInfoReq)
  638. util.DebugF("uid=%v receive SSCompetitionSelfFansInfoReq msg=%v", cliId.SessID, msg)
  639. ackMsg := &serverproto.SSCompetitionSelfFansInfoAck{
  640. Error: int32(serverproto.ErrorCode_ERROR_FAIL),
  641. Uid: msg.Uid,
  642. }
  643. ackMsg.Error = int32(rankMode.CompetitionMag.GetSelfFansInfo(msg.Uid, msg.CompetitionId, ackMsg))
  644. model.ServiceReplay(ev, ackMsg)
  645. })
  646. //请求技能冲榜后续数据
  647. serverproto.Handle_RANK_SSCompetitionVoteRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  648. msg := ev.Msg().(*serverproto.SSCompetitionVoteRankReq)
  649. util.DebugF("uid=%v receive SSCompetitionVoteRankReq msg=%v", cliId.SessID, msg)
  650. ackMsg := &serverproto.SSCompetitionVoteRankAck{
  651. Error: int32(serverproto.ErrorCode_ERROR_FAIL),
  652. Page: msg.Page,
  653. Uid: msg.Uid,
  654. IsEnd: false,
  655. }
  656. ackMsg.Error = int32(rankMode.CompetitionMag.GetVoteRank(msg.Page, msg.CompetitionId, ackMsg))
  657. model.ServiceReplay(ev, ackMsg)
  658. })
  659. //偶像季请求偶像馈赠排名
  660. serverproto.Handle_RANK_SSCompetitionFansRewardRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  661. msg := ev.Msg().(*serverproto.SSCompetitionFansRewardRankReq)
  662. util.DebugF("uid=%v receive SSCompetitionFansRewardRankReq msg=%v", cliId.SessID, msg)
  663. ackMsg := &serverproto.SSCompetitionFansRewardRankAck{
  664. Error: int32(serverproto.ErrorCode_ERROR_FAIL),
  665. Page: msg.Page,
  666. IsEnd: false,
  667. }
  668. ackMsg.Error = int32(rankMode.CompetitionMag.GetFansRewardRankInfo(msg.Page, msg.CompetitionId, ackMsg))
  669. model.ServiceReplay(ev, ackMsg)
  670. })
  671. //偶像季,粉丝请求领取偶像馈赠宝箱
  672. serverproto.Handle_RANK_SSCompetitionFansGetRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  673. msg := ev.Msg().(*serverproto.SSCompetitionFansGetRewardReq)
  674. util.DebugF("uid=%v receive SSCompetitionFansGetRewardReq msg=%v", cliId.SessID, msg)
  675. ackMsg := &serverproto.SSCompetitionFansGetRewardAck{
  676. Error: int32(serverproto.ErrorCode_ERROR_FAIL),
  677. Uid: msg.Uid,
  678. RewardLevel: msg.RewardLevel,
  679. IdolUid: msg.IdolUid,
  680. }
  681. bRet, score := rankMode.CompetitionMag.GetSingleFansRewardData(msg.IdolUid, msg.CompetitionId)
  682. ackMsg.Error = int32(bRet)
  683. ackMsg.IdolBoxCount = score
  684. model.ServiceReplay(ev, ackMsg)
  685. })
  686. //偶像季,购买宝箱更新馈赠排名
  687. serverproto.Handle_RANK_SSCompetitionAddIdolBoxScoreNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  688. msg := ev.Msg().(*serverproto.SSCompetitionAddIdolBoxScoreNtf)
  689. util.DebugF("uid=%v receive SSCompetitionAddIdolBoxScoreNtf msg=%v", cliId.SessID, msg)
  690. rankMode.CompetitionMag.AddIdolBoxScore(msg.Uid, msg.Score, msg.CompetitionId)
  691. })
  692. //偶像季,赛季结束,给玩家发送奖励
  693. serverproto.Handle_RANK_SSCompetitionFansGetAllRewardReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  694. msg := ev.Msg().(*serverproto.SSCompetitionFansGetAllRewardReq)
  695. util.DebugF("uid=%v receive SSCompetitionFansGetAllRewardReq msg=%v", cliId.SessID, msg)
  696. ackMsg := &serverproto.SSCompetitionFansGetAllRewardAck{
  697. CompetitionId: msg.CompetitionId,
  698. CompetitionSubId: msg.CompetitionSubId,
  699. }
  700. rankMode.CompetitionMag.GetAllFansReward(msg, ackMsg)
  701. model.ServiceReplay(ev, ackMsg)
  702. })
  703. serverproto.Handle_RANK_SSCompetitionGetPlayerVoteRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) {
  704. msg := ev.Msg().(*serverproto.SSCompetitionGetPlayerVoteRankReq)
  705. util.DebugF("uid=%v receive SSCompetitionGetPlayerVoteRankReq msg=%v", cliId.SessID, msg)
  706. ackMsg := &serverproto.SSCompetitionGetPlayerVoteRankAck{
  707. Error: int32(serverproto.ErrorCode_ERROR_FAIL),
  708. ReqUid: msg.ReqUid,
  709. }
  710. bRet := rankMode.CompetitionMag.GetIdolRankData(msg.Uid, msg.CompetitionId, ackMsg)
  711. ackMsg.Error = int32(bRet)
  712. model.ServiceReplay(ev, ackMsg)
  713. })
  714. }