diff --git a/netty/src/main/java/com/ljsd/jieling/tools/Utils.java b/netty/src/main/java/com/ljsd/jieling/tools/Utils.java index eedcbb5a3..20441f21d 100644 --- a/netty/src/main/java/com/ljsd/jieling/tools/Utils.java +++ b/netty/src/main/java/com/ljsd/jieling/tools/Utils.java @@ -4,7 +4,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.*; -import java.lang.reflect.Array; import java.security.MessageDigest; import java.util.*; import java.util.regex.Matcher; @@ -179,6 +178,4 @@ public class Utils { return object; } - - } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java index 8400d654b..da0262719 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java @@ -39,9 +39,7 @@ import org.springframework.data.redis.core.ZSetOperations; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; import rpc.world.WorldProto; -import util.TimeUtils; -import java.util.HashSet; import java.util.List; import java.util.Set; @@ -109,12 +107,14 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler> rankByKey = rank.getRankByKey(String.valueOf(crossGroup), challengeRank-1, challengeRank-1); - int myRank = rank.getRankIndexByKey(String.valueOf(crossGroup),iSession.getUid()); - int challengeCurRank = rank.getRankIndexByKey(String.valueOf(crossGroup),proto.getChallengeUid()); + Set> rankByKey = rank.getRankByKey(groupStr, challengeRank-1, challengeRank-1); + int myRank = rank.getRankIndexByKey(groupStr,iSession.getUid()); + int challengeCurRank = rank.getRankIndexByKey(groupStr, challengeUid); int myCurrentRank = proto.getMyCurrentRank(); @@ -137,12 +137,12 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler next = rankByKey.iterator().next(); String value = next.getValue(); double score = next.getScore(); - if(Integer.parseInt(value)!=proto.getChallengeUid()){ + if(Integer.parseInt(value)!= challengeUid){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } int defendForce; - if (proto.getChallengeUid()>1000) { - CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(proto.getChallengeUid()); + if (challengeUid >1000) { + CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(challengeUid); if (csPlayer == null){ throw new ErrorCodeException(ErrorCode.USE_NOT_EXIT); } @@ -152,19 +152,12 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler 0) { // if (proto.getChallengeUid() < 1000) { - RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(iSession.getUid()), new HashSet<>()); - +// RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(iSession.getUid()), new HashSet<>()); if(myRank==-1){ //第一次 没有上榜的时候 - rank.removeOneRankByPiece(String.valueOf(crossGroup),String.valueOf(proto.getChallengeUid())); - rank.addRank(iSession.getUid(), String.valueOf(crossGroup), score); - newRank = rank.getRankIndexByKey(String.valueOf(crossGroup),iSession.getUid()); - if(proto.getChallengeUid()>1000){ - RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(proto.getChallengeUid()), new HashSet<>()); - ArenaLogic.randomRank(proto.getChallengeUid(),9999, crossGroup); - } - }else if(rank.getScoreById(iSession.getUid(),String.valueOf(crossGroup))1000){ +// RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(challengeUid), new HashSet<>()); +// ArenaLogic.randomRank(proto.getChallengeUid(),9999, crossGroup); +// } + }else if(rank.getScoreById(iSession.getUid(), groupStr)1000){ - RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(proto.getChallengeUid()), new HashSet<>()); - ArenaLogic.randomRank(proto.getChallengeUid(),myRank, crossGroup); - } + rank.addRank(challengeUid, groupStr,rank.getScoreById(iSession.getUid(), groupStr)); + rank.addRank(iSession.getUid(), groupStr, score); + newRank = rank.getRankIndexByKey(groupStr,iSession.getUid()); +// if(challengeUid >1000){ +// RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(challengeUid), new HashSet<>()); +// ArenaLogic.randomRank(proto.getChallengeUid(),myRank, crossGroup); +// } }else{ //排名不需升高,拿自己的排名重新匹配 newRank = myRank; @@ -245,11 +237,11 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler1000){ + if(challengeUid >1000){ builder.setRank(myRank==-1?9999:myRank); builder.setOldrank(newRank==-1?9999:newRank); - RedisUtil.getInstence().putMapEntry(RedisKey.WORLD_ARENA_RRECORD, Integer.toString(proto.getChallengeUid()), s, builder.build().toByteArray()); - RedisUtil.getInstence().expire(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_RRECORD, Integer.toString(proto.getChallengeUid())), 86400 * 7); + RedisUtil.getInstence().putMapEntry(RedisKey.WORLD_ARENA_RRECORD, Integer.toString(challengeUid), s, builder.build().toByteArray()); + RedisUtil.getInstence().expire(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_RRECORD, Integer.toString(challengeUid)), 86400 * 7); } PlayerLogic.getInstance().checkAndUpdate(user, VipPrivilegeType.WORLD_ARENA_CHALLENGE_TIMES, 1); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaInfoRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaInfoRequestHandler.java index c3af666ba..ce6f375eb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaInfoRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaInfoRequestHandler.java @@ -3,8 +3,6 @@ package com.ljsd.jieling.handler.gtw; import com.ljsd.GameApplication; import com.ljsd.jieling.core.FunctionIdEnum; import com.ljsd.jieling.core.HandlerLogicThread; -import com.ljsd.jieling.db.redis.RedisKey; -import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.handler.BaseHandler; @@ -28,7 +26,9 @@ import rpc.protocols.MessageTypeProto; import rpc.world.WorldProto; import util.TimeUtils; -import java.util.*; +import java.util.List; +import java.util.Set; +import java.util.TreeSet; /** @@ -94,17 +94,7 @@ public class GetWorldArenaInfoRequestHandler extends BaseHandler integerIntegerHashMap = ArenaLogic.ranInfo.get(integer); -// if (integerIntegerHashMap == null) { -// builder.setStage(1); -// return builder.build(); -// } //获取我的排名 -// Map.Entry myRank = ArenaLogic.getKey(integerIntegerHashMap, rpcMessage.getUid()); double score = rank.getRankIndexByKey(String.valueOf(crossGroup),iSession.getUid()); builder1.setScore(score==-1?9999:(int)score); @@ -122,9 +112,7 @@ public class GetWorldArenaInfoRequestHandler extends BaseHandler arenaEnemyList = ArenaLogic.getInstance().getCrossArenaEnemyList(iSession.getUid(),rankInfo,crossGroup); builder1.addAllArenaEnemys(arenaEnemyList); - } -// List strings = RedisUtil.getInstence().lGet(RedisKey.WORLD_ARENA_MY_PRON,String.valueOf(iSession.getUid()), 0, -1); builder.setArenaInfo(builder1.build()); MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GetWorldArenaInfoResponse.getNumber(),builder.build(),true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/JourneyMap.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/JourneyMap.java index 03e49a109..593bf244c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/JourneyMap.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/JourneyMap.java @@ -1,6 +1,5 @@ package com.ljsd.jieling.handler.map; -import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.globals.BIReason; @@ -17,15 +16,14 @@ import com.ljsd.jieling.logic.fight.result.FightResult; import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.mission.MissionType; import com.ljsd.jieling.network.session.ISession; -import com.sun.org.apache.bcel.internal.generic.NEW; -import rpc.protocols.CommonProto; -import rpc.protocols.MapInfoProto; -import rpc.protocols.MessageTypeProto; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.MonsterUtil; import config.*; import manager.STableManager; +import rpc.protocols.CommonProto; +import rpc.protocols.MapInfoProto; +import rpc.protocols.MessageTypeProto; import util.CellUtil; import util.MathUtils; import util.TimeUtils; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index 8ab0b991f..6923bf988 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -1,6 +1,5 @@ package com.ljsd.jieling.logic.arena; -import com.google.gson.reflect.TypeToken; import com.ljsd.GameApplication; import com.ljsd.fight.ArenaRecord; import com.ljsd.fight.FightType; @@ -936,8 +935,7 @@ public class ArenaLogic { } arenaEnemyList.add(robotCrossArenaEnemy.build()); }else{ - - arenaEnemyList.add(getUserCrossArenaEnemy(rankIndex,Integer.valueOf(next.getValue()),list.contains(next.getValue()))); + arenaEnemyList.add(getUserCrossArenaEnemy(rankIndex,Integer.parseInt(next.getValue()),list.contains(next.getValue()))); } }); return arenaEnemyList; @@ -987,21 +985,13 @@ public class ArenaLogic { */ public static List randomRank(int uid, int myRank,int crossGroup) { //缓存每次匹配结果 - Set hisRank = RedisUtil.getInstence().getObject( - RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(uid)) - , new TypeToken>() {}.getType()); - TreeSet matchRank; - if (hisRank == null || hisRank.size() == 0) { - //获取匹配对手 - matchRank = getMatchID(myRank==9999?1000:myRank); - } else { - matchRank = new TreeSet<>(hisRank); - } + TreeSet matchRank = getMatchID(myRank==9999?1000:myRank); + AbstractRank rankEnum = RankContext.getRankEnum(RankEnum.CROSS_SERVICE_ARENA.getType()); List ids = new ArrayList<>(4); - RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(uid), matchRank); - RedisUtil.getInstence().expire(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(uid)),TimeUtils.DAY*2/1000); +// RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(uid), matchRank); +// RedisUtil.getInstence().expire(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(uid)),TimeUtils.DAY*2/1000); matchRank.forEach(rank -> { Set> rankByKey = rankEnum.getRankByKey(String.valueOf(crossGroup),rank-1,rank-1); if(rankByKey.iterator().hasNext()){