diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/MapPointConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/MapPointConfig.java index e33e71878..93a79396a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/MapPointConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/MapPointConfig.java @@ -52,7 +52,7 @@ public class MapPointConfig implements BaseConfig{ private int[][] randomProbability; - private int isShowFightAbility; + private int[] isShowFightAbility; @Override public void init() throws Exception { @@ -95,7 +95,7 @@ public class MapPointConfig implements BaseConfig{ return randomProbability; } - public int getIsShowFightAbility() { + public int[] getIsShowFightAbility() { return isShowFightAbility; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessMapConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessMapConfig.java index 6df3e9834..38bea05f0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessMapConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessMapConfig.java @@ -20,6 +20,8 @@ public class SEndlessMapConfig implements BaseConfig { private int[] mapItem; + private int[][] endlessPoint; + public static Map sEndlessMapConfigMap; @Override @@ -48,5 +50,7 @@ public class SEndlessMapConfig implements BaseConfig { return deathCost; } - + public int[][] getEndlessPoint() { + return endlessPoint; + } } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SGuildSetting.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SGuildSetting.java index 1318a1e70..9d155d8d6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SGuildSetting.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SGuildSetting.java @@ -61,6 +61,10 @@ public class SGuildSetting implements BaseConfig { private int[] nameSize; + private int[] totemItem; + + private int recruitCD; + public static SGuildSetting sGuildSetting; @@ -175,4 +179,12 @@ public class SGuildSetting implements BaseConfig { public int[] getNameSize() { return nameSize; } + + public int[] getTotemItem() { + return totemItem; + } + + public int getRecruitCD() { + return recruitCD; + } } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 94d5a4af8..8831cfa31 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -419,11 +419,12 @@ public class MapLogic { continue; } Cell cellValue = new Cell(xy, mapPointConfig.getInitialEventId(), mapPointConfig.getId()); - if(xy>1000){ - cellValue.setForce(123456); - } - if(mapPointConfig.getIsShowFightAbility()==1){ - cellValue.setForce(123456); + if(mapPointConfig.getIsShowFightAbility()!=null&&mapPointConfig.getIsShowFightAbility().length>0){ + int force = 0; + for(int i = 0 ; i scMap = SCMap.sCMap.get(MapLogic.endlessMapId); + for(Map.Entry entry:scMap.entrySet()){ + for(int i = 0 ; i {}",gson.toJson(ktParam)); +// LOGGER.info("ktparm -- > {}",gson.toJson(ktParam)); } public static ParamEnvironmentBean enviromentBuild(int uid){ return KTEnvironmentUtil.getUserEnviromentInfoById(uid); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/GuilidManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/GuilidManager.java index 608623483..2b7802c86 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/GuilidManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/GuilidManager.java @@ -58,10 +58,6 @@ public class GuilidManager { RedisUtil.getInstence().removeMapEntrys("apply-user-play",Integer.toString(uid),Integer.toString(guild)); } - public static void removeMineApplyGuildInfos(int guild,int uid){ - RedisUtil.getInstence().removeMapEntrys("apply-user-play",Integer.toString(uid),Integer.toString(guild)); - } - public static void addGuildLog(GuildLog guildLog) throws Exception { MongoUtil.getInstence().getMyMongoTemplate().save(guildLog); if(!guildLogInfoMap.containsKey(guildLog.getGuildId())){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/GuildInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/GuildInfo.java index 6d25700f8..a9379371a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/GuildInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/GuildInfo.java @@ -1,9 +1,11 @@ package com.ljsd.jieling.logic.dao.root; import com.ljsd.common.mogodb.MongoBase; +import com.ljsd.jieling.config.SGuildSetting; import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; +import com.ljsd.jieling.util.MathUtils; import java.util.HashMap; import java.util.HashSet; @@ -64,6 +66,7 @@ public class GuildInfo extends MongoBase { joinType =1; level = 1; totalMembers=1; + icon = MathUtils.randomInt(SGuildSetting.sGuildSetting.getTotemItem().length)+1; defendInfo = new ConcurrentHashMap<>(); } 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 21480d283..e8aba972e 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 @@ -190,6 +190,17 @@ public class GuildLogic { MessageUtil.sendErrorResponse(session,0,msgId,"已加入过公会"); return; } + Map applyGuildPersonInfos = GuilidManager.getApplyGuildInfos(session.getUid(), 1); + SGuildSetting guildSetting = SGuildSetting.sGuildSetting; + if(applyGuildPersonInfos.size()>=guildSetting.getApplyLimit()){ + MessageUtil.sendErrorResponse(session,0,msgId,"已达申请上线,无法继续申请"); + return; + } + Map applyGuildFamilyInfos = GuilidManager.getApplyGuildInfos(session.getUid(), 0); + if(applyGuildFamilyInfos.size()>=guildSetting.getBeApplyLimit()){ + MessageUtil.sendErrorResponse(session,0,msgId,"当前公会被申请已达上线,无法继续申请"); + return; + } for(Integer applyGuildId : applyGuilds){ GuildApply guildApply = new GuildApply(uid,applyGuildId); GuilidManager.addApplyGuildInfo(guildApply); @@ -362,28 +373,40 @@ public class GuildLogic { return; } try { + Map applyGuild = GuilidManager.getApplyGuildInfos(guildId, 0); switch (type){ case 1: //全部同意 - GuilidManager.removeApplyGuildInfos(guildId); Map> members = guildInfo.getMembers(); int count = 0; for(Set memberOfType : members.values()){ count+=memberOfType.size(); } - Map applyGuildInfos = GuilidManager.getApplyGuildInfos(guildId, 0); - for(Integer addUid : applyGuildInfos.keySet()){ + for(Integer addUid : applyGuild.keySet()){ if(30-count<=0){ break; } applyToJoin(guildInfo,addUid,true); count++; } + for(Map.Entry entry:applyGuild.entrySet()){ + GuilidManager.removeOneApplyGuildInfos(entry.getValue().getGuildId(),entry.getValue().getId()); + Map applyPersonal = GuilidManager.getApplyGuildInfos(entry.getValue().getId(), 1); + for(Map.Entry personalEntry:applyPersonal.entrySet()) { + GuilidManager.removeOneApplyGuildInfos(personalEntry.getValue().getGuildId(),personalEntry.getValue().getId()); + } + } break; case 2: //全部拒绝 - GuilidManager.removeApplyGuildInfos(guildId); + for(Map.Entry entry:applyGuild.entrySet()){ + GuilidManager.removeOneApplyGuildInfos(entry.getValue().getGuildId(),entry.getValue().getId()); + } break; case 3: //同意一个 applyToJoin(guildInfo,applyId,true); + Map applyPersonal = GuilidManager.getApplyGuildInfos(applyId, 1); + for(Map.Entry personalEntry:applyPersonal.entrySet()) { + GuilidManager.removeOneApplyGuildInfos(personalEntry.getValue().getGuildId(),personalEntry.getValue().getId()); + } break; case 4: //拒绝一个 GuilidManager.removeOneApplyGuildInfos(guildId,applyId); @@ -408,10 +431,13 @@ public class GuildLogic { if(targetUser.getPlayerInfoManager().getGuildId()!=0){ return; } + GuilidManager.removeOneApplyGuildInfos(guildInfo.getId(),applyId); + if(targetUser.getPlayerInfoManager().getGuildId()!=0){ +// MessageUtil.sendErrorResponse(); + return; + } guildInfo.addMembers(GlobalsDef.MEMBER,applyId); targetUser.getPlayerInfoManager().setGuildId(guildInfo.getId()); - GuilidManager.removeMineApplyGuildInfos(guildInfo.getId(),applyId); - GuilidManager.removeOneApplyGuildInfos(guildInfo.getId(),applyId); }catch (Exception e){ LOGGER.error("the exception={}",e); }finally {