社稷大典功能提交
parent
210f4a1529
commit
1d9452992c
|
@ -0,0 +1,95 @@
|
|||
package com.ljsd.jieling.logic;
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import com.ljsd.jieling.logic.activity.ActivityTypeEnum;
|
||||
import com.ljsd.jieling.logic.activity.IEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.MinuteTaskEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.dao.root.GlobalSystemControl;
|
||||
import config.SGlobalActivity;
|
||||
import config.SGodSacrificeSetting;
|
||||
import manager.STableManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description: des
|
||||
* Author: zsx
|
||||
* CreateDate: 2020/10/22 10:46
|
||||
*/
|
||||
public class GlobleSystemLogic implements IEventHandler {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(GlobleSystemLogic.class);
|
||||
|
||||
private GlobleSystemLogic() {
|
||||
Poster.getPoster().listenEvent(this, MinuteTaskEvent.class);
|
||||
}
|
||||
|
||||
public static GlobleSystemLogic getInstence() {
|
||||
return GlobleSystemLogic.InnerClass.instance;
|
||||
}
|
||||
|
||||
public GlobalSystemControl getGlobalSystemControl() throws Exception {
|
||||
GlobalSystemControl globalSystemControl = MongoUtil.getInstence().getMyMongoTemplate().findById(GameApplication.serverId, GlobalSystemControl.class);
|
||||
if (globalSystemControl == null) {
|
||||
globalSystemControl = new GlobalSystemControl(GameApplication.serverId);
|
||||
}
|
||||
return globalSystemControl;
|
||||
}
|
||||
|
||||
private static class InnerClass {
|
||||
private static final GlobleSystemLogic instance = new GlobleSystemLogic();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if (event instanceof MinuteTaskEvent) {
|
||||
try {
|
||||
SGodSacrificeSetting sGodSacrificeSetting = STableManager.getConfig(SGodSacrificeSetting.class).get(1);
|
||||
if(null==sGodSacrificeSetting){
|
||||
throw new ErrorCodeException(ErrorCode.CFG_NULL);
|
||||
}
|
||||
List<Integer> list1 = Arrays.stream(sGodSacrificeSetting.getTimePointList()).boxed().collect(Collectors.toList());
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
int hour = calendar.get(Calendar.HOUR_OF_DAY);
|
||||
int minute = calendar.get(Calendar.MINUTE);
|
||||
if(list1.contains(hour)&& minute ==0){
|
||||
//更新社稷大典
|
||||
List<SGlobalActivity> activities = SGlobalActivity.sGlobalActivityMapByType.get(ActivityType.SHEJI_ACTIVITY);
|
||||
int openID=0;
|
||||
for(SGlobalActivity sGlobalActivity:activities){
|
||||
if(ActivityLogic.getInstance().checkGlobleActivityOpen(sGlobalActivity.getId())){
|
||||
openID=sGlobalActivity.getId();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(openID!=0){
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
calendar.set(Calendar.MILLISECOND, 0);
|
||||
GlobalSystemControl globalSystemControl = MongoUtil.getInstence().getMyMongoTemplate().findById(GameApplication.serverId, GlobalSystemControl.class);
|
||||
globalSystemControl.getActivityOpenValue().putIfAbsent(openID,(int)(calendar.getTimeInMillis()/1000L));
|
||||
GlobalSystemControl.save(globalSystemControl);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
LOGGER.error("Exception::=>{}", e.toString());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,329 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.jieling.core.Lockeys;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.event.CommitSheJiEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.SignInEvent;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
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.mail.MailLogic;
|
||||
import com.ljsd.jieling.logic.rank.RankContext;
|
||||
import com.ljsd.jieling.logic.rank.RankEnum;
|
||||
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.thread.ThreadManager;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import config.*;
|
||||
import manager.STableManager;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 社稷大典
|
||||
*/
|
||||
class SheJiActivity extends AbstractActivity {
|
||||
|
||||
public SheJiActivity(int id) {
|
||||
super(id);
|
||||
Poster.getPoster().listenEvent(this, CommitSheJiEvent.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityStart() throws Exception {
|
||||
super.onActivityStart();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initActivity(User user) throws Exception {
|
||||
super.initActivity(user);
|
||||
//初始化移除道具
|
||||
SGodSacrificeSetting sGodSacrificeSetting = STableManager.getConfig(SGodSacrificeSetting.class).get(1);
|
||||
if (null != sGodSacrificeSetting) {
|
||||
if (sGodSacrificeSetting.getItemDelete() == 1) {
|
||||
int[] activityItems = sGodSacrificeSetting.getActivityItems();
|
||||
for (int item : activityItems) {
|
||||
user.getItemManager().removeItem(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
void updateProgressWithUser(User user, ActivityMission activityMission, int count) {
|
||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityMissionMap();
|
||||
int progress;
|
||||
for (Map.Entry<Integer, ActivityProgressInfo> item : activityProgressInfoMap.entrySet()) {
|
||||
ActivityProgressInfo activityProgressInfo = item.getValue();
|
||||
//考虑退公会的情况
|
||||
if (activityProgressInfo.getProgrss() > count) {
|
||||
break;
|
||||
}
|
||||
progress = count;
|
||||
activityProgressInfo.setProgrss(progress);
|
||||
activityMission.getActivityMissionMap().put(item.getKey(), activityProgressInfo);
|
||||
// activityMission.updateProgressInfo(item.getKey(), activityProgressInfo);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if (!(event instanceof CommitSheJiEvent)) return;
|
||||
|
||||
int guildId = ((CommitSheJiEvent) event).getGuild();
|
||||
if (guildId == 0) {
|
||||
LOGGER.error("Exception guild id=>{} not exit", guildId);
|
||||
}
|
||||
|
||||
//lock all 会修改公会记录
|
||||
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId);
|
||||
Set<Integer> sendUids = new HashSet<>();
|
||||
for (Set<Integer> items : guildInfo.getMembers().values()) {
|
||||
sendUids.addAll(items);
|
||||
}
|
||||
Lockeys.getLockeys().lock("guild", sendUids);
|
||||
|
||||
for (Integer uid : sendUids) {
|
||||
User user = UserManager.getUser(uid);
|
||||
if (null == user) {
|
||||
LOGGER.error("Exception::user==null,uid=>{}", uid);
|
||||
continue;
|
||||
}
|
||||
update(user, guildInfo.getGuildSheJiScore());
|
||||
}
|
||||
AbstractRank guildRank = RankContext.getRankEnum(RankEnum.GUILD_SHEJI_SCORE_RANK.getType());
|
||||
guildRank.addRank(guildId,String.valueOf(id),guildInfo.getGuildSheJiScore());
|
||||
if( ((CommitSheJiEvent) event).getScore()!=0){
|
||||
RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).incrementRankScore(((CommitSheJiEvent) event).getCommitUid(), String.valueOf(id), ((CommitSheJiEvent) event).getScore());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onActivityEnd() throws Exception {
|
||||
ThreadManager.getScheduledExecutor().execute(this::sendReward);
|
||||
}
|
||||
|
||||
protected void sendReward() {
|
||||
Thread.currentThread().setName("sendReward-Activity-" + id);
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if (sGlobalActivity.getOpenRanking() == 0) {
|
||||
return;
|
||||
}
|
||||
Map<Integer, List<SGodSacrificeConfig>> integerListMap = SGodSacrificeConfig.getIntegerListMap().get(1);
|
||||
if (integerListMap == null) {
|
||||
return;
|
||||
}
|
||||
SGodSacrificeSetting sGodSacrificeSetting = STableManager.getConfig(SGodSacrificeSetting.class).get(1);
|
||||
InnerResult rewardMap = getRewardMap(2);
|
||||
Map<Integer, Integer> rank2miss = rewardMap.getRank2miss();
|
||||
int maxRank = rewardMap.getMaxRamk();
|
||||
int maxRewardId = rewardMap.getMaxRewardId();
|
||||
|
||||
AbstractRank expertRank = RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType());
|
||||
Set<ZSetOperations.TypedTuple<String>> rankInfo = expertRank.getRankByKey(String.valueOf(id), 0, -1);
|
||||
int rank = 1;
|
||||
int nowTime = (int) (TimeUtils.now() / 1000);
|
||||
for (ZSetOperations.TypedTuple<String> item : rankInfo) {
|
||||
|
||||
String value = item.getValue();
|
||||
int uid = Integer.parseInt(value);
|
||||
try {
|
||||
User user = UserManager.getUser(uid, true);
|
||||
if (null == user) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int missionId;
|
||||
Double score = item.getScore();
|
||||
|
||||
if(score<sGodSacrificeSetting.getL1Score()){
|
||||
LOGGER.error("id为{}的玩家,{}活动排行奖励积分不够 不预发奖", uid, id);
|
||||
return;
|
||||
}
|
||||
if (rank2miss.containsKey(rank)) {
|
||||
if (rank <= 10 && score <2500) {
|
||||
missionId = 11;
|
||||
} else {
|
||||
missionId = rank2miss.get(rank);
|
||||
}
|
||||
} else {
|
||||
if (maxRank == -1) {
|
||||
missionId = maxRewardId;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//checkAndUpdate value
|
||||
SGodSacrificeConfig sActivityRankingReward1 = SGodSacrificeConfig.getsGodSacrificeConfigMap().get(missionId);
|
||||
//sendmail
|
||||
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("personal_activity_reward_title", new Object[]{sGlobalActivity.getSesc()});
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("personal_activity_reward_txt", new Object[]{sGlobalActivity.getSesc(), rank++});
|
||||
String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward());
|
||||
MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("id为{}的玩家,{}活动排行奖励没有发成功", uid, id);
|
||||
System.out.println(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
sendGuildReward();
|
||||
}
|
||||
|
||||
protected void sendGuildReward() {
|
||||
|
||||
SGodSacrificeSetting sGodSacrificeSetting = STableManager.getConfig(SGodSacrificeSetting.class).get(1);
|
||||
Thread.currentThread().setName("sendGuildReward-Activity-" + id);
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if (sGlobalActivity.getOpenRanking() == 0) {
|
||||
return;
|
||||
}
|
||||
int nowTime = (int) (TimeUtils.now() / 1000);
|
||||
InnerResult rewardMap = getRewardMap(2);
|
||||
Map<Integer, Integer> rank2miss = rewardMap.getRank2miss();
|
||||
int maxRank = rewardMap.getMaxRamk();
|
||||
|
||||
|
||||
AbstractRank abstractRank = RankContext.getRankEnum(RankEnum.GUILD_SHEJI_SCORE_RANK.getType());
|
||||
Set<ZSetOperations.TypedTuple<String>> rankByKey = abstractRank.getRankByKey("", 0, -1);
|
||||
int rankIndex = 1;
|
||||
for (ZSetOperations.TypedTuple<String> item : rankByKey) {
|
||||
|
||||
|
||||
try {
|
||||
String guildId = item.getValue();
|
||||
int guild = Integer.parseInt(guildId);
|
||||
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guild);
|
||||
Set<Integer> sendUids = new HashSet<>();
|
||||
for (Set<Integer> items : guildInfo.getMembers().values()) {
|
||||
sendUids.addAll(items);
|
||||
}
|
||||
|
||||
for (Integer uid : sendUids) {
|
||||
try {
|
||||
User user = UserManager.getUser(uid, true);
|
||||
if (null == user) {
|
||||
continue;
|
||||
}
|
||||
if (user.getPlayerInfoManager().getCreateTime() + sGodSacrificeSetting.getLifeLimit() * TimeUtils.ONE_DAY - nowTime > 0) {
|
||||
continue;
|
||||
}
|
||||
if (user.getGuildMyInfo().getJoinTime() + sGodSacrificeSetting.getJoinLimit() * TimeUtils.ONE_DAY - nowTime > 0) {
|
||||
continue;
|
||||
}
|
||||
int missionId;
|
||||
if (rank2miss.containsKey(rankIndex)) {
|
||||
missionId = rank2miss.get(rankIndex);
|
||||
} else {
|
||||
if (maxRank == -1) {
|
||||
missionId = rewardMap.getMaxRewardId();
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//checkAndUpdate value
|
||||
SGodSacrificeConfig sActivityRankingReward1 = SGodSacrificeConfig.getsGodSacrificeConfigMap().get(missionId);
|
||||
//sendmail
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_title", new Object[]{sGlobalActivity.getSesc()});
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_txt", new Object[]{sGlobalActivity.getSesc(), rankIndex++});
|
||||
String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward());
|
||||
MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("id为{}的玩家,{}活动排行奖励没有发成功", uid, id);
|
||||
System.out.println(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("排行奖励没有发成功=>{}", id);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private InnerResult getRewardMap(int type) {
|
||||
InnerResult innerResult = new InnerResult();
|
||||
|
||||
Map<Integer, Integer> rank2miss = innerResult.getRank2miss();
|
||||
Map<Integer, List<SGodSacrificeConfig>> integerListMap = SGodSacrificeConfig.getIntegerListMap().get(type);
|
||||
if (integerListMap == null) {
|
||||
return innerResult;
|
||||
}
|
||||
List<SGodSacrificeConfig> sGodSacrificeConfigs = integerListMap.get(id);
|
||||
if (null == sGodSacrificeConfigs)
|
||||
return innerResult;
|
||||
int maxRank = 0;
|
||||
int maxRewardId = 0;
|
||||
|
||||
for (SGodSacrificeConfig sActivityRankingReward1 : sGodSacrificeConfigs) {
|
||||
if (sActivityRankingReward1.getMaxRank() == -1) {
|
||||
maxRank = -1;
|
||||
maxRewardId = sActivityRankingReward1.getId();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (maxRank != -1) {
|
||||
maxRank = Math.max(maxRank, sActivityRankingReward1.getMaxRank());
|
||||
}
|
||||
|
||||
for (Integer rank : getRankSet(sActivityRankingReward1.getMinRank(), sActivityRankingReward1.getMaxRank())) {
|
||||
rank2miss.put(rank, sActivityRankingReward1.getId());
|
||||
}
|
||||
}
|
||||
innerResult.setMaxRamk(maxRank);
|
||||
innerResult.setMaxRewardId(maxRewardId);
|
||||
return innerResult;
|
||||
|
||||
}
|
||||
|
||||
class InnerResult {
|
||||
|
||||
Map<Integer, Integer> rank2miss = new HashMap<>();
|
||||
int maxRamk;
|
||||
int maxRewardId;
|
||||
|
||||
Map<Integer, Integer> getRank2miss() {
|
||||
return rank2miss;
|
||||
}
|
||||
|
||||
public void setRank2miss(Map<Integer, Integer> rank2miss) {
|
||||
this.rank2miss = rank2miss;
|
||||
}
|
||||
|
||||
int getMaxRamk() {
|
||||
return maxRamk;
|
||||
}
|
||||
|
||||
void setMaxRamk(int maxRamk) {
|
||||
this.maxRamk = maxRamk;
|
||||
}
|
||||
|
||||
int getMaxRewardId() {
|
||||
return maxRewardId;
|
||||
}
|
||||
|
||||
void setMaxRewardId(int maxRewardId) {
|
||||
this.maxRewardId = maxRewardId;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
|
||||
/**
|
||||
* 社稷大典贡献道具下发玩家积分
|
||||
*/
|
||||
public class CommitSheJiEvent implements IEvent{
|
||||
private int guild;
|
||||
private int commitUid;
|
||||
private int score;
|
||||
|
||||
public CommitSheJiEvent(int guild, int commitUid, int score) {
|
||||
this.guild = guild;
|
||||
this.commitUid = commitUid;
|
||||
this.score = score;
|
||||
}
|
||||
|
||||
public int getGuild() {
|
||||
return guild;
|
||||
}
|
||||
|
||||
public void setGuild(int guild) {
|
||||
this.guild = guild;
|
||||
}
|
||||
|
||||
public int getCommitUid() {
|
||||
return commitUid;
|
||||
}
|
||||
|
||||
public void setCommitUid(int commitUid) {
|
||||
this.commitUid = commitUid;
|
||||
}
|
||||
|
||||
public int getScore() {
|
||||
return score;
|
||||
}
|
||||
|
||||
public void setScore(int score) {
|
||||
this.score = score;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
|
||||
/**
|
||||
* 社稷大典贡献领取奖励
|
||||
*/
|
||||
public class GetSheJiAwardEvent implements IEvent{
|
||||
private int uid;
|
||||
public GetSheJiAwardEvent(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public int getGuild() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public void setGuild(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package com.ljsd.jieling.logic.rank.rankImpl;
|
||||
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
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.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author lvxinran
|
||||
* @date 2020/8/22
|
||||
* @discribe
|
||||
*/
|
||||
public class GuildSheJiScoreRank extends AbstractRank {
|
||||
public GuildSheJiScoreRank(int type, String redisKey) {
|
||||
super(type, redisKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long[] getDataByScore(Double score) {
|
||||
return new long[]{score.longValue()};
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getScore(double... data) {
|
||||
return data[0];
|
||||
}
|
||||
|
||||
protected void getOptional(int index, ZSetOperations.TypedTuple<String> data, PlayerInfoProto.RankResponse.Builder builder) {
|
||||
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(Integer.parseInt(data.getValue()));
|
||||
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
|
||||
.setRank(index)
|
||||
.setParam1(getParam1(data.getScore()))
|
||||
.setParam2(getParam2(data.getScore()))
|
||||
.setParam3(getParam3(data.getScore()));
|
||||
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder()
|
||||
.setUid(guildInfo.getId())
|
||||
.setUserName(guildInfo.getName())
|
||||
.setRankInfo(everyRankInfo);
|
||||
builder.addRanks(everyRank);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void getMyInfo(User user, String rkey, PlayerInfoProto.RankResponse.Builder allUserResponse){
|
||||
int guildId = user.getPlayerInfoManager().getGuildId();
|
||||
if(guildId==0){
|
||||
return;
|
||||
}
|
||||
int myRank= RedisUtil.getInstence().getZSetreverseRank(redisKey,rkey,Integer.toString(guildId)).intValue();
|
||||
Double zSetScore = RedisUtil.getInstence().getZSetScore(redisKey, rkey, Integer.toString(guildId));
|
||||
CommonProto.RankInfo towerRankInfo = CommonProto.RankInfo.newBuilder()
|
||||
.setRank(myRank)
|
||||
.setParam1(getParam1(zSetScore))
|
||||
.setParam2(getParam2(zSetScore)).build();
|
||||
allUserResponse.setMyRankInfo(towerRankInfo);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue