Files
ZYZ/game-server/app/services/refreshService.ts
2021-02-06 16:35:16 +08:00

21 lines
1.0 KiB
TypeScript

import { FrontendOrBackendSession, pinus } from "pinus";
import { refreshMails } from '../services/mailService';
import { STATUS } from '../consts/statusCode';
import { resResult } from '../pubUtils/util';
import { nowSeconds } from "../pubUtils/timeUtil";
import { RoleModel } from '../db/Role';
export async function refresh(session: FrontendOrBackendSession) {
const roleId = session.get('roleId');
const sid = session.get('sid');
const serverId: number = parseInt(session.get('serverId'));
let updatedMailAt: number = parseInt(session.get('updatedMailAt'));
let uids = [{uid: roleId, sid}];
pinus.app.get('channelService').pushMessageByUids('onPushCurrentTime', resResult(STATUS.SUCCESS, {time: Date.now()}), uids);
let nowTime = nowSeconds();
if (!!roleId && updatedMailAt < nowTime - 5) { //保持最少5秒间隙
session.set('updatedMailAt', nowTime);
RoleModel.updatedRoleMailAt(roleId, nowTime);
await refreshMails(roleId, sid, serverId, updatedMailAt);
}
}