From 1ad53599829af312147b8b8cd0d92a3942c3251e Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Thu, 4 Jan 2024 15:07:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9D=E5=99=A8=E6=95=B0=E6=8D=AE=E4=B8=A2?= =?UTF-8?q?=E5=A4=B1=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/mongo/MongoPropertyConverter.java | 2 +- .../ljsd/jieling/logic/dao/EquipManager.java | 23 +++++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoPropertyConverter.java b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoPropertyConverter.java index a0ae11d04..f36d70e75 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoPropertyConverter.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoPropertyConverter.java @@ -16,7 +16,7 @@ public class MongoPropertyConverter implements Converter equipMap = new HashMap<>();// 属性装备列表 private Set equipBookEnabled = new HashSet<>();// 装备图鉴 private Set soulGealList = new HashSet<>();// 魂印列表 @@ -64,13 +69,21 @@ public class EquipManager extends MongoBase { } public Map getEquipMap() { + Iterator> iterator = equipMap.entrySet().iterator(); + while (iterator.hasNext()){ + Map.Entry next = iterator.next(); + if (next.getValue() == null){ + LOGGER.error("属性装备数据出现异常,删除道具:{}",next.getKey()); + iterator.remove(); + } + } return equipMap; } public List getFaxiangList(){ ArrayList list = new ArrayList<>(); Map itemMap = SItem.getsItemMap(); - for (PropertyItem item : equipMap.values()) { + for (PropertyItem item : getEquipMap().values()) { SItem sItem = itemMap.get(item.getEquipId()); if (sItem == null || sItem.getItemType() != GlobalItemType.FAXIANG_EQUIP){ continue; @@ -83,7 +96,7 @@ public class EquipManager extends MongoBase { public List getJewelList(){ ArrayList list = new ArrayList<>(); Map itemMap = SItem.getsItemMap(); - for (PropertyItem item : equipMap.values()) { + for (PropertyItem item : getEquipMap().values()) { SItem sItem = itemMap.get(item.getEquipId()); if (sItem == null || sItem.getItemType() != GlobalItemType.JEWEL){ continue; @@ -95,7 +108,7 @@ public class EquipManager extends MongoBase { public List getBaublesList(){ ArrayList list = new ArrayList<>(); - for (PropertyItem item : equipMap.values()) { + for (PropertyItem item : getEquipMap().values()) { if (item instanceof Baubles){ list.add((Baubles) item); } @@ -104,11 +117,11 @@ public class EquipManager extends MongoBase { } public PropertyItem getEquip(String equipId) { - return equipMap.get(equipId); + return getEquipMap().get(equipId); } public Baubles getBaubles(String equipId) { - PropertyItem item = equipMap.get(equipId); + PropertyItem item = getEquipMap().get(equipId); if (item instanceof Baubles){ return (Baubles) item; }