活动:修复限时排行榜
This commit is contained in:
@@ -205,7 +205,7 @@ export async function getActivity(serverId: number, roleId: string, guildCode: s
|
||||
activityData = await getTimeLimitRankDataShow(activityId, serverId);
|
||||
break;
|
||||
}
|
||||
case ACTIVITY_TYPE.TASK_PASS: // 限时排行
|
||||
case ACTIVITY_TYPE.TASK_PASS: // 战令、朝花夕拾
|
||||
{
|
||||
activityData = await getTaskPassDataShow(activityId, serverId, roleId);
|
||||
break;
|
||||
|
||||
@@ -66,25 +66,20 @@ export async function recordGuildFund(serverId: number, guild: GuildType, fund:
|
||||
*/
|
||||
export async function sendRankMail(data: TimeLimitRankData, serverId: number) {
|
||||
let redisKey = getRedisKeyByRankType(data.rankType, true);
|
||||
console.log('#### redisKey', redisKey, serverId)
|
||||
if (!redisKey) return null;
|
||||
let r = new Rank(redisKey, { activityId: data.activityId, serverId });
|
||||
console.log('#### getRankByRange',r.infoKey, await r.getRankByRange())
|
||||
if(r.infoKey == REDIS_KEY.GUILD_INFO) {
|
||||
let allRank = <GuildRankInfo[]>(await r.getRankByRange());
|
||||
|
||||
for(let { rank, code, name, leader } of allRank) {
|
||||
let reward = data.getRewardByRank(rank);
|
||||
if(reward) {
|
||||
if(leader.roleId) {
|
||||
await sendMailByContent(MAIL_TYPE.TIME_LIMIT_RANK, leader.roleId, {
|
||||
let guild = await GuildModel.findByCode(code, serverId, '+members');
|
||||
console.log(guild.members)
|
||||
for(let roleId of guild.members) {
|
||||
await sendMailByContent(MAIL_TYPE.TIME_LIMIT_RANK, roleId, {
|
||||
params: [data.tabName,`${rank}`],
|
||||
goods: stringWithTypeToRewardInter(reward.rewards)
|
||||
});
|
||||
} else {
|
||||
await sendMailToGuildByContent(MAIL_TYPE.TIME_LIMIT_RANK, code, {
|
||||
params: [data.tabName,`${rank}`],
|
||||
goods: stringWithTypeToRewardInter(reward.guildRewards)
|
||||
goods: stringWithTypeToRewardInter(roleId == leader.roleId? reward.rewards: reward.guildRewards)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ export async function initActivitiesRank(serverId: number) {
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
let activityGroup = await ActivityGroupModel.findByServerId(serverId);
|
||||
let activityGroupId = activityGroup.map(cur => cur.groupId);
|
||||
let activities = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TIME_LIMIT_RANK, new Date());
|
||||
let activities = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TIME_LIMIT_RANK);
|
||||
for(let activity of activities) {
|
||||
let data = new TimeLimitRankData(activity, 0, serverTime);
|
||||
if(data.beginTime <= Date.now() && data.endTime >= Date.now()) {
|
||||
|
||||
Reference in New Issue
Block a user