diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/help/GetHelpHeroListHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/help/GetHelpHeroListHandler.java index 1f35fc71c..c1da15017 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/help/GetHelpHeroListHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/help/GetHelpHeroListHandler.java @@ -14,6 +14,7 @@ import rpc.protocols.MessageTypeProto; import rpc.protocols.PlayerInfoProto; import java.util.List; +import java.util.Set; /** * @author hj @@ -38,7 +39,7 @@ public class GetHelpHeroListHandler extends BaseHandler helpFightList = HelpHeroLogic.getInstance().getHelpFightList(user, type); + Set helpFightList = HelpHeroLogic.getInstance().getHelpFightList(user, type); return PlayerInfoProto.GetHelpHeroListResponse.newBuilder().addAllHelpHeros(helpFightList).build(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/help/HelpHeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/help/HelpHeroLogic.java index a06401b7e..cd938a2a6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/help/HelpHeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/help/HelpHeroLogic.java @@ -67,9 +67,9 @@ public class HelpHeroLogic { * @param typeEnum * @return */ - public List getHelpFightList(User user,HelpTypeEnum typeEnum) throws Exception{ + public Set getHelpFightList(User user,HelpTypeEnum typeEnum) throws Exception{ - List result = new ArrayList<>(); + HashSet result = new HashSet<>(); // 如果类型是自己,则使用uid String subKey = typeEnum==Me?getSubKey(user.getId(),MY):String.valueOf(typeEnum.getPropertyId()); @@ -130,6 +130,11 @@ public class HelpHeroLogic { } } } + // 已选中的助战 + HelpHero helpHero = getHelpHeroByType(user.getId(), typeEnum.getPropertyId()); + if (helpHero != null){ + result.add(CBean2Proto.helpHeroProto(helpHero)); + } break; default: return result; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index dc58520f0..c34c10a2a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -225,21 +225,16 @@ public class CBean2Proto { * @return * @throws Exception */ - public static List getHelpFightList(User user){ + public static List getHelpFightList(User user) throws Exception { List lists = new ArrayList<>(); // 助战英雄列表 - Map helpHeros = HelpHeroLogic.getHelpHeroMap(user.getId()); - if (helpHeros == null || helpHeros.isEmpty()){ + Map helpHeroMap = HelpHeroLogic.getHelpHeroMap(user.getId()); + if (helpHeroMap == null || helpHeroMap.isEmpty()){ return lists; } - - helpHeros.values().forEach(v-> { - try { - lists.add(helpHeroProto(v)); - } catch (Exception e) { - LOGGER.error("助战英雄转换类型时报错:{}",e.getMessage()); - } - }); + for (HelpHero hero : helpHeroMap.values()) { + lists.add(helpHeroProto(hero)); + } return lists; }