竞技场重写二版
parent
6bf881b06d
commit
745dde1d59
|
|
@ -110,6 +110,7 @@ public class GmService implements RPCRequestGMIFace.Iface {
|
||||||
} catch (final Exception ex) {
|
} catch (final Exception ex) {
|
||||||
result.setResultMsg("Cmd Illegal");
|
result.setResultMsg("Cmd Illegal");
|
||||||
LOGGER.error("e={}", ex.getMessage());
|
LOGGER.error("e={}", ex.getMessage());
|
||||||
|
ex.printStackTrace();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
result.setResultCode(0);
|
result.setResultCode(0);
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通用修复,在线后台修改玩家数据
|
* 通用修复,在线后台修改玩家数据
|
||||||
* // arenafalsedata serverId
|
* //arenafalsedata 10023
|
||||||
*/
|
*/
|
||||||
public class Cmd_arenafalsedata extends GmAbstract {
|
public class Cmd_arenafalsedata extends GmAbstract {
|
||||||
|
|
||||||
|
|
@ -33,6 +33,7 @@ public class Cmd_arenafalsedata extends GmAbstract {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String exec2(String[] args) {
|
public String exec2(String[] args) {
|
||||||
|
long start = TimeUtils.now();
|
||||||
String arg = args[0];
|
String arg = args[0];
|
||||||
int serverId = Integer.parseInt(arg);
|
int serverId = Integer.parseInt(arg);
|
||||||
List<Integer> localRooms = SArenaRoom.getLocalRooms();
|
List<Integer> localRooms = SArenaRoom.getLocalRooms();
|
||||||
|
|
@ -47,9 +48,11 @@ public class Cmd_arenafalsedata extends GmAbstract {
|
||||||
for (Integer roomId : crossRooms) {
|
for (Integer roomId : crossRooms) {
|
||||||
initFalseArenaRank(getRandomUsers(allUser), roomId);
|
initFalseArenaRank(getRandomUsers(allUser), roomId);
|
||||||
}
|
}
|
||||||
|
LOGGER.info("竞技场假数据全部制作完成...耗时:{}",TimeUtils.now()-start);
|
||||||
return "success";
|
return "success";
|
||||||
}
|
}
|
||||||
public void initFalseArenaRank(List<User> users, int roomId){
|
public void initFalseArenaRank(List<User> users, int roomId){
|
||||||
|
LOGGER.info("竞技场假数据,房间id:{},用户数量:{}",roomId, users.size());
|
||||||
if (users.isEmpty()){
|
if (users.isEmpty()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -62,37 +65,47 @@ public class Cmd_arenafalsedata extends GmAbstract {
|
||||||
if (personInfo == null){
|
if (personInfo == null){
|
||||||
redisUtil.putmap(RedisKey.NEW_ARENA_FIRST_PUSH, ArenaLogic.FIRST_PUSH, CBean2Proto.getNewArenaPlayerProto(first.getId(), roomId));
|
redisUtil.putmap(RedisKey.NEW_ARENA_FIRST_PUSH, ArenaLogic.FIRST_PUSH, CBean2Proto.getNewArenaPlayerProto(first.getId(), roomId));
|
||||||
redisUtil.expireMills(RedisKey.NEW_ARENA_FIRST_PUSH, TimeUtils.ONE_MINUTE * 10);
|
redisUtil.expireMills(RedisKey.NEW_ARENA_FIRST_PUSH, TimeUtils.ONE_MINUTE * 10);
|
||||||
|
LOGGER.info("竞技场假数据,第一拍脸,uid:{},房间id:{}",first.getId(),roomId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NewArenaRank rank = (NewArenaRank) RankEnum.toRank(RankEnum.NEW_ARENA_RANK.getType());
|
NewArenaRank rank = (NewArenaRank) RankEnum.toRank(RankEnum.NEW_ARENA_RANK.getType());
|
||||||
for (User user : users) {
|
for (User user : users) {
|
||||||
|
int uid = user.getId();
|
||||||
int randomArenaLv = getRandomArenaLv();
|
int randomArenaLv = getRandomArenaLv();
|
||||||
int randomScore = getRandomScore();
|
int randomScore = getRandomScore();
|
||||||
// 竞技场缓存
|
// 竞技场缓存
|
||||||
ArenaInfo info = new ArenaInfo();
|
ArenaInfo info = new ArenaInfo();
|
||||||
info.setUid(user.getId());
|
info.setUid(uid);
|
||||||
info.setArenaLv(randomArenaLv);
|
info.setArenaLv(randomArenaLv);
|
||||||
info.setScore(randomScore);
|
info.setScore(randomScore);
|
||||||
info.setRoomId(roomId);
|
info.setRoomId(roomId);
|
||||||
info.setFightNum(0);
|
info.setFightNum(0);
|
||||||
info.setReceivedBox(new HashSet<>());
|
info.setReceivedBox(new HashSet<>());
|
||||||
info.setArenaRecord(new HashMap<>());
|
info.setArenaRecord(new HashMap<>());
|
||||||
|
ArenaLogic.saveArenaInfo(info);
|
||||||
ArenaLogic.getInstance().refreshArenaOpponentList(user);
|
ArenaLogic.getInstance().refreshArenaOpponentList(user);
|
||||||
|
LOGGER.info("竞技场假数据,处理玩家竞技场缓存,uid:{},房间id:{},段位:{},竞技分:{}", uid,roomId,randomArenaLv,randomScore);
|
||||||
// 玩家身上
|
// 玩家身上
|
||||||
ArenaManager arenaManager = user.getArenaManager();
|
ArenaManager arenaManager = user.getArenaManager();
|
||||||
arenaManager.setNewArenaLv(randomArenaLv);
|
arenaManager.setNewArenaLv(randomArenaLv);
|
||||||
SArenaLevel arenaLevel = SArenaLevel.getMap().get(randomArenaLv);
|
SArenaLevel arenaLevel = SArenaLevel.getMap().get(randomArenaLv);
|
||||||
arenaManager.setNewArenaLvScore(arenaLevel.getArenaLevelIntegral()[0]+5);
|
int arenaLvScore = arenaLevel.getArenaLevelIntegral()[0] + 5;
|
||||||
|
arenaManager.setNewArenaLvScore(arenaLvScore);
|
||||||
|
LOGGER.info("竞技场假数据,处理玩家竞技场缓存,uid:{},房间id:{},段位:{},段位分:{}", uid,roomId,randomArenaLv,arenaLvScore);
|
||||||
|
|
||||||
// 重置标记
|
// 重置标记
|
||||||
if (isGetResetMark()){
|
if (isGetResetMark()){
|
||||||
int randomRanking = getRandomRanking();
|
int randomRanking = getRandomRanking();
|
||||||
ArenaLogic.getInstance().setNewArenaResetMark(user.getId(), roomId, randomRanking);
|
ArenaLogic.getInstance().setNewArenaResetMark(uid, roomId, randomRanking);
|
||||||
|
LOGGER.info("竞技场假数据,重置标记,uid:{},房间id:{}", uid,roomId);
|
||||||
}
|
}
|
||||||
// 排行榜
|
// 排行榜
|
||||||
rank.addRank(user.getId(), String.valueOf(roomId), randomScore);
|
rank.addRank(uid, String.valueOf(roomId), randomScore);
|
||||||
|
LOGGER.info("竞技场假数据,排行榜数据,uid:{},房间id:{}, 竞技分:{}", uid,roomId,randomScore);
|
||||||
CrossServiceLogic.getInstance().saveBasicPlayerToRedis(user);
|
CrossServiceLogic.getInstance().saveBasicPlayerToRedis(user);
|
||||||
}
|
}
|
||||||
|
LOGGER.info("竞技场假数据,房间id:{},用户数量:{}, 完成...",roomId, users.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<User> getRandomUsers(List<User> users) {
|
public static List<User> getRandomUsers(List<User> users) {
|
||||||
|
|
|
||||||
|
|
@ -991,6 +991,7 @@ public class ArenaLogic {
|
||||||
info.setFightNum(0);
|
info.setFightNum(0);
|
||||||
info.setReceivedBox(new HashSet<>());
|
info.setReceivedBox(new HashSet<>());
|
||||||
info.setArenaRecord(new HashMap<>());
|
info.setArenaRecord(new HashMap<>());
|
||||||
|
saveArenaInfo(info);
|
||||||
refreshArenaOpponentList(user);
|
refreshArenaOpponentList(user);
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue