服务器:修复白名单bug
This commit is contained in:
@@ -64,6 +64,7 @@ export class GmHandler {
|
||||
async startMaintenance(msg: { id: number, startTime: number, endTime: number, hasNotify: boolean }, session: BackendSession) {
|
||||
const { id, startTime, endTime, hasNotify } = msg;
|
||||
if(!id || !isNumber(startTime) || !isNumber(endTime)) return resResult(STATUS.WRONG_PARMS);
|
||||
if(endTime < nowSeconds()) return resResult(STATUS.WRONG_PARMS, '结束时间不能比现在早');
|
||||
const uid = session.get('uid');
|
||||
let newMaintenance: Maintenance = { batchCode: genCode(10), startTime, endTime, hasNotify, isOpen: true }
|
||||
let server = await ServerlistModel.updateByServerId(id, { maintenance: newMaintenance });
|
||||
@@ -76,10 +77,10 @@ export class GmHandler {
|
||||
async startRegionMaintenance(msg: { startTime: number, endTime: number, hasNotify: boolean }, session: BackendSession) {
|
||||
const { startTime, endTime, hasNotify } = msg;
|
||||
if(!isNumber(startTime) || !isNumber(endTime)) return resResult(STATUS.WRONG_PARMS);
|
||||
if(endTime < nowSeconds()) return resResult(STATUS.WRONG_PARMS, '结束时间不能比现在早');
|
||||
const uid = session.get('uid');
|
||||
let newMaintenance: Maintenance = { batchCode: genCode(10), startTime, endTime, hasNotify, isOpen: true }
|
||||
let servers = await ServerlistModel.findByEnv(this.app.get('env'));
|
||||
console.log('*********servers', servers)
|
||||
await ServerlistModel.updateByServerIds(servers.map(server => server.id), { maintenance: newMaintenance });
|
||||
await pinus.app.rpc.systimer.systimerRemote.initMaintenance.broadcast(servers);
|
||||
|
||||
|
||||
@@ -62,26 +62,33 @@ async function startMarquee(marquee: MarqueeType, startJob?: Job) {
|
||||
startJob = undefined;
|
||||
}
|
||||
} else {
|
||||
await pushMarqueeMsg(msgDatas);
|
||||
console.log('***', marquee.interval)
|
||||
let secondsJob = scheduleJob(`setSeconds${marquee.code}`, `*/${marquee.interval} * * * * *`, async () => {
|
||||
console.log(`*****setSeconds${marquee.code}****`)
|
||||
if(marquee.endTime > nowSeconds()) {
|
||||
await pushMarqueeMsg(msgDatas);
|
||||
});
|
||||
let endJob = scheduleJob(`end${marquee.code}`, marquee.endTime * 1000, async () => {
|
||||
console.log('***', marquee.interval)
|
||||
let secondsJob = scheduleJob(`setSeconds${marquee.code}`, `*/${marquee.interval} * * * * *`, async () => {
|
||||
console.log(`*****setSeconds${marquee.code}****`)
|
||||
await pushMarqueeMsg(msgDatas);
|
||||
});
|
||||
let endJob = scheduleJob(`end${marquee.code}`, marquee.endTime * 1000, async () => {
|
||||
if(startJob) {
|
||||
startJob.cancel();
|
||||
startJob = undefined;
|
||||
}
|
||||
if(secondsJob) {
|
||||
secondsJob.cancel();
|
||||
secondsJob = undefined;
|
||||
}
|
||||
if(endJob) {
|
||||
endJob.cancel();
|
||||
endJob = undefined;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if(startJob) {
|
||||
startJob.cancel();
|
||||
startJob = undefined;
|
||||
}
|
||||
if(secondsJob) {
|
||||
secondsJob.cancel();
|
||||
secondsJob = undefined;
|
||||
}
|
||||
if(endJob) {
|
||||
endJob.cancel();
|
||||
endJob = undefined;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -437,13 +437,17 @@ export async function initMaintenance(servers?: ServerlistType[]) {
|
||||
// 设置维护
|
||||
async function setMaintenance(batchCode: string) {
|
||||
let { maintenance } = maintenInfos.get(batchCode);
|
||||
|
||||
console.log('***** maintenance', maintenance);
|
||||
|
||||
let now = nowSeconds();
|
||||
// 发送消息
|
||||
if(maintenance.hasNotify && now < maintenance.startTime) {
|
||||
if(now > maintenance.startTime - 5 * 60) {
|
||||
maintenanceNotifySchedule(batchCode);
|
||||
} else {
|
||||
scheduleJob(`maintenNotify${batchCode}`, maintenance.startTime - 5 * 60, () => {
|
||||
scheduleJob(`maintenNotify${batchCode}`, (maintenance.startTime - 5 * 60) * 1000, () => {
|
||||
console.log('******* 通知')
|
||||
maintenanceNotifySchedule(batchCode);
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user