缓存删除修改

lvxinran 2021-07-10 00:27:46 +08:00
parent 24cc1fbbf1
commit 9eb6920fe7
4 changed files with 36 additions and 23 deletions

View File

@ -233,7 +233,9 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler<WorldProto
RedisUtil.getInstence().putMapEntry(RedisKey.WORLD_ARENA_RRECORD,Integer.toString(iSession.getUid()), s, builder.build().toByteArray());
builder.setRank(myRank==-1?9999:myRank);
builder.setOldrank(newRank);
RedisUtil.getInstence().putMapEntry(RedisKey.WORLD_ARENA_RRECORD, Integer.toString(proto.getChallengeUid()), s, builder.build().toByteArray());
if(proto.getChallengeUid()>1000){
RedisUtil.getInstence().putMapEntry(RedisKey.WORLD_ARENA_RRECORD, Integer.toString(proto.getChallengeUid()), s, builder.build().toByteArray());
}
}

View File

@ -23,6 +23,7 @@ import manager.STableManager;
import rpc.protocols.CommonProto;
import rpc.protocols.MessageTypeProto;
import rpc.world.WorldProto;
import util.TimeUtils;
/**
* Description: des
@ -59,12 +60,11 @@ public class GetWorldArenaProudRequestHandler extends BaseHandler<WorldProto.Get
reward[0] = setting.getBattleWinReward();
CommonProto.Drop.Builder drop = ItemUtil.drop(UserManager.getUser(iSession.getUid()), reward, BIReason.WORLD_CHANGE_DROP);
WorldProto.GetWorldArenaProudResponse.Builder builder = WorldProto.GetWorldArenaProudResponse.newBuilder();
if(proto.getChallengeUid()<10000){
if(proto.getChallengeUid()<1000){
Object get = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT_ROBOT,String.valueOf(proto.getChallengeRank()));
int proudTime = get==null?1:Integer.parseInt((String)get)+1;
RedisUtil.getInstence().hset(RedisKey.ARENA_PROUD_COUNT_ROBOT,String.valueOf(proto.getChallengeRank()),proudTime);
RedisUtil.getInstence().lSet(RedisKey.WORLD_ARENA_MY_PRON+":"+iSession.getUid(),String.valueOf(proto.getChallengeRank()));
builder.setWorshipTime(proudTime);
}else{
@ -73,9 +73,10 @@ public class GetWorldArenaProudRequestHandler extends BaseHandler<WorldProto.Get
int proudTime = get==null?1:Integer.parseInt((String)get)+1;
RedisUtil.getInstence().hset(RedisKey.ARENA_PROUD_COUNT,String.valueOf(proto.getChallengeUid()),proudTime);
RedisUtil.getInstence().lSet(RedisKey.WORLD_ARENA_MY_PRON+":"+iSession.getUid(),String.valueOf(proto.getChallengeUid()));
builder.setWorshipTime(proudTime);
}
RedisUtil.getInstence().expire(RedisKey.WORLD_ARENA_MY_PRON+":"+iSession.getUid(), getExpireTime());
// builder.setErr()
builder.setDrop(drop);
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GetWorldArenaProudResponse.getNumber(),builder.build(),true);
@ -87,4 +88,10 @@ public class GetWorldArenaProudRequestHandler extends BaseHandler<WorldProto.Get
//转发到world服
}
//第二天0点前1秒
public long getExpireTime(){
return (TimeUtils.getAppointTime(0) + TimeUtils.DAY - TimeUtils.now() - TimeUtils.ONE_SECOND)/1000;
}
}

View File

@ -265,6 +265,10 @@ public class GlobleSystemLogic implements IEventHandler {
}
//获取当前区服的跨服区组 -1为未在分组内
public int getCrossGroup(){
//测试服不参与分组和跨服
if(!GameApplication.serverProperties.isArenaCross()){
return -1;
}
if(crossGroup==0){
Integer group = RedisUtil.getInstence().getMapValue(RedisKey.SERVER_SPLIT_INFO, "", String.valueOf(GameApplication.serverId), Integer.class);
crossGroup = group==null?-1:group;

View File

@ -770,7 +770,7 @@ public class ArenaLogic {
}
long diff = (System.currentTimeMillis() - timeControllerOfFunction.getStartTime())/1000;
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
if (diff > setting.getBattleTime()[0] && diff <= setting.getBattleTime()[1]) {
if (diff >= setting.getBattleTime()[0] && diff <= setting.getBattleTime()[1]) {
e2b();
}else if (diff > setting.getBattleTime()[1] && diff <= setting.getRestTime()[1]) {
b2r();
@ -911,7 +911,7 @@ public class ArenaLogic {
List<Integer> 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);
matchRank.forEach(rank -> {
Set<ZSetOperations.TypedTuple<String>> rankByKey = rankEnum.getRankByKey(String.valueOf(crossGroup),rank-1,rank-1);
ZSetOperations.TypedTuple<String> next = rankByKey.iterator().next();
@ -922,8 +922,24 @@ public class ArenaLogic {
List<CommonProto.ArenaEnemy> crossArenaEnemyList = ArenaLogic.getInstance().getCrossArenaEnemyList(uid,matchRank,crossGroup);
return crossArenaEnemyList;
}
public CommonProto.ArenaEnemy.Builder getUserCrossArenaEnemy(int crossGroup,ArenaOfUser enemy,int rank,boolean hadProud){
Object get = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT, String.valueOf(enemy.getId()));
int proudTime = get==null?1:Integer.parseInt((String)get);
int enemyId = enemy.getId();
CommonProto.ArenaPersonInfo personInfoBuild = CommonProto.ArenaPersonInfo.newBuilder()
.setUid(enemyId)
.setLevel(enemy.getPlayerManager().getLevel())
.setName(enemy.getPlayerManager().getName())
.setServername(enemy.getPlayerManager().getServerName())
.setTotalForce(enemy.getHeroManager().getTotalForce())
.setRank(rank)
.build();
return CommonProto.ArenaEnemy.newBuilder()
.setPersonInfo(personInfoBuild).setHadProud(hadProud).setWorshipTime(proudTime);
// .setTeam(teamBuild)
}
public CommonProto.ArenaEnemy.Builder getRobotCrossArenaEnemy(int rank,CrossArenaEnemy enemy){
Object get = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT_ROBOT, String.valueOf(enemy.getEnemyId_UUid()));
Object get = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT_ROBOT, String.valueOf(rank));
int proudTime = get==null?1:Integer.parseInt((String)get);
int enemyId = enemy.getEnemyId();
@ -943,22 +959,6 @@ public class ArenaLogic {
.setWorshipTime(proudTime)
.setTeam(teamBuild);
}
public CommonProto.ArenaEnemy.Builder getUserCrossArenaEnemy(int crossGroup,ArenaOfUser enemy,int rank,boolean hadProud){
Object get = RedisUtil.getInstence().hget(RedisKey.ARENA_PROUD_COUNT, String.valueOf(enemy.getId()));
int proudTime = get==null?1:Integer.parseInt((String)get);
int enemyId = enemy.getId();
CommonProto.ArenaPersonInfo personInfoBuild = CommonProto.ArenaPersonInfo.newBuilder()
.setUid(enemyId)
.setLevel(enemy.getPlayerManager().getLevel())
.setName(enemy.getPlayerManager().getName())
.setServername(enemy.getPlayerManager().getServerName())
.setTotalForce(enemy.getHeroManager().getTotalForce())
.setRank(rank)
.build();
return CommonProto.ArenaEnemy.newBuilder()
.setPersonInfo(personInfoBuild).setHadProud(hadProud).setWorshipTime(proudTime);
// .setTeam(teamBuild)
}
}