开服冲榜活动优化
parent
49ac978e36
commit
b1b66941ba
|
@ -61,8 +61,6 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
|
||||
/**
|
||||
* 获取发送时间
|
||||
* @param rankType 排行榜类型
|
||||
* @return
|
||||
*/
|
||||
public long getSendTime(int rankType){
|
||||
SChongRankInfo info = SChongRankInfo.getMap().getOrDefault(id,new HashMap<>()).get(rankType);
|
||||
|
@ -77,8 +75,6 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
|
||||
/**
|
||||
* 判断活动是否开启
|
||||
* @param rankType 排行榜类型
|
||||
* @return
|
||||
*/
|
||||
public boolean isOpen(int rankType){
|
||||
SChongRankInfo info = SChongRankInfo.getMap().getOrDefault(id,new HashMap<>()).get(rankType);
|
||||
|
@ -97,8 +93,6 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
|
||||
/**
|
||||
* 获取发送时间: 单位/秒
|
||||
* @param rankType 排行榜类型
|
||||
* @return
|
||||
*/
|
||||
public int getCleanRankTime(int rankType){
|
||||
SChongRankInfo info = SChongRankInfo.getMap().getOrDefault(id,new HashMap<>()).get(rankType);
|
||||
|
@ -112,7 +106,6 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
|
||||
/**
|
||||
* 备份排行榜
|
||||
* @param rankType
|
||||
*/
|
||||
private Set<ZSetOperations.TypedTuple<String>> backRank(int rankType){
|
||||
LOGGER.info("===========================冲榜开始备份,活动id:{},排行榜类型:{},时间:{}",id,rankType,TimeUtils.nowInt());
|
||||
|
@ -122,15 +115,15 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
Set<ZSetOperations.TypedTuple<String>> rankInfo = abstractRank.getRankByKey("", 0, -1);
|
||||
SChongRankInfo chongRankInfo = SChongRankInfo.getMap().get(id).get(rankType);
|
||||
if (rankInfo == null || chongRankInfo == null){
|
||||
LOGGER.error("冲榜备份提前结束,排行榜空,活动id:{},排行榜类型:{}",id,rankType);
|
||||
LOGGER.error("冲榜备份结束,排行榜空,活动id:{},排行榜类型:{}",id,rankType);
|
||||
return null;
|
||||
}
|
||||
backRankType = chongRankInfo.getBackRankType();
|
||||
AbstractRank backRank = RankContext.getRankEnum(backRankType);
|
||||
Set<ZSetOperations.TypedTuple<String>> backRankInfo = backRank.getRankByKey("", 0, -1);
|
||||
if (backRankInfo != null && backRankInfo.size() > 0){
|
||||
LOGGER.info("冲榜备份提前结束,备份数据已存在,活动id:{},排行榜类型:{},排行榜数量:{}",id,backRankType,backRankInfo.size());
|
||||
return backRankInfo;
|
||||
LOGGER.info("冲榜备份结束,备份数据已存在,活动id:{},排行榜类型:{},排行榜数量:{}",id,backRankType,backRankInfo.size());
|
||||
return null;
|
||||
}
|
||||
String key = RedisUtil.getInstence().getKey(backRank.getRedisKey(),"");
|
||||
RedisUtil.getInstence().zsetAddAall(key,rankInfo);
|
||||
|
@ -145,7 +138,6 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
|
||||
/**
|
||||
* 发奖
|
||||
* @param rankType
|
||||
*/
|
||||
private void sendReward(int rankType) {
|
||||
LOGGER.info("===========================冲榜开始发奖:{}-{}",id,rankType);
|
||||
|
@ -153,7 +145,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
// 备份排行榜
|
||||
Set<ZSetOperations.TypedTuple<String>> rankInfo = backRank(rankType);
|
||||
if (rankInfo == null){
|
||||
LOGGER.error("===========================冲榜发奖提前结束,备份排行榜失败:{}-{}",id,rankType);
|
||||
LOGGER.error("===========================冲榜发奖提前结束,备份排行榜返回结果为空:{}-{}",id,rankType);
|
||||
return;
|
||||
}
|
||||
// 遍历发奖
|
||||
|
@ -162,15 +154,22 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
int uid = Integer.parseInt(item.getValue());
|
||||
Double score = item.getScore();
|
||||
try {
|
||||
// 邮件信息
|
||||
long value = score.longValue();
|
||||
int[][] reward = getMailReward(rankType, rank);
|
||||
if (reward == null){
|
||||
LOGGER.error("冲榜发奖,此排名后玩家不发奖,uid:{},rankid:{}, score:{}",uid,rank, value);
|
||||
break;
|
||||
}
|
||||
String title = getMailTitle(rankType);
|
||||
String content = getMailContent(rankType, value, rank);
|
||||
// 用户信息
|
||||
User user = UserManager.getUser(uid, true);
|
||||
if (user == null){
|
||||
LOGGER.error("开服冲榜id为{}的玩家,{}活动,{}排行奖励发送失败,原因玩家不存在", uid, id, rankType);
|
||||
continue;
|
||||
}
|
||||
LOGGER.info("冲榜发奖中:{}-{}-{}",id,rankType,uid);
|
||||
|
||||
final int rankId = rank;
|
||||
long value = score.longValue();
|
||||
AyyncWorker ayyncWorker = new AyyncWorker(user, true, user1 -> {
|
||||
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if (mission == null){
|
||||
|
@ -183,13 +182,6 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
|
|||
return;
|
||||
}
|
||||
//sendmail
|
||||
String title = getMailTitle(rankType);
|
||||
String content = getMailContent(rankType, value, rankId);
|
||||
int[][] reward = getMailReward(rankType, rankId);
|
||||
if (reward == null){
|
||||
LOGGER.error("冲榜发奖,玩家排名不发奖励,uid:{},rankid:{}, score:{}",user.getId(),rankId, value);
|
||||
return;
|
||||
}
|
||||
String mailReward = ItemUtil.getMailReward(reward);
|
||||
MailLogic.getInstance().sendMail(uid, title, content, mailReward, TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
|
||||
//update activity
|
||||
|
|
|
@ -245,20 +245,6 @@ public class MinuteTask extends Thread {
|
|||
FourChallengeLogic.getInstance().check();
|
||||
// 助战
|
||||
HelpHeroLogic.getInstance().zeroClearRedisHelp();
|
||||
//探索排行每日重置
|
||||
/*String key = RedisUtil.getInstence().getKey(RedisKey.EXPLORE_RANK,"",true);
|
||||
Set<String> exploreRank = RedisUtil.getInstence().getReverseZset(key,0,-1);
|
||||
int i = 0;
|
||||
for(String eachEle:exploreRank){
|
||||
User user = UserManager.getUser(Integer.parseInt(eachEle));
|
||||
if(user == null){
|
||||
continue;
|
||||
}
|
||||
i++;
|
||||
LOGGER.info("EXPLORE_RANK reset "+eachEle+" i:"+i);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.EXPLORE, MissionType.EXPLORE_ENEMYHISTORYHIGH_NUM, i);
|
||||
}
|
||||
RankEnum.toRank(RankEnum.EXPLORE_RANK.getType()).removeRank("");*/
|
||||
|
||||
// 公会信息处理
|
||||
Map<Integer, GuildInfo> guildInfoMap = GuilidManager.getAllGuildInfos();
|
||||
|
|
|
@ -45,9 +45,7 @@ public class ToolsUtil {
|
|||
}
|
||||
public static long getEndTimeLong(long startTimeLong , long endTimeLong,int time,long createUserTime,int dayOut){
|
||||
long timeLong = getTimeLong(startTimeLong, endTimeLong, time, createUserTime, 2);
|
||||
long endTime = timeLong + TimeUtils.DAY * dayOut;
|
||||
return endTime;
|
||||
|
||||
return timeLong + TimeUtils.DAY * dayOut;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue