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 43a6b9294..6615472ea 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 @@ -12,6 +12,7 @@ import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; +import com.ljsd.jieling.globals.GlobalItemType; import com.ljsd.jieling.ktbeans.ReportEventEnum; import com.ljsd.jieling.ktbeans.ReportUtil; import com.ljsd.jieling.logic.activity.event.*; @@ -137,6 +138,33 @@ public class HeroLogic{ // equipList.add(CBean2Proto.getEquipProto(equipInfo)); // } // } + //fix user item + + ItemManager itemManager = user.getItemManager(); + EquipManager equipManager = user.getEquipManager(); + Set set = new HashSet<>(itemManager.getItemMap().keySet()); + for (Integer integer : set) { + try { + SItem sItem = SItem.getsItemMap().get(integer); + if (sItem != null) { + int itemType = sItem.getItemType(); + if (itemType == GlobalItemType.JEWEL) { + LOGGER.error("Excepeion 背包入库错误" + integer); + for (int i = 0; i < itemManager.getItemMap().get(integer).getItemNum(); i++) { + Jewel equip = new Jewel(user.getId(), integer); + equipManager.addEquip(user, equip); + } + itemManager.removeItem(integer); + + } + } else { + LOGGER.error("Exception SItem配置不存在 id:" + integer); + } + } catch (Exception e) { + LOGGER.error("Exception :" + e.toString()); + } + } + ; //宝器 if(type==4){ Map equipMap = user.getEquipManager().getEquipMap();