任务:完成每日刷新

This commit is contained in:
luying
2021-04-20 17:52:50 +08:00
parent ced80d9b94
commit 017c0b6bb1
7 changed files with 171 additions and 18 deletions
+28 -2
View File
@@ -1,9 +1,12 @@
import { FrontendOrBackendSession, pinus } from "pinus";
import { refreshMails } from '../services/mailService';
import { refreshMails } from './mailService';
import { STATUS } from '../consts/statusCode';
import { resResult } from '../pubUtils/util';
import { resResult, shouldRefresh, shouldRefreshWeek } from '../pubUtils/util';
import { nowSeconds } from "../pubUtils/timeUtil";
import { RoleModel } from '../db/Role';
import { refDailyTask, refDailyTaskBox } from './taskService'
import { REFRESH_HOUR } from "../consts";
/**
* 刷新
* @param session
@@ -22,4 +25,27 @@ export async function refresh(session: FrontendOrBackendSession) {
RoleModel.updatedRoleMailAt(roleId, nowTime);
await refreshMails(roleId, sid, serverId, updatedMailAt);
}
await refreshDaily(session);
}
/**
* 每日刷新
* @param session
*/
export async function refreshDaily(session: FrontendOrBackendSession) {
let refDaily: number = session.get('refDaily'); // 10位时间戳,每天每人更新一次
let refWeekly: number = session.get('refWeekly'); // 10位时间戳,每天每人更新一次
if(!refDaily || shouldRefresh(new Date(refDaily * 1000), new Date(), REFRESH_HOUR)) {
refDaily = nowSeconds();
session.set('refDaily', refDaily);
session.push('refDaily', () => {});
await refDailyTask(session.get('roleId'), session.get('sid'));
}
if(!refWeekly || shouldRefreshWeek(new Date(refWeekly * 1000), new Date(), 1, REFRESH_HOUR)) {
refWeekly = nowSeconds();
session.set('refWeekly', refWeekly);
session.push('refWeekly', () => {});
await refDailyTaskBox(session.get('roleId'), session.get('sid'));
}
}