Commit 1e2c53169cf317161a9655b97a4403fc66ce159f
1 parent
7fe1158c
fix: 修改昵称,餐厅/电波塔/拾荒排行榜对应用户昵称未修改的bug
【ID1232549】 【拂晓的拾荒团-国服】【餐厅】【当玩家修改名字后排行榜未能及时更新数据】
Showing
3 changed files
with
40 additions
and
0 deletions
Show diff stats
src/actions/RoleAction.lua
| ... | ... | @@ -493,6 +493,10 @@ function _M.changeNameRpc(agent, data) |
| 493 | 493 | ["name"] = newName, |
| 494 | 494 | }) |
| 495 | 495 | |
| 496 | + role.dinerData:updateRankRoleName(newName) | |
| 497 | + role:updateTowerRankName(newName) | |
| 498 | + role:updateAdvRankName(newName) | |
| 499 | + | |
| 496 | 500 | role:changeCrossServerPvpSelfInfo("name") |
| 497 | 501 | role:checkTaskEnter("Rename", {}) |
| 498 | 502 | SendPacket(actionCodes.Role_changeNameRpc, MsgPack.pack({result = 0})) | ... | ... |
src/models/Diner.lua
| ... | ... | @@ -394,6 +394,18 @@ function Diner:getPopularRank() |
| 394 | 394 | return {list = list, rank = rank} |
| 395 | 395 | end |
| 396 | 396 | |
| 397 | +function Diner:updateRankRoleName(name) | |
| 398 | + if name:len() <= 0 then return end | |
| 399 | + | |
| 400 | + local roleId = self.owner:getProperty("id") | |
| 401 | + local redret = redisproxy:hget(RANK_DINER_INFO, roleId) | |
| 402 | + if redret:len() > 0 then | |
| 403 | + local player = MsgPack.unpack(redret) | |
| 404 | + player.name = name | |
| 405 | + redisproxy:hset(RANK_DINER_INFO, roleId, MsgPack.pack(player)) | |
| 406 | + end | |
| 407 | +end | |
| 408 | + | |
| 397 | 409 | function Diner:data() |
| 398 | 410 | local properties = { |
| 399 | 411 | "buildL", | ... | ... |
src/models/RolePlugin.lua
| ... | ... | @@ -1697,6 +1697,30 @@ function RolePlugin.bind(Role) |
| 1697 | 1697 | end |
| 1698 | 1698 | end |
| 1699 | 1699 | |
| 1700 | + function Role:updateTowerRankName(name) | |
| 1701 | + if name:len() <= 0 then return end | |
| 1702 | + local roleId = self:getProperty("id") | |
| 1703 | + for _, info in pairs(TowerRankInfo) do | |
| 1704 | + local data = redisproxy:hget(info.rankInfo, roleId) | |
| 1705 | + if data then | |
| 1706 | + local player = MsgPack.unpack(data) | |
| 1707 | + player.name = name | |
| 1708 | + redisproxy:hset(info.rankInfo, roleId, MsgPack.pack(player)) | |
| 1709 | + end | |
| 1710 | + end | |
| 1711 | + end | |
| 1712 | + | |
| 1713 | + function Role:updateAdvRankName(name) | |
| 1714 | + if name:len() <= 0 then return end | |
| 1715 | + local roleId = self:getProperty("id") | |
| 1716 | + local data = redisproxy:hget(RANK_ADV_INFO, roleId) | |
| 1717 | + if data then | |
| 1718 | + local player = MsgPack.unpack(data) | |
| 1719 | + player.name = name | |
| 1720 | + redisproxy:hset(RANK_ADV_INFO, roleId, MsgPack.pack(player)) | |
| 1721 | + end | |
| 1722 | + end | |
| 1723 | + | |
| 1700 | 1724 | function Role:addAdvLvExp(exp) |
| 1701 | 1725 | local advL = self:getProperty("advL") |
| 1702 | 1726 | local level = advL[1] | ... | ... |