排行榜修改

back_recharge
lvxinran 2019-11-29 11:19:48 +08:00
parent 7de4d9bc9e
commit 262be7dde8
10 changed files with 46 additions and 25 deletions

View File

@ -137,6 +137,11 @@ public class TimeUtils {
public static final String Stand_CeHua_Data_format = "yyyyMMdd HHmmss"; public static final String Stand_CeHua_Data_format = "yyyyMMdd HHmmss";
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);
System.out.println((Integer.MAX_VALUE-now()/1000)/Math.pow(10,9));
}
/** /**
* (HH:mm:ss) * (HH:mm:ss)
* *
@ -1314,4 +1319,12 @@ public class TimeUtils {
} }
} }
/**
* Integer-now();
* @return
*/
public static double getDoubleTime(){
return (Integer.MAX_VALUE-now()/1000)/Math.pow(10,9);
}
} }

View File

@ -1,6 +1,8 @@
package com.ljsd.jieling.handler; package com.ljsd.jieling.handler;
import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.MessageTypeProto;
@ -8,16 +10,16 @@ import com.ljsd.jieling.protocols.PlayerInfoProto;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
public class TowerRankHandler extends BaseHandler<PlayerInfoProto.RankRequest> { public class RankHandler extends BaseHandler<PlayerInfoProto.RankRequest> {
@Override @Override
public MessageTypeProto.MessageType getMessageCode() { public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.GET_TOWER_RANK_BY_PAGE_REQUEST; return MessageTypeProto.MessageType.GET_ONE_RANK_REQUEST;
} }
@Override @Override
public void processWithProto(ISession iSession, PlayerInfoProto.RankRequest proto) throws Exception { public void processWithProto(ISession iSession, PlayerInfoProto.RankRequest proto) throws Exception {
MapLogic.getInstance().getTowerRank(iSession,proto.getType(),MessageTypeProto.MessageType.GET_TOWER_RANK_BY_PAGE_RESPONSE); MapLogic.getInstance().getTowerRank(iSession,proto.getType(),MessageTypeProto.MessageType.GET_ONE_RANK_RESPONSE);
// RankLogic.getInstance().getRank(iSession,proto.getType(),MessageTypeProto.MessageType.GET_ONE_RANK_RESPONSE);
} }
} }

View File

@ -29,7 +29,7 @@ import com.ljsd.jieling.logic.fight.result.FightResult;
import com.ljsd.jieling.logic.hero.HeroAttributeEnum; import com.ljsd.jieling.logic.hero.HeroAttributeEnum;
import com.ljsd.jieling.logic.hero.HeroLogic; import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.rank.AbstractRank; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
import com.ljsd.jieling.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum; import com.ljsd.jieling.logic.rank.RankEnum;
import com.ljsd.jieling.logic.store.StoreLogic; import com.ljsd.jieling.logic.store.StoreLogic;

View File

@ -1,12 +1,10 @@
package com.ljsd.jieling.handler.map.behavior; package com.ljsd.jieling.handler.map.behavior;
import com.ljsd.jieling.logic.rank.AbstractRank; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
import com.ljsd.jieling.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum; import com.ljsd.jieling.logic.rank.RankEnum;
import config.SChallengeConfig; import config.SChallengeConfig;
import config.STrialConfig; import config.STrialConfig;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.handler.map.EventType; import com.ljsd.jieling.handler.map.EventType;
import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.handler.map.MapManager; import com.ljsd.jieling.handler.map.MapManager;
@ -14,7 +12,6 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.protocols.MapInfoProto; import com.ljsd.jieling.protocols.MapInfoProto;
import util.TimeUtils; import util.TimeUtils;
import com.ljsd.jieling.util.TowerRankUtil;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component

View File

@ -1,5 +1,7 @@
package com.ljsd.jieling.logic.rank; package com.ljsd.jieling.logic.rank;
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
/** /**
* @author lvxinran * @author lvxinran
* @date 2019/11/26 * @date 2019/11/26

View File

@ -1,6 +1,10 @@
package com.ljsd.jieling.logic.rank; package com.ljsd.jieling.logic.rank;
import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
import com.ljsd.jieling.logic.rank.rankImpl.ForceRank;
import com.ljsd.jieling.logic.rank.rankImpl.RandomCardRank;
import com.ljsd.jieling.logic.rank.rankImpl.TowerRank;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@ -13,9 +17,9 @@ import java.util.function.BiFunction;
* @discribe * @discribe
*/ */
public enum RankEnum { public enum RankEnum {
TOWER_RANK(1,RedisKey.TOWER_RANK,TowerRank::new), TOWER_RANK(1,RedisKey.TOWER_RANK, TowerRank::new),
FORCE_RANK(2,RedisKey.FORCE_RANK,ForceRank::new), FORCE_RANK(2,RedisKey.FORCE_RANK, ForceRank::new),
RANDOM_CARD_RANK(10,RedisKey.RANDOM_CARD_RANK,RandomCardRank::new) RANDOM_CARD_RANK(10,RedisKey.RANDOM_CARD_RANK, RandomCardRank::new)
; ;
private int type; private int type;
private String redisKey; private String redisKey;

View File

@ -1,9 +1,10 @@
package com.ljsd.jieling.logic.rank; package com.ljsd.jieling.logic.rank.rankImpl;
import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.rank.IRank;
import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.PlayerInfoProto; import com.ljsd.jieling.protocols.PlayerInfoProto;
import org.springframework.data.redis.core.ZSetOperations; import org.springframework.data.redis.core.ZSetOperations;
@ -47,7 +48,7 @@ public abstract class AbstractRank implements IRank {
String key = RedisKey.getKey(redisKey,"",false); String key = RedisKey.getKey(redisKey,"",false);
RedisUtil.getInstence().zsetAddOne(key,String.valueOf(uid), getScore(data)); RedisUtil.getInstence().zsetAddOne(key,String.valueOf(uid), getScore(data));
} }
AbstractRank(int type,String redisKey){ public AbstractRank(int type,String redisKey){
this.type = type; this.type = type;
this.redisKey = redisKey; this.redisKey = redisKey;
} }
@ -123,12 +124,12 @@ public abstract class AbstractRank implements IRank {
if(startIndex < 0) { if(startIndex < 0) {
startIndex = 0; startIndex = 0;
} }
int index = 0; int index = startIndex;
for (T element : elements) { for (T element : elements) {
index++; index++;
if(index <= startIndex) { // if(index <= startIndex) {
continue; // continue;
} // }
action.accept(index-1, element); action.accept(index-1, element);
} }

View File

@ -1,4 +1,4 @@
package com.ljsd.jieling.logic.rank; package com.ljsd.jieling.logic.rank.rankImpl;
/** /**
* @author lvxinran * @author lvxinran
@ -6,7 +6,7 @@ package com.ljsd.jieling.logic.rank;
* @discribe * @discribe
*/ */
public class ForceRank extends AbstractRank { public class ForceRank extends AbstractRank {
ForceRank(int type, String redisKey) { public ForceRank(int type, String redisKey) {
super(type, redisKey); super(type, redisKey);
} }

View File

@ -1,4 +1,4 @@
package com.ljsd.jieling.logic.rank; package com.ljsd.jieling.logic.rank.rankImpl;
/** /**
* @author lvxinran * @author lvxinran
@ -6,7 +6,7 @@ package com.ljsd.jieling.logic.rank;
* @discribe * @discribe
*/ */
public class RandomCardRank extends AbstractRank { public class RandomCardRank extends AbstractRank {
RandomCardRank(int type, String redisKey) { public RandomCardRank(int type, String redisKey) {
super(type, redisKey); super(type, redisKey);
} }

View File

@ -1,6 +1,7 @@
package com.ljsd.jieling.logic.rank; package com.ljsd.jieling.logic.rank.rankImpl;
import com.ljsd.jieling.protocols.PlayerInfoProto; import com.ljsd.jieling.protocols.PlayerInfoProto;
import config.SSpecialConfig; import config.SSpecialConfig;
import util.TimeUtils;
/** /**
@ -9,7 +10,7 @@ import config.SSpecialConfig;
* @discribe * @discribe
*/ */
public class TowerRank extends AbstractRank { public class TowerRank extends AbstractRank {
TowerRank(Integer type,String redisKey){ public TowerRank(Integer type,String redisKey){
super(type,redisKey); super(type,redisKey);
} }
@ -30,6 +31,7 @@ public class TowerRank extends AbstractRank {
@Override @Override
public double getScore(double... data) { public double getScore(double... data) {
return data[1]>3600?data[0]*3601:data[0]*3601+3600-data[1]; double doubleTime = TimeUtils.getDoubleTime();
return data[1]>3600?data[0]*3601+doubleTime:data[0]*3601+3600-data[1]+doubleTime;
} }
} }