开服冲榜优化

back_recharge
duhui 2023-02-20 14:33:06 +08:00
parent ac75bdc9e9
commit 2e8ee8398a
1 changed files with 16 additions and 17 deletions

View File

@ -9,9 +9,7 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mail.MailLogic; 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.rankImpl.AbstractRank; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
import com.ljsd.jieling.network.server.ProtocolsManager;
import com.ljsd.jieling.thread.ThreadManager; import com.ljsd.jieling.thread.ThreadManager;
import com.ljsd.jieling.util.AyyncWorker;
import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.ToolsUtil; import com.ljsd.jieling.util.ToolsUtil;
import config.*; import config.*;
@ -177,21 +175,21 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
LOGGER.error("开服冲榜id为{}的玩家,{}活动,{}排行奖励发送失败,奖励已发送,{}-{}", uid, id, rankType, progressInfo.getProgrss(),progressInfo.getState()); LOGGER.error("开服冲榜id为{}的玩家,{}活动,{}排行奖励发送失败,奖励已发送,{}-{}", uid, id, rankType, progressInfo.getProgrss(),progressInfo.getState());
continue; continue;
} }
final int rankId = rank; //sendmail
final long count = score.longValue(); String title = getMailTitle(rankType);
AyyncWorker ayyncWorker = new AyyncWorker(user, true, user1 -> { String content = getMailContent(rankType, score.longValue(), rank);
//sendmail int[][] reward = getMailReward(rankType, rank);
String title = getMailTitle(rankType); if (reward == null){
String content = getMailContent(rankType, count, rankId); LOGGER.error("冲榜发奖玩家排名不发奖励uid{}rankid:{}, score:{}",user.getId(),rank,score.longValue());
String mailReward = ItemUtil.getMailReward(getMailReward(rankType, rankId)); continue;
MailLogic.getInstance().sendMail(uid, title, content, mailReward, TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME); }
//update activity String mailReward = ItemUtil.getMailReward(reward);
ActivityProgressInfo info = new ActivityProgressInfo(); MailLogic.getInstance().sendMail(uid, title, content, mailReward, TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
info.setState(2); //update activity
info.setProgrss(TimeUtils.nowInt()); ActivityProgressInfo info = new ActivityProgressInfo();
mission.getActivityMissionMap().put(rankType, info); info.setState(2);
}); info.setProgrss(TimeUtils.nowInt());
ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker); mission.getActivityMissionMap().put(rankType, info);
LOGGER.info("冲榜发奖中:{}-{}-{}",id,rankType,uid); LOGGER.info("冲榜发奖中:{}-{}-{}",id,rankType,uid);
rank++; rank++;
} catch (Exception e) { } catch (Exception e) {
@ -203,6 +201,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
} }
private int[][] getMailReward(int rankType, int rank){ private int[][] getMailReward(int rankType, int rank){
LOGGER.info("冲榜获取邮件奖励type:{}, rank:{}",rankType, rank);
SChongRankInfo rankInfo = SChongRankInfo.getMap().get(id).get(rankType); SChongRankInfo rankInfo = SChongRankInfo.getMap().get(id).get(rankType);
List<SChongRank> chongRanks = SChongRank.getMap().get(rankInfo.getId()); List<SChongRank> chongRanks = SChongRank.getMap().get(rankInfo.getId());
int[][] result = null; int[][] result = null;