七界取消排行榜奖励

master_ob2
PC-202302260912\Administrator 2023-07-06 14:15:38 +08:00
parent d76438ab99
commit 8bc2e97047
1 changed files with 35 additions and 47 deletions

View File

@ -3,26 +3,14 @@ package com.ljsd.jieling.core.function;
import com.ljsd.jieling.core.FunctionManager; import com.ljsd.jieling.core.FunctionManager;
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.db.redis.RedisUtil;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.GlobleSystemLogic; import com.ljsd.jieling.logic.GlobleSystemLogic;
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction; import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
import com.ljsd.jieling.logic.dao.cross.CSPlayer;
import com.ljsd.jieling.logic.mail.MailLogic;
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 config.SErrorCodeEerverConfig;
import config.SQijieRanking;
import manager.STableManager;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.ZSetOperations;
import util.StringUtil;
import util.TimeUtils; import util.TimeUtils;
import java.util.Map;
import java.util.Set;
/** /**
* @author lvxinran * @author lvxinran
* @date 2019/11/23 * @date 2019/11/23
@ -43,42 +31,42 @@ public class SevenWorldFunction implements FunctionManager {
return; return;
} }
RedisUtil.getInstence().expire2(lockKey,TimeUtils.ONE_MINUTE*5); RedisUtil.getInstence().expire2(lockKey,TimeUtils.ONE_MINUTE*5);
LOGGER.info("七界试炼活动结束,开始发奖...");
// 排行榜
String crossRedisKey = RankContext.getRankEnum(RankEnum.CROSS_SEVEN_WORLD_RANK.getType()).getCrossRedisKey(); String crossRedisKey = RankContext.getRankEnum(RankEnum.CROSS_SEVEN_WORLD_RANK.getType()).getCrossRedisKey();
Set<ZSetOperations.TypedTuple<String>> range = RedisUtil.getInstence().getZsetreverseRangeWithScores(crossRedisKey,"",0,-1,false); // LOGGER.info("七界试炼活动结束,开始发奖...");
// 排名 // // 排行榜
int rank = 0; // Set<ZSetOperations.TypedTuple<String>> range = RedisUtil.getInstence().getZsetreverseRangeWithScores(crossRedisKey,"",0,-1,false);
for (ZSetOperations.TypedTuple<String> tuple : range) { // // 排名
rank++; // int rank = 0;
int uid = Integer.parseInt(tuple.getValue()); // for (ZSetOperations.TypedTuple<String> tuple : range) {
CSPlayer player = CrossServiceLogic.getPlayerByRedis(uid); // rank++;
if (player == null){ // int uid = Integer.parseInt(tuple.getValue());
LOGGER.error("七界发奖玩家缓存找不到uid{},排名:{}",uid,rank); // CSPlayer player = CrossServiceLogic.getPlayerByRedis(uid);
continue; // if (player == null){
} // LOGGER.error("七界发奖玩家缓存找不到uid{},排名:{}",uid,rank);
// 清除道具标记 // continue;
// SevenWorldLogic.setClearMark(uid); // }
long loginTime = player.getLoginTime(); // // 清除道具标记
if (TimeUtils.now() > (loginTime +TimeUtils.WEEK)){ //// SevenWorldLogic.setClearMark(uid);
LOGGER.error("七界发奖玩家登陆时间超过七天uid{},排名:{},最后登陆时间:{},当前时间:{}",uid,rank,TimeUtils.getTimeStamp2(loginTime),TimeUtils.nowStr()); // long loginTime = player.getLoginTime();
continue; // if (TimeUtils.now() > (loginTime +TimeUtils.WEEK)){
} // LOGGER.error("七界发奖玩家登陆时间超过七天uid{},排名:{},最后登陆时间:{},当前时间:{}",uid,rank,TimeUtils.getTimeStamp2(loginTime),TimeUtils.nowStr());
String title = SErrorCodeEerverConfig.getI18NMessage("Qijie_mail_title"); // continue;
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("Qijie_mail_txt", new Object[]{rank},new int[0],"#"); // }
// 排行奖励 // String title = SErrorCodeEerverConfig.getI18NMessage("Qijie_mail_title");
Map<Integer, SQijieRanking> config = STableManager.getConfig(SQijieRanking.class); // String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("Qijie_mail_txt", new Object[]{rank},new int[0],"#");
for (SQijieRanking value : config.values()) { // // 排行奖励
// 排名区间 // Map<Integer, SQijieRanking> config = STableManager.getConfig(SQijieRanking.class);
if (rank >= value.getMinRank() && rank <= value.getMaxRank()){ // for (SQijieRanking value : config.values()) {
// 发邮件奖励 // // 排名区间
String reward = StringUtil.parseArrayToString(value.getRankingReward()); // if (rank >= value.getMinRank() && rank <= value.getMaxRank()){
MailLogic.getInstance().sendMailToRedis(uid,title,content,reward,TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME); // // 发邮件奖励
LOGGER.info("七界试炼发奖uid{},排名:{},奖励:{},",uid,rank,reward); // String reward = StringUtil.parseArrayToString(value.getRankingReward());
break; // MailLogic.getInstance().sendMailToRedis(uid,title,content,reward,TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
} // LOGGER.info("七界试炼发奖uid{},排名:{},奖励:{},",uid,rank,reward);
} // break;
} // }
// }
// }
LOGGER.info("七界试炼发奖结束,开始清除排行榜..."); LOGGER.info("七界试炼发奖结束,开始清除排行榜...");
String key = RedisUtil.getInstence().getKey2(crossRedisKey, ""); String key = RedisUtil.getInstence().getKey2(crossRedisKey, "");
RedisUtil.getInstence().del(key); RedisUtil.getInstence().del(key);