diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index fcc7a5fe6..c474ef315 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -669,7 +669,7 @@ public class GuildLogic { guildInfo.removeDefendInfo(targetUid); } targetUser.getPlayerInfoManager().setGuildId(0); - targetUser.getPlayerInfoManager().setWelfareRedPackets(new HashMap()); + targetUser.getPlayerInfoManager().setWelfareRedPackets(clearRedPacketMap(user)); targetUser.getGuildMyInfo().clearOfLevelGuild(); addGuildLog(guildInfo.getId(),GuildDef.Log.KICK,targetUser.getPlayerInfoManager().getNickName()); // Family.FamilyKickIndication build = Family.FamilyKickIndication.newBuilder().setType(1).build(); @@ -944,7 +944,7 @@ public class GuildLogic { RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE,"",String.valueOf(uid),cache); guildInfo.removeMember(uidType,uid); user.getPlayerInfoManager().setGuildId(0); - user.getPlayerInfoManager().setWelfareRedPackets(new HashMap()); + user.getPlayerInfoManager().setWelfareRedPackets(clearRedPacketMap(user)); user.getGuildMyInfo().clearOfLevelGuild(); addGuildLog(guildInfo.getId(),GuildDef.Log.LEVEL,user.getPlayerInfoManager().getNickName()); MessageUtil.sendMessage(session,1,msgId,null,true); @@ -1741,4 +1741,16 @@ public class GuildLogic { } } + private static Map clearRedPacketMap(User user){ + Map map = user.getPlayerInfoManager().getWelfareRedPackets(); + for(Map.Entry entry : map.entrySet()){ + if(entry.getValue().intValue() == -1){ + continue; + }else{ + entry.setValue(0); + } + } + return map; + } + }