From c7812f4c4b0194b9728d8b6d3bedf6ce6f1c9135 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 17 Feb 2023 10:21:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A5=9E=E5=B0=86=E7=BD=AE=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crossService/CrossServiceLogic.java | 26 +++++++------------ .../SaveHeroForceEventHandler.java | 12 +++------ 2 files changed, 13 insertions(+), 25 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java index 38bbb32fb..c44ead0f2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java @@ -21,10 +21,7 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** - * @Author hj - * @Date 2021/6/17 18:17 - * @Description: 跨服功能类 - * @Version 1.0 + * 跨服功能类 */ public class CrossServiceLogic { private static final Logger LOGGER = LoggerFactory.getLogger(CrossServiceLogic.class); @@ -62,8 +59,6 @@ public class CrossServiceLogic { /** * 获取服务器名字 - * @param serverId - * @return */ public static String getServerName(int serverId){ String name = String.valueOf(serverId); @@ -78,8 +73,6 @@ public class CrossServiceLogic { /** * 简化servername,拼接“s” - * @param serverId - * @return */ public static String simplifyServerName(int serverId){ String name = getServerName(serverId); @@ -131,20 +124,21 @@ public class CrossServiceLogic { } - public static CSPlayer getPlayerByRedis(int uid){ - return getPlayerByRedis(uid,true); + public static void updateCsPlayer(int uid){ + User user = PlayerLogic.getInstance().getUserByRpc(uid); + if (user == null) { + return; + } + CSPlayer player = formatUserToPlayer(user); + RedisUtil.getInstence().setObject(getKey(player.getUserId()), player, EXPIRE); } /** * 跨服获取玩家信息 - * @param uid - * @param bol - * 是否需要重新读取数据,true不需要,false需要 - * @return */ - public static CSPlayer getPlayerByRedis(int uid, boolean bol){ + public static CSPlayer getPlayerByRedis(int uid){ CSPlayer player = RedisUtil.getInstence().getObject(getKey(uid), CSPlayer.class); - if(bol && player != null){ + if(player != null){ return player; } User user = PlayerLogic.getInstance().getUserByRpc(uid); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/SaveHeroForceEventHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/SaveHeroForceEventHandler.java index 7ba5ee3c0..242425715 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/SaveHeroForceEventHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/SaveHeroForceEventHandler.java @@ -1,6 +1,7 @@ package com.ljsd.jieling.logic.activity.eventhandler; import com.ljsd.jieling.logic.activity.IEventHandler; +import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; @@ -70,11 +71,12 @@ public class SaveHeroForceEventHandler implements IEventHandler { int force = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false); user.getTeamPosManager().putTeamForceMap(teamId,force); } + // 更新跨服数据 + CrossServiceLogic.updateCsPlayer(uid); } /** * 装备排行榜处理 - * @param user */ public static void equipRankHandle(User user){ AbstractRank rank = RankContext.getRankEnum(RankEnum.EQUIP_SCORE_RANK.getType()); @@ -84,7 +86,6 @@ public class SaveHeroForceEventHandler implements IEventHandler { /** * 魂印排行榜处理 - * @param user */ public static void soulSealRankHandle(User user){ AbstractRank rank = RankContext.getRankEnum(RankEnum.SOUL_SEAL_RANK.getType()); @@ -94,7 +95,6 @@ public class SaveHeroForceEventHandler implements IEventHandler { /** * 英雄星级处理 - * @param user */ public static void heroStarHandle(User user){ AbstractRank rank = RankContext.getRankEnum(RankEnum.HERO_STAR_RANK.getType()); @@ -104,8 +104,6 @@ public class SaveHeroForceEventHandler implements IEventHandler { /** * 计算英雄星级评分 - * @param user - * @return */ private static int heroStarCompute(User user){ int num = 0; @@ -128,8 +126,6 @@ public class SaveHeroForceEventHandler implements IEventHandler { /** * 计算主线编队装备评分 - * @param user - * @return */ private static int equipScoreCompute(User user){ List infos = user.getTeamPosManager().getTeamPosForHero().get(TeamEnum.FORMATION_NORMAL.getTeamId()); @@ -157,8 +153,6 @@ public class SaveHeroForceEventHandler implements IEventHandler { /** * 计算主线编队魂印评分 - * @param user - * @return */ private static int soulSealScoreCompute(User user){ List infos = user.getTeamPosManager().getTeamPosForHero().get(TeamEnum.FORMATION_NORMAL.getTeamId());