diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index 532c1fdec..cec1af8d2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -179,7 +179,8 @@ public class GetPlayerInfoHandler extends BaseHandler{ List sixiangxinfaInfos = getSixiangxinfaInfos(heroManager); List practiceSkillInfos = getPracticeSkillInfos(heroManager); List faBaoSoulInfos = getFaBaoSoulInfos(heroManager); - + // 道具修复 + user.getItemManager().checkItem(); // 开服时间戳 long openTime = TimeUtils.stringToTimeLong2(GameApplication.serverConfig.getOpenTime()); PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse = PlayerInfoProto.GetPlayerInfoResponse.newBuilder() diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java index 13601071a..0cb434bc7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java @@ -112,4 +112,21 @@ public class ItemManager extends MongoBase { this.huashenEnabled.add(id); updateString("huashenEnabled", huashenEnabled); } + + /** + * 修复部分道具信息缺失的问题,如没有itemId等 + */ + public void checkItem(){ + if(itemMap != null){ + for(int itemId : itemMap.keySet()){ + Item item= itemMap.get(itemId); + if(item != null){ + //itemId缺失或者不匹配,需重构 + if(item.getItemId() == 0 || item.getItemId() != itemId){ + item = this.newItem(itemId,item.getItemNum()); + } + } + } + } + } }