跨服灵脉秘境1.先后手问题2.记录删除问题3.排行榜自己排名问题

xuexinpeng 2021-11-18 16:33:36 +08:00
parent 01f4d79966
commit 55c463569c
3 changed files with 18 additions and 1 deletions

View File

@ -154,6 +154,9 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
if (GameApplication.serverId != csPlayer.getServerId()) { if (GameApplication.serverId != csPlayer.getServerId()) {
crossArenaManager = PlayerLogic.getInstance().getCrossArenaManagerData(csPlayer); crossArenaManager = PlayerLogic.getInstance().getCrossArenaManagerData(csPlayer);
defforce = crossArenaManager.getTotalForceByTeam().getOrDefault(TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(), 0); defforce = crossArenaManager.getTotalForceByTeam().getOrDefault(TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(), 0);
}else{
User defuser = UserManager.getUser(defUid);
defforce = HeroLogic.getInstance().calTeamTotalForce(defuser, TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(), false);
} }
CommonProto.FightTeamInfo fightTeamInfo = FightUtil.makePersonFightData(user, TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(), null, null); CommonProto.FightTeamInfo fightTeamInfo = FightUtil.makePersonFightData(user, TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(), null, null);
//对手 //对手

View File

@ -59,6 +59,10 @@ public class CrossLingmaiSecretAreaInfoHandler extends BaseHandler<ArenaInfoProt
if (!TimeUtils.isSameDay(lingmaiFirst, TimeUtils.now())) { if (!TimeUtils.isSameDay(lingmaiFirst, TimeUtils.now())) {
arenaManager.setCrossLingmaiFirst(TimeUtils.now()); arenaManager.setCrossLingmaiFirst(TimeUtils.now());
arenaManager.setCrossLingmaiFirstLevel(user.getPlayerInfoManager().getLevel()); arenaManager.setCrossLingmaiFirstLevel(user.getPlayerInfoManager().getLevel());
//开启新一轮活动了 删除数据
String key = RedisKey.getKey(RedisKey.CROSS_LINGMAISECRET_RECORD, String.valueOf(uid), false);
RedisUtil.getInstence().del(key);
} }
int group = SMServerLodeSetting.getGroupByLevel(arenaManager.getCrossLingmaiFirstLevel()); int group = SMServerLodeSetting.getGroupByLevel(arenaManager.getCrossLingmaiFirstLevel());
int page = request.getPage(); int page = request.getPage();

View File

@ -7,6 +7,7 @@ import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import config.SMServerLodeSetting; import config.SMServerLodeSetting;
import org.springframework.data.redis.core.ZSetOperations; import org.springframework.data.redis.core.ZSetOperations;
import rpc.protocols.CommonProto;
import rpc.protocols.PlayerInfoProto; import rpc.protocols.PlayerInfoProto;
import java.util.Set; import java.util.Set;
@ -54,10 +55,19 @@ public class CrossLingmaiSecretRank extends AbstractRank {
} }
PlayerInfoProto.RankResponse.Builder allUserResponse = getCrossAllUserResponse(scores,start); PlayerInfoProto.RankResponse.Builder allUserResponse = getCrossAllUserResponse(scores,start);
//当前用户信息 //当前用户信息
getCrossMyInfo(user,rkey,allUserResponse); getCrossMyInfo(user,crossGroup+ RedisKey.Delimiter_colon +group ,allUserResponse,group);
return allUserResponse.build(); return allUserResponse.build();
} }
public void getCrossMyInfo(User user,String rkey,PlayerInfoProto.RankResponse.Builder allUserResponse,int group){
int myRank= RedisUtil.getInstence().getZSetreverseRank(redisKey,rkey,Integer.toString(user.getId()),false).intValue();
Double zSetScore = RedisUtil.getInstence().getZSetScore(redisKey, rkey, Integer.toString(user.getId()),false);
CommonProto.RankInfo towerRankInfo = CommonProto.RankInfo.newBuilder()
.setRank(myRank)
.setParam1(getParam1(zSetScore))
.setParam2(getParam2(zSetScore)).build();
allUserResponse.setMyRankInfo(towerRankInfo);
}
public String getCrossRedisKey(int group) { public String getCrossRedisKey(int group) {
int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup(); int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup();