跨服服务器
parent
c160bca82e
commit
040711b793
|
@ -34,6 +34,7 @@ import rpc.protocols.PlayerInfoProto;
|
|||
import rpc.world.WorldProto;
|
||||
import util.MathUtils;
|
||||
import util.StringUtil;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
@ -92,18 +93,20 @@ public class ArenaLogic {
|
|||
|
||||
public void minCheck() {
|
||||
RedisUtil redisUtil = RedisUtil.getInstence();
|
||||
String matched = redisUtil.getObject(RedisKey.MATCHED_VERSION, String.class);//global 分组日期
|
||||
String myVersion = redisUtil.getObject(RedisKey.MATCHED_MY_VERSION, String.class);
|
||||
if (null == matched || Integer.valueOf(matched) == 0) {
|
||||
return;
|
||||
}
|
||||
// String matched = redisUtil.getObject(RedisKey.MATCHED_VERSION, String.class);//global 分组日期
|
||||
// String myVersion = redisUtil.getObject(RedisKey.MATCHED_MY_VERSION, String.class);
|
||||
// if (null == matched || Integer.valueOf(matched) == 0) {
|
||||
// return;
|
||||
// }
|
||||
|
||||
if (null != myVersion && !myVersion.equals("")) {
|
||||
if (!myVersion.equals(matched) ) {
|
||||
long time = TimeUtils.now() + TimeUtils.ONE_MINUTE * 2;
|
||||
//刷新
|
||||
if(TimeUtils.getDayOfWeek(time)==6&&TimeUtils.getHourOfDay(time)==0&&TimeUtils.getMiunte(time)==0){
|
||||
{
|
||||
onfinish();
|
||||
//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);
|
||||
serverSplit.forEach((s, integer) -> {
|
||||
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();
|
||||
}
|
||||
|
@ -140,10 +146,18 @@ public class ArenaLogic {
|
|||
delKeys.add(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_RRECORD, ""));
|
||||
delKeys.add(RedisUtil.getInstence().getKey(RedisKey.WORLD_ARENA_MY_PRON, ""));
|
||||
|
||||
// Cursor<String> cursor = RedisUtil.getInstence().scan("WORLD_ARENA_MY_PRON:*", -1);
|
||||
// while (cursor.hasNext()) {
|
||||
// delKeys.add(cursor.next());
|
||||
// }
|
||||
Cursor<String> cursor = RedisUtil.getInstence().scan("WORLD_ARENA_RANK_MY_MATH:*", -1);
|
||||
while (cursor.hasNext()) {
|
||||
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]));
|
||||
}
|
||||
|
||||
|
@ -155,7 +169,14 @@ public class ArenaLogic {
|
|||
int enemyId = arenaEnemy.getEnemyId();
|
||||
int enemyType = arenaEnemy.getEnemyType();
|
||||
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;
|
||||
}
|
||||
|
@ -359,7 +380,8 @@ public class ArenaLogic {
|
|||
int enemyType = arenaEnemy.getEnemyType();
|
||||
int rank = arenaEnemy.getRank();//only robot
|
||||
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()
|
||||
.setRank(i).setParam1(arenaEnemy1.getPersonInfo().getTotalForce()).build();
|
||||
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()
|
||||
.setRank(myIndex)
|
||||
.setParam1(arenaEnemy1.getPersonInfo().getTotalForce())
|
||||
|
|
Loading…
Reference in New Issue