From ead7e335b7ed6595dfdb2d03e28f99ade958c53e Mon Sep 17 00:00:00 2001 From: "DESKTOP-C3M45P4\\dengdan" Date: Tue, 24 Sep 2024 16:21:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=AE=E5=A4=8DitemId?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E7=9A=84=E9=81=93=E5=85=B7=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/GetPlayerInfoHandler.java | 3 ++- .../com/ljsd/jieling/logic/dao/ItemManager.java | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) 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()); + } + } + } + } + } }