试炼排行榜修改

back_recharge
lvxinran 2019-07-11 11:02:33 +08:00
parent 71e36e025d
commit 69da7e98ca
3 changed files with 9 additions and 3 deletions

View File

@ -2451,7 +2451,7 @@ public class MapLogic {
// return;
// }
User user = UserManager.getUser(session.getUid());
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.TOWER_RANK, "", 1, 100);
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.TOWER_RANK, "", 0, 99);
Iterator<ZSetOperations.TypedTuple<String>> iterator = zsetreverseRangeWithScores.iterator();
MapInfoProto.TowerRankResponse.Builder response = MapInfoProto.TowerRankResponse.newBuilder();
if(!iterator.hasNext()){

View File

@ -11,6 +11,7 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.protocols.MapInfoProto;
import com.ljsd.jieling.util.TimeUtils;
import com.ljsd.jieling.util.TowerRankUtil;
import org.springframework.stereotype.Component;
@Component
@ -41,9 +42,9 @@ public class FourtyTwoBehavior extends BaseBehavior {
if(mapManager.getTower()>mapManager.getHighestTower()){
mapManager.setHighestTower(mapManager.getTower());
Double zSetScore = RedisUtil.getInstence().getZSetScore(RedisKey.TOWER_RANK, "", String.valueOf(user.getId()));
if(mapManager.getTower()*3601+3600-(int)(time/1000)>zSetScore){
if(TowerRankUtil.getRankNumber(mapManager.getTower(),(int)time/1000)>zSetScore){
String key = RedisKey.getKey(RedisKey.TOWER_RANK,"",false);
RedisUtil.getInstence().zsetAddOne(key,String.valueOf(user.getId()),mapManager.getTower()*3601+3600-(int)(time/1000));
RedisUtil.getInstence().zsetAddOne(key,String.valueOf(user.getId()),TowerRankUtil.getRankNumber(mapManager.getTower(),(int)time/1000));
}
}
user.getUserMissionManager().onGameEvent(user, GameEvent.COPY_TOWER_LEVEL, mapManager.getTower());

View File

@ -8,4 +8,9 @@ public class TowerRankUtil {
array[1] =3600-data%3601;
return array;
}
public static int getRankNumber(int tower,int time){
return time>3600?tower*3601:tower*3601+3600-time;
}
}