diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendInfoHandler.java index 076e52332..cbee9021e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/family/FamilyDefendInfoHandler.java @@ -17,7 +17,7 @@ public class FamilyDefendInfoHandler extends BaseHandler { @Override public void process(ISession iSession, PacketNetData netData) throws Exception { - byte[] bytes = netData.parseClientProtoNetData(); - GuildLogic.viewDefendInfo(iSession,MessageTypeProto.MessageType.FAMILY_VIEW_DEFEND_RESPONSE); + + GuildLogic.viewDefendInfo(iSession,MessageTypeProto.MessageType.FAMILY_VIEW_DEFEND_RESPONSE); } } 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 770f911d9..b69fc0036 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 @@ -863,7 +863,12 @@ public class GuildLogic { if(guildIds.size()<1){ return; } + RedisUtil redisUtil = RedisUtil.getInstence(); for(Integer gid:guildIds){ + String key = RedisKey.getKey(RedisKey.FAMILY_FIGHT_RANK, gid.toString(), true); + if(!redisUtil.getZset(key,0, redisUtil.getZsetSize(RedisKey.FAMILY_FIGHT_RANK)).contains(gid)){ + redisUtil.zsetAddOne(RedisKey.FAMILY_FIGHT_RANK,gid.toString(),100); + } GuildInfo guildInfo = GuilidManager.guildInfoMap.get(gid); Map defendInfo = guildInfo.getDefendInfo(); if(defendInfo==null||defendInfo.size()<1){ @@ -884,10 +889,17 @@ public class GuildLogic { heroAllAttribute.put(heroInfo.getHeroId(),new FamilyHeroInfo(hero.getTemplateId(),hero.getLevel(),heroAttributeMap)); } fightInfo.setHeroAttribute(heroAllAttribute); - RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(guildInfo.getId()),String.valueOf(entry.getKey()),fightInfo); + redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(guildInfo.getId()),String.valueOf(entry.getKey()),fightInfo); } } } + + + /** + * 战斗之后数据更新 + * @param userAttack + * @param userDefend + */ public void familyFightResult(User userAttack,User userDefend){ int defendGuildId =userDefend.getPlayerInfoManager().getGuildId(); FamilyFightInfo defendInfo = RedisUtil.getInstence().getMapEntry(RedisKey.FAMILY_FIGHT, String.valueOf(defendGuildId), String.valueOf(userDefend.getId()), FamilyFightInfo.class); @@ -929,8 +941,12 @@ public class GuildLogic { Map attribute = value.getAttribute(); attribute.put(HeroAttributeEnum.CurHP.getPropertyId(),fightResult[index]); value.setAttribute(attribute); - RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(defendGuildId),String.valueOf(userDefend.getId()),attribute); index++; } + defendInfo.setHeroAttribute(heroAttribute); + if(fightResult[0]==0){ + defendInfo.setStarCount(defendInfo.getStarCount()-1); + } + RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_FIGHT,String.valueOf(defendGuildId),String.valueOf(userDefend.getId()),defendInfo); } }