generated from root/miduo_server
优化竞技场排行信息
parent
13b8ac585f
commit
96b04d6e71
|
|
@ -12,7 +12,7 @@ public class PlayerInfoCache {
|
|||
private int maxForce;
|
||||
private int sex;
|
||||
private long offLineTime;// 离线时间
|
||||
|
||||
private int likeNums;//竞技场被点赞数
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
|
|
@ -102,4 +102,12 @@ public class PlayerInfoCache {
|
|||
this.offLineTime = offLineTime;
|
||||
}
|
||||
|
||||
public int getLikeNums() {
|
||||
return likeNums;
|
||||
}
|
||||
|
||||
public void setLikeNums(int likeNums) {
|
||||
this.likeNums = likeNums;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -507,45 +507,45 @@ public class ArenaLogic {
|
|||
String value = item.getValue();
|
||||
int score = item.getScore().intValue();
|
||||
int uid = Integer.parseInt(value);
|
||||
User user;
|
||||
try {
|
||||
user = UserManager.getUser(uid, true);
|
||||
if (null == user) {
|
||||
continue;
|
||||
PlayerInfoCache userInfo = UserManager.getPlayerInfoCacheWithRedisAndSaveMap(uid);
|
||||
if(userInfo == null){
|
||||
User user = UserManager.getUser(uid, true);
|
||||
if(user != null){
|
||||
userInfo = PlayerLogic.getInstance().initPlayerInfoCache(user);
|
||||
}
|
||||
}catch (Exception e) {
|
||||
}
|
||||
if(userInfo == null){
|
||||
continue;
|
||||
}
|
||||
|
||||
int totalForce = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.TEAM_ARENA_DEFENSE, false);
|
||||
if (totalForce == 0) {
|
||||
continue;
|
||||
}
|
||||
List<TeamPosHeroInfo> teamPosHeroInfoList = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.TEAM_ARENA_DEFENSE).getListTeamPosHeroInfo();
|
||||
if (teamPosHeroInfoList == null) {
|
||||
teamPosHeroInfoList = new ArrayList<>();
|
||||
}
|
||||
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
|
||||
List<Integer> heroTids = new ArrayList<>(teamPosHeroInfoList.size());
|
||||
for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfoList) {
|
||||
if (!heroMap.containsKey(teamPosHeroInfo.getHeroId())) {
|
||||
continue;
|
||||
}
|
||||
heroTids.add(heroMap.get(teamPosHeroInfo.getHeroId()).getTemplateId());
|
||||
}
|
||||
// int totalForce = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.TEAM_ARENA_DEFENSE, false);
|
||||
// if (totalForce == 0) {
|
||||
// continue;
|
||||
// }
|
||||
// List<TeamPosHeroInfo> teamPosHeroInfoList = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.TEAM_ARENA_DEFENSE).getListTeamPosHeroInfo();
|
||||
// if (teamPosHeroInfoList == null) {
|
||||
// teamPosHeroInfoList = new ArrayList<>();
|
||||
// }
|
||||
// Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
//
|
||||
// List<Integer> heroTids = new ArrayList<>(teamPosHeroInfoList.size());
|
||||
// for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfoList) {
|
||||
// if (!heroMap.containsKey(teamPosHeroInfo.getHeroId())) {
|
||||
// continue;
|
||||
// }
|
||||
// heroTids.add(heroMap.get(teamPosHeroInfo.getHeroId()).getTemplateId());
|
||||
// }
|
||||
List<Integer> heroTids = new ArrayList<>();
|
||||
CommonProto.Team teamBuild = CommonProto.Team.newBuilder().addAllHeroTid(heroTids).build();
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
CommonProto.ArenaPersonInfo personInfoBuild = CommonProto.ArenaPersonInfo.newBuilder()
|
||||
.setUid(uid)
|
||||
.setLevel(playerInfoManager.getLevel())
|
||||
.setName(playerInfoManager.getNickName())
|
||||
.setLevel(userInfo.getLevel())
|
||||
.setName(userInfo.getName())
|
||||
.setScore(score)
|
||||
.setHead(playerInfoManager.getHead())
|
||||
.setHead(userInfo.getHead())
|
||||
.setRank(++start)
|
||||
.setLikeNums(user.getArenaManager().getLikeNums())
|
||||
.setTotalForce(totalForce)
|
||||
.setHeadFrame(playerInfoManager.getHeadFrame())
|
||||
.setLikeNums(userInfo.getLikeNums())
|
||||
.setTotalForce(userInfo.getMaxForce())
|
||||
.setHeadFrame(userInfo.getHeadFrame())
|
||||
.build();
|
||||
arenaRankMemberInfo.add(CommonProto.ArenaEnemy.newBuilder()
|
||||
.setPersonInfo(personInfoBuild)
|
||||
|
|
|
|||
|
|
@ -1318,6 +1318,8 @@ public class PlayerLogic {
|
|||
cache.setDesignation(playerInfoManager.getDesignation());
|
||||
cache.setMaxForce(playerInfoManager.getMaxForce());
|
||||
cache.setOffLineTime(playerInfoManager.getLoginTime());
|
||||
//仅每次登录同步,不用实时同步
|
||||
cache.setLikeNums(user.getArenaManager().getLikeNums());
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE, "", String.valueOf(user.getId()), cache);
|
||||
//同步到内存中
|
||||
UserManager.updatePlayerInfoCache(cache);
|
||||
|
|
@ -1342,6 +1344,7 @@ public class PlayerLogic {
|
|||
cache.setDesignation(playerInfoManager.getDesignation());
|
||||
cache.setMaxForce(playerInfoManager.getMaxForce());
|
||||
cache.setOffLineTime(playerInfoManager.getLoginTime());
|
||||
cache.setLikeNums(0);
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE, "", String.valueOf(user.getId()), cache);
|
||||
//同步到内存中
|
||||
UserManager.updatePlayerInfoCache(cache);
|
||||
|
|
|
|||
|
|
@ -4,9 +4,11 @@ import com.ljsd.jieling.core.GlobalsDef;
|
|||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import com.ljsd.jieling.logic.dao.PlayerInfoCache;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildInfo;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.logic.rank.RankEnum;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
|
|
@ -47,17 +49,26 @@ public class GuildForceRank extends AbstractRank {
|
|||
if(guildInfo != null) {
|
||||
Set<Integer> chairMan = guildInfo.getMembers().get(GlobalsDef.CHAIRMAN);
|
||||
int chairManId = chairMan.iterator().next();
|
||||
User user = UserManager.getUser(chairManId);
|
||||
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder()
|
||||
.setUid(user.getId())
|
||||
.setUserName(user.getPlayerInfoManager().getNickName())
|
||||
.setLevel(user.getPlayerInfoManager().getLevel())
|
||||
.setHead(user.getPlayerInfoManager().getHead())
|
||||
.setHeadFrame(user.getPlayerInfoManager().getHeadFrame())
|
||||
.setForce(user.getPlayerInfoManager().getMaxForce())
|
||||
.setSex(user.getPlayerInfoManager().getSex())
|
||||
.setGuildName(guildInfo.getName())
|
||||
.setRankInfo(everyRankInfo);
|
||||
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder();
|
||||
PlayerInfoCache everyUser = UserManager.getPlayerInfoCacheWithRedisAndSaveMap(chairManId);
|
||||
if(everyUser == null){
|
||||
User user = UserManager.getUser(chairManId, true);
|
||||
if(user != null){
|
||||
everyUser = PlayerLogic.getInstance().initPlayerInfoCache(user);
|
||||
}
|
||||
}
|
||||
if(everyUser == null){
|
||||
return;
|
||||
}
|
||||
everyRank.setUid(chairManId)
|
||||
.setUserName(everyUser.getName())
|
||||
.setHead(everyUser.getHead())
|
||||
.setHeadFrame(everyUser.getHeadFrame())
|
||||
.setLevel(everyUser.getLevel())
|
||||
.setRankInfo(everyRankInfo)
|
||||
.setForce(everyUser.getMaxForce())
|
||||
.setSex(everyUser.getSex())
|
||||
.setGuildName(guildInfo.getName());
|
||||
builder.addRanks(everyRank);
|
||||
}
|
||||
}
|
||||
|
|
@ -109,15 +120,24 @@ public class GuildForceRank extends AbstractRank {
|
|||
|
||||
Set<Integer> chairMan = guildInfo.getMembers().get(GlobalsDef.CHAIRMAN);
|
||||
int chairManId = chairMan.iterator().next();
|
||||
User user = UserManager.getUser(chairManId);
|
||||
PlayerInfoCache everyUser = UserManager.getPlayerInfoCacheWithRedisAndSaveMap(chairManId);
|
||||
if(everyUser == null){
|
||||
User user = UserManager.getUser(chairManId, true);
|
||||
if(user != null){
|
||||
everyUser = PlayerLogic.getInstance().initPlayerInfoCache(user);
|
||||
}
|
||||
}
|
||||
if(everyUser == null){
|
||||
return everyRank;
|
||||
}
|
||||
everyRank.setUid(chairManId)
|
||||
.setUserName(user.getPlayerInfoManager().getNickName())
|
||||
.setHead(user.getPlayerInfoManager().getHead())
|
||||
.setHeadFrame(user.getPlayerInfoManager().getHeadFrame())
|
||||
.setLevel(user.getPlayerInfoManager().getLevel())
|
||||
.setUserName(everyUser.getName())
|
||||
.setHead(everyUser.getHead())
|
||||
.setHeadFrame(everyUser.getHeadFrame())
|
||||
.setLevel(everyUser.getLevel())
|
||||
.setRankInfo(everyRankInfo)
|
||||
.setForce(user.getPlayerInfoManager().getMaxForce())
|
||||
.setSex(user.getPlayerInfoManager().getSex())
|
||||
.setForce(everyUser.getMaxForce())
|
||||
.setSex(everyUser.getSex())
|
||||
.setGuildName(guildInfo.getName());
|
||||
return everyRank;
|
||||
}
|
||||
|
|
@ -148,15 +168,24 @@ public class GuildForceRank extends AbstractRank {
|
|||
|
||||
Set<Integer> chairMan = guildInfo.getMembers().get(GlobalsDef.CHAIRMAN);
|
||||
int chairManId = chairMan.iterator().next();
|
||||
User user = UserManager.getUser(chairManId);
|
||||
PlayerInfoCache everyUser = UserManager.getPlayerInfoCacheWithRedisAndSaveMap(chairManId);
|
||||
if(everyUser == null){
|
||||
User user = UserManager.getUser(chairManId, true);
|
||||
if(user != null){
|
||||
everyUser = PlayerLogic.getInstance().initPlayerInfoCache(user);
|
||||
}
|
||||
}
|
||||
if(everyUser == null){
|
||||
return everyRank;
|
||||
}
|
||||
everyRank.setUid(chairManId)
|
||||
.setUserName(user.getPlayerInfoManager().getNickName())
|
||||
.setHead(user.getPlayerInfoManager().getHead())
|
||||
.setHeadFrame(user.getPlayerInfoManager().getHeadFrame())
|
||||
.setLevel(user.getPlayerInfoManager().getLevel())
|
||||
.setUserName(everyUser.getName())
|
||||
.setHead(everyUser.getHead())
|
||||
.setHeadFrame(everyUser.getHeadFrame())
|
||||
.setLevel(everyUser.getLevel())
|
||||
.setRankInfo(everyRankInfo)
|
||||
.setForce(user.getPlayerInfoManager().getMaxForce())
|
||||
.setSex(user.getPlayerInfoManager().getSex())
|
||||
.setForce(everyUser.getMaxForce())
|
||||
.setSex(everyUser.getSex())
|
||||
.setGuildName(guildInfo.getName());
|
||||
return everyRank;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue