diff --git a/serverlogic/src/main/java/com/ljsd/CoreService.java b/serverlogic/src/main/java/com/ljsd/CoreService.java index eb776f9af..ff79d9764 100644 --- a/serverlogic/src/main/java/com/ljsd/CoreService.java +++ b/serverlogic/src/main/java/com/ljsd/CoreService.java @@ -374,11 +374,29 @@ public class CoreService implements RPCRequestIFace.Iface { jsonObject.getJSONObject("itemManager").put("itemMap",new HashMap<>()); jsonObject.remove("mailManager"); jsonObject.remove("storeManager"); + jsonObject.getJSONObject("equipManager").put("jewelMap", getJewelManager(user)); return jsonObject.toString(); } return ""; } + public HashMap getJewelManager(User user){ + HashMap jewelMap = new HashMap<>(); + try { + Map equipMap = user.getEquipManager().getEquipMap(); + for (Map.Entry entry : equipMap.entrySet()) { + com.ljsd.jieling.logic.dao.PropertyItem propertyItem = entry.getValue(); + if (propertyItem instanceof Jewel){ + Jewel jewel = (Jewel) propertyItem; + jewelMap.put(entry.getKey(), jewel); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + return jewelMap; + } + @Override public void updateUserInfoByRpc(int uid, String userStr, int type) throws TException { User thisUser = null; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EquipManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EquipManager.java index 55fd9c83e..7d1e657c5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EquipManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EquipManager.java @@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.dao; import com.ljsd.common.mogodb.MongoBase; import com.ljsd.jieling.logic.dao.root.User; +import org.springframework.data.annotation.Transient; import java.util.*; @@ -11,9 +12,8 @@ public class EquipManager extends MongoBase { private final Map faxiangMap = new HashMap<>(); private final Set equipBookEnabled = new HashSet<>(); private final Set equipList = new HashSet<>(); - -// private Equip unDetermined; - + @Transient + private final Map jewelMap = new HashMap<>(); private final Map equipHandBook; private int soulEquipPool;//占星装备卡池 @@ -56,6 +56,10 @@ public class EquipManager extends MongoBase { } } + public Map getJewelMap() { + return jewelMap; + } + public Map getEquipMap() { return equipMap; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index e73902cdd..7a2302a11 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -27,12 +27,10 @@ import com.ljsd.jieling.logic.activity.eventhandler.PokemonFiveStarGetEventHandl import com.ljsd.jieling.logic.activity.eventhandler.SaveHeroForceEventHandler; import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic; import com.ljsd.jieling.logic.dao.*; -import com.ljsd.jieling.logic.dao.cross.CSPlayer; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.vo.HeroVo; import com.ljsd.jieling.logic.expedition.ExpeditionLogic; import com.ljsd.jieling.logic.fight.CombatLogic; -import com.ljsd.jieling.logic.fight.DuoduiTowerLogic; import com.ljsd.jieling.logic.fight.passiveSkillCal.PassiveskillCalEnum; import com.ljsd.jieling.logic.fight.specialparm.SpecialForTeamBuildEnum; import com.ljsd.jieling.logic.help.HelpHero; @@ -3090,11 +3088,12 @@ public class HeroLogic { if (propertyItem instanceof Jewel){ jewel = (Jewel) propertyItem; }else { - jewel = new Jewel(); - jewel.setHeroId(propertyItem.getHeroId()); - jewel.setLevel(propertyItem.getLevel()); - jewel.setEquipId(propertyItem.getEquipId()); - jewel.setBuildLevel(1); + Map jewelMap = equipManager.getJewelMap(); + jewel = jewelMap.get(jewelId); + if (jewel == null){ + LOGGER.error("计算战力,英雄:{}-{},宝器:{},数据库内找不到",hero.getId(),hero.getTemplateId(),jewelId); + continue; + } } SJewelConfig config = STableManager.getConfig(SJewelConfig.class).get(jewel.getEquipId()); // 进阶