feat(活动): 节日活动高级签到邮件补发

This commit is contained in:
luying
2023-08-04 16:20:36 +08:00
parent 822c8c8c42
commit 3d510783da
8 changed files with 90 additions and 3 deletions

View File

@@ -53,6 +53,11 @@ import { RewardInter } from '../pubUtils/interface';
import { stringToRewardInter } from './activity/giftPackageService';
import { autoCreateServerSchedule } from './serverService';
import { setHiddenData } from './memoryCache/hiddenData';
import { SignInData } from '../domain/activityField/signInField';
import * as util from 'util';
import { ActivitySignInModel } from '../db/ActivitySignIn';
import { repairSignInMail } from './activity/signInService';
const PER_SECOND = 1 * 1000;
const PER_DAY = 24 * 60 * 60;
@@ -126,6 +131,9 @@ export async function init() {
// 月基金每月未领取
initMonthlyFundSchedule();
// 节日活动高级签到补发
initVipSignInMailSchedule()
}
// 每日刷新
@@ -998,6 +1006,21 @@ async function initMonthlyFundSchedule() {
});
}
// 高级签到自动补发
export async function initVipSignInMailSchedule() {
let activities = await ActivityModel.findOpenTypeByTime(ACTIVITY_TYPE.COMMON_SIGN_IN);
for(let activityData of activities) {
let playerData = new SignInData(activityData, 0, 0);
if(!playerData || playerData.productID == '&') continue;
const jobKey = `vipSignMailJob${playerData.activityId}`;
if(scheduledJobs[jobKey]) scheduledJobs[jobKey].cancel();
scheduleJob(jobKey, playerData.endTime, async () => {
await repairSignInMail(playerData);
});
}
}
export async function monthlyFundSchedule(roundIndex: number) {
let activityMap = new Map<number, ActivityModelType>();
let playerDatas = await ActivityMonthlyFundModel.findNotReceivedReward(roundIndex);