From ed379a2524470782423752eb0af503f25e36905d Mon Sep 17 00:00:00 2001 From: wangyuan Date: Wed, 11 Sep 2019 11:52:31 +0800 Subject: [PATCH 1/4] flushtime --- .../src/main/java/com/ljsd/jieling/util/CBean2Proto.java | 4 ++++ serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java | 1 + test/src/main/java/db/MongoTest.java | 4 ++++ 3 files changed, 9 insertions(+) create mode 100644 test/src/main/java/db/MongoTest.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index 968eed688..3ff2b6e3e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -65,6 +65,7 @@ public class CBean2Proto { .setItemId(item.getItemId()) .setItemNum(itemNum) .setEndingTime(item.getEndingTime()) + .setNextFlushTime(item.getEndingTime() + getRecoverSpeedByItem(item.getItemId())) .build(); return itemProto; } @@ -366,6 +367,9 @@ public class CBean2Proto { return energyRecoverSpeed[1]*60; } int[] recoveryItemInfo = SGameSetting.getGameSetting().getItemRecoveryMap().get(itemId); + if(recoveryItemInfo == null){ + return 0; + } return recoveryItemInfo[2]; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index b7bbfe249..fb98cce35 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -761,6 +761,7 @@ public class ItemUtil { for(Integer itemId : itemForTimeRecoverys){ Item item = itemMap.get(itemId); if(item == null){ + item = itemMap.get(itemId); MapManager.getTimesRecoveryTicket(user,itemId); itemList.add(CBean2Proto.getItem(item,-1)); } diff --git a/test/src/main/java/db/MongoTest.java b/test/src/main/java/db/MongoTest.java new file mode 100644 index 000000000..71ee19bd4 --- /dev/null +++ b/test/src/main/java/db/MongoTest.java @@ -0,0 +1,4 @@ +package db; + +public class MongoTest { +} From d5a202d28e048c5fe659fb5a34b5828df444d874 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sat, 14 Sep 2019 12:26:00 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/dao/CumulationData.java | 4 ++++ .../ljsd/jieling/logic/family/GuildFightLogic.java | 2 ++ .../java/com/ljsd/jieling/logic/item/ItemLogic.java | 1 + .../com/ljsd/jieling/logic/mission/GameEvent.java | 8 +++++++- .../com/ljsd/jieling/logic/mission/MissionLoigc.java | 3 +++ .../com/ljsd/jieling/logic/mission/MissionType.java | 8 +++++++- .../logic/mission/data/DataManagerDistributor.java | 2 ++ .../logic/mission/data/FamilyFightManager.java | 12 ++++++++++++ .../jieling/logic/mission/data/FindStarManager.java | 12 ++++++++++++ .../logic/mission/event/MissionEventDistributor.java | 10 ++++++++++ 10 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FamilyFightManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FindStarManager.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java index 88b870c2e..47a8da705 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java @@ -91,6 +91,8 @@ public class CumulationData { public int takeDailyBoxTimes;// 领取日常任务宝箱奖励次数达到 public int wearEquipTimes;// 妖灵师穿戴装备件数达到 public int toBeStronger;//我要变强 + public int familyFightCount;//公会战进攻次数 + public int findStar;//占星次数 public Map synthesisHeroStarTimesMap = new HashMap<>();// 碎片合成%s星妖灵师次数达到 public Map heroUpStarTimesMap = new HashMap<>();//将妖灵师%s进阶次数达到 @@ -164,6 +166,8 @@ public class CumulationData { toBeStronger = 0; consumeAction = 0; especialEquipStar.clear(); + familyFightCount = 0; + findStar=0; } private void clearArray(int[] source){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java index 2039e7d54..bf04fe37e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java @@ -16,6 +16,7 @@ import com.ljsd.jieling.logic.fight.CheckFight; import com.ljsd.jieling.logic.fight.FightType; import com.ljsd.jieling.logic.hero.HeroAttributeEnum; import com.ljsd.jieling.logic.hero.HeroLogic; +import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.Family; @@ -477,6 +478,7 @@ public class GuildFightLogic { } redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT_CAL_STAR,String.valueOf(attackGuildId),String.valueOf(defendBuildId),haveGotStar+getStar); Family.FamilyFightAttackResponse response = Family.FamilyFightAttackResponse.newBuilder().setResult(fightResult[0]).setStarCount(getStar).setData(fightData).build(); + userAttack.getUserMissionManager().onGameEvent(userAttack, GameEvent.FAMILY_FIGHT_ATTACK); MessageUtil.sendMessage(session, 1, messageType.getNumber(), response, true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 8360ef6c9..00f73e044 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -541,6 +541,7 @@ public class ItemLogic { HeroInfoProto.SoulRandResponse.Builder builder = HeroInfoProto.SoulRandResponse.newBuilder(); builder.setDrop(drop); builder.setPos(currentPool); + user.getUserMissionManager().onGameEvent(user,GameEvent.FIND_STAR,time); MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.SOUL_RAND_EQUIP_RESPONSE_VALUE, builder.build(), true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java index 4717be94e..c2f2c3cbb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java @@ -58,6 +58,12 @@ public enum GameEvent { BLOODY_END,// 血战结束 - ESPECIAL_EQUIP//获得法宝 + FAMILY_FIGHT_ATTACK,//公会战进攻次数 + + ESPECIAL_EQUIP,//获得法宝 + + FIND_STAR,//占星 + + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index fa14d3b42..290a5387d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -631,6 +631,9 @@ public class MissionLoigc { case ENDLESS_CONSUME_ACTION: count = cumulationData.consumeAction; break; + case FAMILY_FIGHT_ATTACK: + count = cumulationData.familyFightCount; + break; case ESPECIAL_EQUIP: count = cumulationData.especialEquipStar.get(missionSubType[0]); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java index 2a180dd54..49f1116f8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java @@ -79,7 +79,9 @@ public enum MissionType { TO_BE_STRONGER(58),//我要变强点击:%s次 BLOODY_KILL_NUMS(59),// 血战每日击杀人数 ENDLESS_CONSUME_ACTION(60),//无尽消耗行动力 - ESPECIAL_EQUIP(62)//拥有%s星级法宝的数量为:%s + FAMILY_FIGHT_ATTACK(61),//公会战进攻次数 + ESPECIAL_EQUIP(62),//拥有%s星级法宝的数量为:%s + FIND_STAR(65)//占星 ; private int missionType; @@ -214,8 +216,12 @@ public enum MissionType { return BLOODY_KILL_NUMS; case 60: return ENDLESS_CONSUME_ACTION; + case 61: + return FAMILY_FIGHT_ATTACK; case 62: return ESPECIAL_EQUIP; + case 65: + return FIND_STAR; default: return null; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java index 3e231f0df..8c35e9dcc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java @@ -100,6 +100,8 @@ public class DataManagerDistributor { judges.put(MissionType.MONSTER_ATTACK_LEVEL,new DefaultDataManager()); judges.put(MissionType.TO_BE_STRONGER,new StrongerManager()); judges.put(MissionType.ESPECIAL_EQUIP,new EspecialStarManager()); + judges.put(MissionType.FAMILY_FIGHT_ATTACK,new FamilyFightManager()); + judges.put(MissionType.FIND_STAR,new FindStarManager()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FamilyFightManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FamilyFightManager.java new file mode 100644 index 000000000..c9835488c --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FamilyFightManager.java @@ -0,0 +1,12 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.mission.MissionType; + +public class FamilyFightManager implements BaseDataManager { + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + data.familyFightCount++; + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FindStarManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FindStarManager.java new file mode 100644 index 000000000..f4e07e7fd --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FindStarManager.java @@ -0,0 +1,12 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.mission.MissionType; + +public class FindStarManager implements BaseDataManager{ + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + data.findStar=+(int)parm[0]; + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java index 158caf14e..7c96fb4cc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java @@ -254,11 +254,21 @@ public class MissionEventDistributor { eventEnumListMap.put(GameEvent.BLOODY_END,typeList); eventProcessor.put(GameEvent.BLOODY_END,new CumulationDataEventProcessor()); + typeList = new ArrayList<>(); + typeList.add(MissionType.FAMILY_FIGHT_ATTACK); + eventEnumListMap.put(GameEvent.FAMILY_FIGHT_ATTACK,typeList); + eventProcessor.put(GameEvent.FAMILY_FIGHT_ATTACK,new CumulationDataEventProcessor()); + typeList = new ArrayList<>(); typeList.add(MissionType.ESPECIAL_EQUIP); eventEnumListMap.put(GameEvent.ESPECIAL_EQUIP,typeList); eventProcessor.put(GameEvent.ESPECIAL_EQUIP,new CumulationDataEventProcessor()); + typeList = new ArrayList<>(); + typeList.add(MissionType.FIND_STAR); + eventEnumListMap.put(GameEvent.FIND_STAR,typeList); + eventProcessor.put(GameEvent.FIND_STAR,new CumulationDataEventProcessor()); + } private static final ThreadLocal>> threadMissionChangeList = From 4f84f0d8154099a8acf1239cce75e022bb226b5d Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 11 Sep 2019 14:22:28 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=97=A0=E5=B0=BD=E5=89=AF=E6=9C=AC?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/chat/logic/ChatLogic.java | 2 +- .../ljsd/jieling/handler/map/MapLogic.java | 51 ++++--------------- .../ljsd/jieling/handler/map/MapManager.java | 2 +- 3 files changed, 12 insertions(+), 43 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java index 130f92319..7bc348fea 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java @@ -104,7 +104,7 @@ public class ChatLogic { //0|content需要解字符串 String s = message; String[] strs = message.split("|",3); - if(strs.length<3){ + if(strs.length==3){ s = strs[2]; } result = ShieldedWordUtils.checkName(user,s,false,ChatContentType.WORLD_CHAT); 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 d149cdc71..90dd170d9 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 @@ -632,6 +632,9 @@ public class MapLogic { // MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!"); // return; } + Set walkCell = mapManager.getEndlessMapInfo().getWalkCell(); + walkCell.addAll(new HashSet<>(cells)); + mapManager.endlessWalkCellSave(walkCell); } // LOGGER.info("updateMap() uid=>{} mapId =>{} eventId=>{}", uid, mapManager.getCurMapId(), cell.getEventId()); @@ -1281,32 +1284,19 @@ public class MapLogic { return; } List team = user.getTeamPosManager().getTeamPosForHero().get(teamId); - for (TeamPosHeroInfo teamPosHeroInfo : team) { - Map heroAttr = mapManager.getHeroAllAttributeMap().get(teamPosHeroInfo.getHeroId()); - if(heroAttr!=null){ - if(heroAttr.get(HeroAttributeEnum.Hp.getPropertyId()) heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); int per = (int)(checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000); mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per); - Map currAttrMap = mapManager.getHeroAllAttributeMap().get(hero.getId()); - if(currAttrMap==null){ - continue; - } - if(currAttrMap.get(HeroAttributeEnum.CurHP.getPropertyId())==0){ - mapManager.removeOneHeroAttribute(hero.getId()); - }else{ - mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); - } + mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); } + }else{ + for (TeamPosHeroInfo teamPosHeroInfo : team) { + mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[teamPosHeroInfo.getPosition()+1]); + } } if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) { endlessRefreshMonster(session,destoryXY); @@ -1542,16 +1532,13 @@ public class MapLogic { List team = user.getTeamPosManager().getTeamPosForHero().get(teamId); if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){ mapManager.updateEndlessFightCount(mapManager.getEndlessMapInfo().getFightCount()+1); - Set cacheRemove = new HashSet<>(); for (int i = 0 ; i heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000); mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per); mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); - if(per<=0){ - cacheRemove.add(hero.getId()); - } + } // if(!cacheRemove.isEmpty()){ // Iterator iterator = team.iterator(); @@ -3164,25 +3151,7 @@ public class MapLogic { user.getTeamPosManager().updateTeamPosByTeamId(401,team); } } -// Iterator iterator = team.iterator(); -// while(iterator.hasNext()){ -// TeamPosHeroInfo teamInfo = iterator.next(); -// EndlessHero endlessHero = endlessMapInfo.getEndlessHeroInfo().get(teamInfo.getHeroId()); -// if(endlessHero==null){ -// continue; -// } -// if(endlessHero.getCurHp()==0){ -// Map> heroAllAttributeMap = mapManager.getHeroAllAttributeMap(); -// if(heroAllAttributeMap.containsKey(teamInfo.getHeroId())){ -// heroAllAttributeMap.remove(teamInfo.getHeroId()); -// } -// mapManager.setHeroAllAttributeMap(heroAllAttributeMap); -// iterator.remove(); -// } -// } -// -// user.getTeamPosManager().updateTeamPosByTeamId(401,team); -// } + MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java index 5d4e790bc..399d34682 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java @@ -777,7 +777,7 @@ public class MapManager extends MongoBase { } public void endlessWalkCellSave(Set walkCells){ endlessMapInfo.setWalkCell(walkCells); - updateString("endlessMapInfo.walkCells",walkCells); + updateString("endlessMapInfo.walkCell",walkCells); } public void endlessMapInfoSave(Map mapInfo){ endlessMapInfo.setMapInfo(mapInfo); From 001477cbb6b714a5c3b5e359c0b015da5bfe04e0 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Wed, 11 Sep 2019 14:27:58 +0800 Subject: [PATCH 4/4] friend limit --- .../main/java/com/ljsd/jieling/config/SSpecialConfig.java | 2 ++ .../java/com/ljsd/jieling/logic/friend/FriendLogic.java | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SSpecialConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SSpecialConfig.java index 475c77e7b..b92598bd4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SSpecialConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SSpecialConfig.java @@ -24,6 +24,8 @@ public class SSpecialConfig implements BaseConfig { public static final String ADVENTURE_RANKINGSHOWNUM = "Adventure_RankingShowNum";//外敌入侵排行榜上榜显示排名 public static final String COMBAT_RANKINGSHOWNUM = "Combat_RankingShowNum";//战力排行榜上榜显示排名 public static final String EQUIPSIGN_LIMIT = "EquipSign_limit";//仓库中的魂印上限 + public static final String FRIENDAMOUNT_LIMIT = "FriendAmount_limit";//好友上限 + public static final String FRIENDAPPLYAMOUNT_LIMIT = "FriendApplyAmount_limit";//好友申请上限 @Override diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java index 87cd925aa..9b965451a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java @@ -1,6 +1,7 @@ package com.ljsd.jieling.logic.friend; import com.ljsd.jieling.config.SGameSetting; +import com.ljsd.jieling.config.SSpecialConfig; import com.ljsd.jieling.core.HandlerLogicThread; import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.db.redis.RedisKey; @@ -203,8 +204,8 @@ public class FriendLogic { } User user = UserManager.getUser(uid); List friends = user.getFriendManager().getFriends(); - int maxFriends = 200; - int maxApplyFriends = 10; + int maxFriends = SSpecialConfig.getIntegerValue(SSpecialConfig.FRIENDAMOUNT_LIMIT); + int maxApplyFriends = SSpecialConfig.getIntegerValue(SSpecialConfig.FRIENDAPPLYAMOUNT_LIMIT); if (friends.size() >= maxFriends){ MessageUtil.sendErrorResponse(iSession,0,msgId,"好友已达上限"); return; @@ -278,7 +279,7 @@ public class FriendLogic { FriendManager friendManager = user.getFriendManager(); List friends = friendManager.getFriends(); List applyFriends = friendManager.getApplyFriends(); - int maxFriends = 200; + int maxFriends = SSpecialConfig.getIntegerValue(SSpecialConfig.FRIENDAMOUNT_LIMIT); User friendUser; List friendFriendList; switch (type){