diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialStarManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialStarManager.java index a4f69e102..559f73615 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialStarManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/EspecialStarManager.java @@ -1,15 +1,26 @@ package com.ljsd.jieling.logic.mission.data; +import com.ljsd.jieling.logic.dao.Baubles; import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.dao.EquipManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mission.MissionType; -import java.util.Map; +import java.util.HashMap; +import java.util.List; public class EspecialStarManager extends AbstractDataManager { @Override public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + EquipManager equipManager = user.getEquipManager(); + List baublesList = equipManager.getBaublesList(); + HashMap map = new HashMap<>(); + for (Baubles baubles : baublesList) { + int star = baubles.getLevel() / 10; + map.merge(star,1,Integer::sum); + } + data.setEspecialEquipStar(map); return data.getEspecialEquipStar(cfgValue[0][0]) >= cfgValue[1][0]; } @@ -20,14 +31,6 @@ public class EspecialStarManager extends AbstractDataManager { @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { - int equipStar = ((int) parm[0])/10; - Map especialEquipStar = data.getEspecialEquipStar(); - - if(especialEquipStar.containsKey(equipStar)){ - especialEquipStar.merge(equipStar,1,Integer::sum); - }else{ - especialEquipStar.put(equipStar,1); - } return new CumulationData.Result(missionType); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpAllBaublesLvDataManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpAllBaublesLvDataManager.java index db0ad39cc..f2ace77ae 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpAllBaublesLvDataManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/UpAllBaublesLvDataManager.java @@ -26,14 +26,14 @@ public class UpAllBaublesLvDataManager extends AbstractDataManager{ @Override public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) { - if(data.getBaubles_all_level() ==cfgValue[1][0]){ + if(data.getBaubles_all_level() == cfgValue[1][0]){ return true; } Map> teamPosForHero = user.getTeamPosManager().getTeamPosForHero(); HeroManager heroManager = user.getHeroManager(); EquipManager equipManager = user.getEquipManager(); for (Map.Entry> entry:teamPosForHero.entrySet()){ - List teamPosHeroInfos =entry.getValue(); + List teamPosHeroInfos = entry.getValue(); if(teamPosHeroInfos.size()!=6){ continue; } 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 249a39282..fa41feade 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -230,23 +230,33 @@ public class CBean2Proto { return lists; } + /** + * 编译助战状态 + * @param propertyItems 装备列表 + * @return proto对象 + */ + private static List buildHelpFightEquip(List propertyItems){ + List resultEquip = new ArrayList<>(); + if (propertyItems != null && !propertyItems.isEmpty()){ + for (PropertyItem item : propertyItems) { + if (item == null){ + continue; + } + resultEquip.add(getPropertyEquipProto(item)); + } + } + return resultEquip; + } + /** * 助战,redis类型转proto */ public static CommonProto.HelpFightList helpHeroProto(HelpHero helpHero) throws Exception { User otherUser = UserManager.getUser(helpHero.getUid()); // 魂宝灵宝 - List jewels = new ArrayList<>(); - List jewel = helpHero.getJewels(); - if (jewel != null && !jewel.isEmpty()){ - jewel.forEach(item->jewels.add(getPropertyEquipProto(item))); - } + List jewels = buildHelpFightEquip(helpHero.getJewels()); // 法相 - List faxiang = new ArrayList<>(); - List faxiangs = helpHero.getFaxiangs(); - if (faxiangs != null && !faxiangs.isEmpty()){ - faxiangs.forEach(item->faxiang.add(getPropertyEquipProto(item))); - } + List faxiang = buildHelpFightEquip(helpHero.getFaxiangs()); // 装备详细信息 List equips = new ArrayList<>(); Map equip = helpHero.getHero().getEquipByPositionMap(); @@ -284,7 +294,7 @@ public class CBean2Proto { * 助战,hero对象转redis类型 * 存入redis时调用 */ - public static HelpHero heroToHelpHero(User user,Hero hero) throws Exception { + public static HelpHero heroToHelpHero(User user,Hero hero) { // 获取神将类型 HelpTypeEnum type = HelpTypeEnum.getType(hero.getPropertyId()); // 英雄镜像 @@ -294,7 +304,6 @@ public class CBean2Proto { List jewels = clonePropertyItemList(equipManager, heroVo.getJewelInfo()); // 法相 List faxiangs = clonePropertyItemList(equipManager, heroVo.getFaxiangList()); - // 结果返回,援助类型不在这里写 HelpHero helpHero = new HelpHero(); helpHero.setUid(user.getId());