generated from root/miduo_server
增加英雄排行榜信息
parent
f442f479c1
commit
1bf25acd2b
|
@ -13,6 +13,7 @@ public class PlayerInfoCache {
|
||||||
private int sex;
|
private int sex;
|
||||||
private long offLineTime;// 离线时间
|
private long offLineTime;// 离线时间
|
||||||
private int likeNums;//竞技场被点赞数
|
private int likeNums;//竞技场被点赞数
|
||||||
|
private int maxHeroId;
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
|
@ -110,4 +111,12 @@ public class PlayerInfoCache {
|
||||||
this.likeNums = likeNums;
|
this.likeNums = likeNums;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMaxHeroId() {
|
||||||
|
return maxHeroId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMaxHeroId(int maxHeroId) {
|
||||||
|
this.maxHeroId = maxHeroId;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,12 +2,15 @@ package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
|
|
||||||
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.logic.activity.event.*;
|
import com.ljsd.jieling.logic.activity.event.*;
|
||||||
import com.ljsd.jieling.logic.dao.Hero;
|
import com.ljsd.jieling.logic.dao.Hero;
|
||||||
import com.ljsd.jieling.logic.dao.HeroManager;
|
import com.ljsd.jieling.logic.dao.HeroManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.PlayerInfoCache;
|
||||||
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.hero.HeroLogic;
|
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||||
|
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||||
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.rank.rankImpl.AbstractRank;
|
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
|
||||||
|
@ -83,14 +86,27 @@ class HeroForceRankActivity extends RankActivity {
|
||||||
Map<String, Hero> heroMap = heroManager.getHeroMap();
|
Map<String, Hero> heroMap = heroManager.getHeroMap();
|
||||||
int maxForce = 0;
|
int maxForce = 0;
|
||||||
String heroId = "";
|
String heroId = "";
|
||||||
|
int templateId = 0;
|
||||||
for(Hero hero: heroMap.values()){
|
for(Hero hero: heroMap.values()){
|
||||||
int _force = HeroLogic.getInstance().calHeoForce(user, hero, 0);
|
int _force = HeroLogic.getInstance().calHeoForce(user, hero, 0);
|
||||||
if (_force > maxForce){
|
if (_force > maxForce){
|
||||||
maxForce = _force;
|
maxForce = _force;
|
||||||
heroId = hero.getId();
|
heroId = hero.getId();
|
||||||
|
templateId = hero.getTemplateId();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//最强战力英雄id变了
|
||||||
|
if(heroManager.getMaxForceHero() == null || !heroManager.getMaxForceHero().equals(heroId)){
|
||||||
|
heroManager.setMaxForceHero(heroId);
|
||||||
|
PlayerInfoCache playerInfoCache = UserManager.getPlayerInfoCacheWithRedis(user.getId());
|
||||||
|
if(playerInfoCache != null){
|
||||||
|
if(templateId > 0 && templateId != playerInfoCache.getMaxHeroId()){
|
||||||
|
//最强英雄id变了,更新redis缓存中的最强英雄id
|
||||||
|
playerInfoCache.setMaxHeroId(templateId);
|
||||||
|
RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE, "", String.valueOf(user.getId()), playerInfoCache);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
heroManager.setMaxForceHero(heroId);
|
|
||||||
heroManager.setMaxHeroForce(maxForce);
|
heroManager.setMaxHeroForce(maxForce);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1320,6 +1320,13 @@ public class PlayerLogic {
|
||||||
cache.setOffLineTime(playerInfoManager.getLoginTime());
|
cache.setOffLineTime(playerInfoManager.getLoginTime());
|
||||||
//仅每次登录同步,不用实时同步
|
//仅每次登录同步,不用实时同步
|
||||||
cache.setLikeNums(user.getArenaManager().getLikeNums());
|
cache.setLikeNums(user.getArenaManager().getLikeNums());
|
||||||
|
String maxForceHero = user.getHeroManager().getMaxForceHero();
|
||||||
|
if(maxForceHero!= null){
|
||||||
|
Hero hero = user.getHeroManager().getHero(maxForceHero);
|
||||||
|
if(hero!= null && hero.getTemplateId() != cache.getMaxHeroId()){
|
||||||
|
cache.setMaxHeroId(hero.getTemplateId());
|
||||||
|
}
|
||||||
|
}
|
||||||
RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE, "", String.valueOf(user.getId()), cache);
|
RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE, "", String.valueOf(user.getId()), cache);
|
||||||
//同步到内存中
|
//同步到内存中
|
||||||
UserManager.updatePlayerInfoCache(cache);
|
UserManager.updatePlayerInfoCache(cache);
|
||||||
|
@ -1345,6 +1352,7 @@ public class PlayerLogic {
|
||||||
cache.setMaxForce(playerInfoManager.getMaxForce());
|
cache.setMaxForce(playerInfoManager.getMaxForce());
|
||||||
cache.setOffLineTime(playerInfoManager.getLoginTime());
|
cache.setOffLineTime(playerInfoManager.getLoginTime());
|
||||||
cache.setLikeNums(0);
|
cache.setLikeNums(0);
|
||||||
|
cache.setMaxHeroId(10051);
|
||||||
RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE, "", String.valueOf(user.getId()), cache);
|
RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE, "", String.valueOf(user.getId()), cache);
|
||||||
//同步到内存中
|
//同步到内存中
|
||||||
UserManager.updatePlayerInfoCache(cache);
|
UserManager.updatePlayerInfoCache(cache);
|
||||||
|
|
|
@ -60,7 +60,7 @@ public class NewHeroForceRank extends AbstractRank {
|
||||||
// oneUserRank.setHeroStar(hero.getStar());
|
// oneUserRank.setHeroStar(hero.getStar());
|
||||||
// }
|
// }
|
||||||
//英雄信息不展示,设置默认值
|
//英雄信息不展示,设置默认值
|
||||||
oneUserRank.setHeroTemplateId(10001);
|
oneUserRank.setHeroTemplateId(everyUser.getMaxHeroId());
|
||||||
oneUserRank.setHeroLevel(200);
|
oneUserRank.setHeroLevel(200);
|
||||||
oneUserRank.setHeroStar(10);
|
oneUserRank.setHeroStar(10);
|
||||||
builder.addRanks(oneUserRank);
|
builder.addRanks(oneUserRank);
|
||||||
|
|
Loading…
Reference in New Issue