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 fd226c39e..9bec9836c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -20,6 +20,7 @@ import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.logic.question.QuestionLogic; import com.ljsd.jieling.logic.store.BuyGoodsLogic; +import com.ljsd.jieling.logic.store.StoreLogic; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; @@ -167,6 +168,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ } }); } + StoreLogic.reloadStoreInfo(user,7);//重载功能商店 PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse = PlayerInfoProto.GetPlayerInfoResponse.newBuilder() .setPlayer(player) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java index e4ded4822..480861c54 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java @@ -757,6 +757,23 @@ public class StoreLogic implements IEventHandler { } } + public static void reloadStoreInfo(User user,int type){ + Map storeInfoMap = user.getStoreManager().getStoreInfoMap(); + if(!storeInfoMap.containsKey(type)){ + return; + } + Map> configMap = SStoreConfig.getSstoreConfigBuyStore(); + List sStoreConfigs = configMap.get(type); + for(SStoreConfig config:sStoreConfigs){ + if(user.getStoreManager().getStoreInfoMap().get(type).getItemNumMap().containsKey(config.getId())){ + continue; + } + Map itemNumMap = user.getStoreManager().getStoreInfoMap().get(type).getItemNumMap(); + itemNumMap.put(config.getId(),0); + user.getStoreManager().getStoreInfoMap().get(type).setItemNumMap(itemNumMap); + } + } + @Override public void onEvent(IEvent event) throws Exception { if(!(event instanceof FunctionRefreshEvent)){