diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/STreasureTaskConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/STreasureTaskConfig.java index 1d44c844e..866e7a17a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/STreasureTaskConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/STreasureTaskConfig.java @@ -45,8 +45,11 @@ public class STreasureTaskConfig implements BaseConfig { if(!treasureTaskConfigByActivityMap.containsKey(activityId)){ treasureTaskConfigByActivityMap.put(activityId,new ArrayList<>()); } - + if(!sTreasureTaskConfigListByTypeMapTmp.containsKey(sTreasureTaskConfig.getTaskType())){ + sTreasureTaskConfigListByTypeMapTmp.put(sTreasureTaskConfig.getTaskType(),new ArrayList<>()); + } treasureTaskConfigByActivityMap.get(activityId).add(sTreasureTaskConfig); + sTreasureTaskConfigListByTypeMapTmp.get(sTreasureTaskConfig.getTaskType()).add(sTreasureTaskConfig); if(sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){ sTreasureSevenTaskConfigByActivityMapTmp.put(sTreasureTaskConfig.getActivityId(),sTreasureTaskConfig); } 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 bdc1bba69..951c9587e 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 @@ -2195,7 +2195,7 @@ public class MapLogic { public void getMainLevelRankInfo(ISession session) throws Exception { int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.Level_RankingShowNum); - Set> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.MAINLEVEL_RANK, "", 0, rankEndLine); + Set> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.MAINLEVEL_RANK, "", 0, rankEndLine-1); int rank =1; FightInfoProto.MainLevelRankInfoResponse.Builder builder = FightInfoProto.MainLevelRankInfoResponse.newBuilder(); List mainLevelRankInfoList = new ArrayList<>(rankEndLine); @@ -2225,19 +2225,26 @@ public class MapLogic { o2.setRank(rank); } } - return o2.getFightId()-o1.getFightId(); + return o1.getRank()-o2.getRank(); } }); + rank =1; + int myRank =-1; for(CommonProto.MainLevelRankInfo.Builder builder1 : mainLevelRankInfoList){ + builder1.setRank(rank++); builder.addMainLevelRankInfo(builder1.build()); + if(builder1.getUid() == myRank){ + myRank = builder1.getRank(); + } } int uid = session.getUid(); int score = RedisUtil.getInstence().getZSetScore(RedisKey.MAINLEVEL_RANK,"", Integer.toString(uid)).intValue(); - int myRank =-1; if(score == -1){ score = 1011; }else{ - myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.MAINLEVEL_RANK,"",Integer.toString(uid)).intValue(); + if(myRank==-1){ + myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.MAINLEVEL_RANK,"",Integer.toString(uid)).intValue(); + } } User user = UserManager.getUser(uid); PlayerManager playerInfoManager = user.getPlayerInfoManager(); 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 6ff26809b..129a48c34 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 @@ -445,10 +445,18 @@ public class ItemLogic { public void especialEquipUpStar(ISession session, String equipId, List materials) throws Exception { User user = UserManager.getUser(session.getUid()); EspecialEquip especialEquip = user.getEquipManager().getEspecialEquipMap().get(equipId); + if(especialEquip == null){ + MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"not exists"); + return; + } SEquipTalismana sEquipTalismana = SEquipTalismana.equipTalismanaStarMap.get(especialEquip.getEquipId()).get(especialEquip.getStar()); Map equipTalismanaRankupMap = SEquipTalismanaRankup.equipTalismanaRankupMap; boolean success = true; //按槽位遍历所需材料 + if(sEquipTalismana.getRankupConsumeMaterial().length != materials.size()){ + MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"卡槽数量不对"); + return; + } for(int i = 0 ; i