跨服服务器
parent
c160bca82e
commit
040711b793
|
@ -34,6 +34,7 @@ import rpc.protocols.PlayerInfoProto;
|
||||||
import rpc.world.WorldProto;
|
import rpc.world.WorldProto;
|
||||||
import util.MathUtils;
|
import util.MathUtils;
|
||||||
import util.StringUtil;
|
import util.StringUtil;
|
||||||
|
import util.TimeUtils;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
@ -92,18 +93,20 @@ public class ArenaLogic {
|
||||||
|
|
||||||
public void minCheck() {
|
public void minCheck() {
|
||||||
RedisUtil redisUtil = RedisUtil.getInstence();
|
RedisUtil redisUtil = RedisUtil.getInstence();
|
||||||
String matched = redisUtil.getObject(RedisKey.MATCHED_VERSION, String.class);//global 分组日期
|
// String matched = redisUtil.getObject(RedisKey.MATCHED_VERSION, String.class);//global 分组日期
|
||||||
String myVersion = redisUtil.getObject(RedisKey.MATCHED_MY_VERSION, String.class);
|
// String myVersion = redisUtil.getObject(RedisKey.MATCHED_MY_VERSION, String.class);
|
||||||
if (null == matched || Integer.valueOf(matched) == 0) {
|
// if (null == matched || Integer.valueOf(matched) == 0) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (null != myVersion && !myVersion.equals("")) {
|
long time = TimeUtils.now() + TimeUtils.ONE_MINUTE * 2;
|
||||||
if (!myVersion.equals(matched) ) {
|
//刷新
|
||||||
|
if(TimeUtils.getDayOfWeek(time)==6&&TimeUtils.getHourOfDay(time)==0&&TimeUtils.getMiunte(time)==0){
|
||||||
|
{
|
||||||
onfinish();
|
onfinish();
|
||||||
//TODO start
|
//TODO start
|
||||||
//重新获取分组信息
|
//重新获取分组信息
|
||||||
redisUtil.set(RedisKey.MATCHED_MY_VERSION, matched);
|
// redisUtil.set(RedisKey.MATCHED_MY_VERSION, matched);
|
||||||
Map<String, Integer> serverSplit = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO, String.class, Integer.class);
|
Map<String, Integer> serverSplit = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO, String.class, Integer.class);
|
||||||
serverSplit.forEach((s, integer) -> {
|
serverSplit.forEach((s, integer) -> {
|
||||||
HashSet<String> strings = map.getOrDefault(integer, new HashSet<>());
|
HashSet<String> strings = map.getOrDefault(integer, new HashSet<>());
|
||||||
|
@ -127,6 +130,9 @@ public class ArenaLogic {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// if (null != myVersion && !myVersion.equals("")) {
|
||||||
|
// if (!myVersion.equals(matched) )
|
||||||
|
// }
|
||||||
//定时入库
|
//定时入库
|
||||||
lastSaved();
|
lastSaved();
|
||||||
}
|
}
|
||||||
|
@ -140,10 +146,18 @@ public class ArenaLogic {
|
||||||
delKeys.add(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_RRECORD, ""));
|
delKeys.add(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_RRECORD, ""));
|
||||||
delKeys.add(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_MY_PRON, ""));
|
delKeys.add(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_MY_PRON, ""));
|
||||||
|
|
||||||
// Cursor<String> cursor = RedisUtil.getInstence().scan("WORLD_ARENA_MY_PRON:*", -1);
|
Cursor<String> cursor = RedisUtil.getInstence().scan("WORLD_ARENA_RANK_MY_MATH:*", -1);
|
||||||
// while (cursor.hasNext()) {
|
while (cursor.hasNext()) {
|
||||||
// delKeys.add(cursor.next());
|
String next = cursor.next();
|
||||||
// }
|
System.out.println("清除:"+next);
|
||||||
|
delKeys.add(next);
|
||||||
|
}
|
||||||
|
Cursor<String> curso1 = RedisUtil.getInstence().scan("WORLD_ARENA_RRECORD:*", -1);
|
||||||
|
while (curso1.hasNext()) {
|
||||||
|
String next = curso1.next();
|
||||||
|
System.out.println("清除:"+next);
|
||||||
|
delKeys.add(next);
|
||||||
|
}
|
||||||
RedisUtil.getInstence().del(delKeys.toArray(new String[0]));
|
RedisUtil.getInstence().del(delKeys.toArray(new String[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,7 +169,14 @@ public class ArenaLogic {
|
||||||
int enemyId = arenaEnemy.getEnemyId();
|
int enemyId = arenaEnemy.getEnemyId();
|
||||||
int enemyType = arenaEnemy.getEnemyType();
|
int enemyType = arenaEnemy.getEnemyType();
|
||||||
int rank = arenaEnemy.getRank();//only robot
|
int rank = arenaEnemy.getRank();//only robot
|
||||||
arenaEnemyList.add(getArenaEnemy(enemyId, arenaEnemy.getServerID(), enemyType, rank,arenaEnemy.getWorshipTime(),myPro.contains(arenaEnemy.getEnemyId_UUid())));
|
if(enemyType==0){
|
||||||
|
Object hget = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT_ROBOT, String.valueOf(arenaEnemy.getEnemyId_UUid()));
|
||||||
|
arenaEnemyList.add(getArenaEnemy(enemyId, arenaEnemy.getServerID(), enemyType, rank,hget==null?0:Integer.parseInt((String)hget),myPro.contains(arenaEnemy.getEnemyId_UUid())));
|
||||||
|
}else{
|
||||||
|
Object hget = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT, String.valueOf(enemyId));
|
||||||
|
|
||||||
|
arenaEnemyList.add(getArenaEnemy(enemyId, arenaEnemy.getServerID(), enemyType, rank,hget==null?0:Integer.parseInt((String)hget),myPro.contains(arenaEnemy.getEnemyId_UUid())));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return arenaEnemyList;
|
return arenaEnemyList;
|
||||||
}
|
}
|
||||||
|
@ -359,7 +380,8 @@ public class ArenaLogic {
|
||||||
int enemyType = arenaEnemy.getEnemyType();
|
int enemyType = arenaEnemy.getEnemyType();
|
||||||
int rank = arenaEnemy.getRank();//only robot
|
int rank = arenaEnemy.getRank();//only robot
|
||||||
List<String> strings = RedisUtil.getInstence().lGet(RedisKey.WORLD_ARENA_MY_PRON,String.valueOf(uid), 0, -1);
|
List<String> strings = RedisUtil.getInstence().lGet(RedisKey.WORLD_ARENA_MY_PRON,String.valueOf(uid), 0, -1);
|
||||||
CommonProto.ArenaEnemy arenaEnemy1 = getArenaEnemy(enemyId, arenaEnemy.getServerID(), enemyType, rank, arenaEnemy.getWorshipTime(), strings.contains(arenaEnemy.getEnemyId_UUid()));
|
Object proudGet = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT, String.valueOf(enemyId));
|
||||||
|
CommonProto.ArenaEnemy arenaEnemy1 = getArenaEnemy(enemyId, arenaEnemy.getServerID(), enemyType, rank, proudGet==null?0:Integer.parseInt((String)proudGet), strings.contains(arenaEnemy.getEnemyId_UUid()));
|
||||||
CommonProto.RankInfo everyRankInfo = CommonProto.RankInfo.newBuilder()
|
CommonProto.RankInfo everyRankInfo = CommonProto.RankInfo.newBuilder()
|
||||||
.setRank(i).setParam1(arenaEnemy1.getPersonInfo().getTotalForce()).build();
|
.setRank(i).setParam1(arenaEnemy1.getPersonInfo().getTotalForce()).build();
|
||||||
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder()
|
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder()
|
||||||
|
@ -383,8 +405,8 @@ public class ArenaLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(uid!=0){
|
CommonProto.ArenaEnemy arenaEnemy1 = getArenaEnemy(uid, serverID, 1, myIndex,0, true);
|
||||||
CommonProto.ArenaEnemy arenaEnemy1 = getArenaEnemy(uid, serverID, 1, myIndex,0, true);
|
if(arenaEnemy1!=null&&uid!=0){
|
||||||
CommonProto.RankInfo everyRankInfo = CommonProto.RankInfo.newBuilder()
|
CommonProto.RankInfo everyRankInfo = CommonProto.RankInfo.newBuilder()
|
||||||
.setRank(myIndex)
|
.setRank(myIndex)
|
||||||
.setParam1(arenaEnemy1.getPersonInfo().getTotalForce())
|
.setParam1(arenaEnemy1.getPersonInfo().getTotalForce())
|
||||||
|
|
Loading…
Reference in New Issue