diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/RandomCardPerfectRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/RandomCardPerfectRank.java index ade2cdd9a..d32a1d1bc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/RandomCardPerfectRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/RandomCardPerfectRank.java @@ -1,5 +1,15 @@ package com.ljsd.jieling.logic.rank.rankImpl; +import com.ljsd.jieling.db.redis.RedisKey; +import com.ljsd.jieling.db.redis.RedisUtil; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.protocols.CommonProto; +import com.ljsd.jieling.protocols.PlayerInfoProto; +import org.springframework.data.redis.core.ZSetOperations; + +import java.util.UUID; + /** * @author lvxinran * @date 2019/12/9 @@ -10,6 +20,32 @@ public class RandomCardPerfectRank extends AbstractRank { super(type, redisKey); } + @Override + public void addRank(int uid, double... data) { + String key = RedisKey.getKey(redisKey,"",false); + RedisUtil.getInstence().zsetAddOne(key, UUID.randomUUID().toString(), getScore(data)); + } + + @Override + protected void getOptional(int index, ZSetOperations.TypedTuple data, PlayerInfoProto.RankResponse.Builder builder) throws Exception { + User everyUser = UserManager.getUser(Double.valueOf(getParam2(data.getScore())).intValue(), true); + CommonProto.RankInfo everyRankInfo = CommonProto.RankInfo.newBuilder() + .setRank(index) + .setParam1(getParam1(data.getScore())) + .setParam2(getParam2(data.getScore())) + .setParam3(getParam3(data.getScore())) + .build(); + CommonProto.UserRank everyRank = CommonProto.UserRank.newBuilder() + .setUid(everyUser.getId()) + .setUserName(everyUser.getPlayerInfoManager().getNickName()) + .setHead(everyUser.getPlayerInfoManager().getHead()) + .setHeadFrame(everyUser.getPlayerInfoManager().getHeadFrame()) + .setLevel(everyUser.getPlayerInfoManager().getLevel()) + .setRankInfo(everyRankInfo) + .build(); + builder.addRanks(everyRank); + } + @Override public int[] getDataByScore(double score) { return new int[0]; @@ -17,6 +53,6 @@ public class RandomCardPerfectRank extends AbstractRank { @Override public double getScore(double... data) { - return 0; + return data[0]+data[1]+data[2]; } }