配置:去除stable服env的特殊处理
This commit is contained in:
@@ -71,6 +71,20 @@ export class GmHandler {
|
||||
return resResult(STATUS.SUCCESS,);
|
||||
}
|
||||
|
||||
// 大区一起维护
|
||||
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);
|
||||
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);
|
||||
|
||||
return resResult(STATUS.SUCCESS,);
|
||||
}
|
||||
|
||||
// 提前结束维护
|
||||
async stopMaintenance(msg: { id: number }, session: BackendSession) {
|
||||
const { id } = msg;
|
||||
|
||||
@@ -261,22 +261,21 @@ export function _getActivities() {
|
||||
export async function checkActivityEditable(activities: ActivityModelType[]) {
|
||||
let now = new Date();
|
||||
|
||||
if(pinus.app.get('env') == 'production') {
|
||||
for(let activity of activities) {
|
||||
if(!activity || (activity.beginTime < now && activity.endTime > now)) {
|
||||
|
||||
if(activity.type == ACTIVITY_TYPE.SIGN_IN || activity.type == ACTIVITY_TYPE.SIGN_IN_VIP) {
|
||||
// 签到活动的不显示期内也可以编辑
|
||||
let signInObj = new SignInData(activity, 0);
|
||||
if(signInObj.beginTime < now.getTime() && signInObj.endTime > now.getTime() ) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
for(let activity of activities) {
|
||||
if(!activity || (activity.beginTime < now && activity.endTime > now)) {
|
||||
|
||||
if(activity.type == ACTIVITY_TYPE.SIGN_IN || activity.type == ACTIVITY_TYPE.SIGN_IN_VIP) {
|
||||
// 签到活动的不显示期内也可以编辑
|
||||
let signInObj = new SignInData(activity, 0);
|
||||
if(signInObj.beginTime < now.getTime() && signInObj.endTime > now.getTime() ) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,23 +29,21 @@ import { GMMailModel } from '../db/GMMail';
|
||||
import { Maintenance, ServerlistModel, ServerlistType, ServerlistUpdate } from '../db/Serverlist';
|
||||
import { getWorldChannelSid } from './chatService';
|
||||
import { createMarqueeMsg, pushMarqueeMsg } from './sysChatService';
|
||||
import { RegionModel, RegionType } from '../db/Region';
|
||||
|
||||
const PER_SECOND = 1 * 1000;
|
||||
const PER_DAY = 24 * 60 * 60;
|
||||
const PER_HOUR = 1 * 60 * 60;
|
||||
const PER_MINUTE = 1 * 60;
|
||||
var seasonMakeRewardTimJobId: Job;
|
||||
var warJobId: Job;
|
||||
var seasonRefreshTimeJobId: Job;
|
||||
let guildWeeklyJobId: Job;
|
||||
let guildActStartJobId: Job; // 军团活动开启后每10(or 1)秒循环的定时任务,到结束活动清除
|
||||
let guildActSecondsJobId: Job; // 军团活动开启后每10(or 1)秒循环的定时任务,到结束活动清除
|
||||
let guildActEndJobId: Job; // 军团活动开启后每10(or 1)秒循环的定时任务,到结束活动清除
|
||||
let pvpMakeRewardInterval = null;
|
||||
let pvpRefreshInterval = null;
|
||||
|
||||
/**
|
||||
* 服务器启动即开启定时任务,结算时常是23-24点,实际结算的时间点是23:31分钟
|
||||
* 初始定时器
|
||||
*/
|
||||
export async function init() {
|
||||
|
||||
@@ -83,6 +81,7 @@ export async function init() {
|
||||
await initMaintenance();
|
||||
}
|
||||
|
||||
// —————————————— PVP 及赛季相关 —————————————— //
|
||||
function getSeasonContinueDay(seasonNum: number) {
|
||||
const pvpSeasonDuring = PVP.PVP_SEASON_DAYS.split('|').map(cur => {
|
||||
let arr = cur.split('&');
|
||||
@@ -197,7 +196,9 @@ export async function reportOnlineSchedule() {
|
||||
}
|
||||
}
|
||||
|
||||
// —————————————— PVP 及赛季相关 end —————————————— //
|
||||
|
||||
// —————————————— 军团活动 —————————————— //
|
||||
/**
|
||||
* 军团活动,每晚8点开启
|
||||
*/
|
||||
@@ -343,6 +344,10 @@ export async function raceActivitySeconds() {
|
||||
}
|
||||
}
|
||||
|
||||
// —————————————— 军团活动 end —————————————— //
|
||||
|
||||
// —————————————— 拍卖行 —————————————— //
|
||||
|
||||
let startGuildAuctionJobId: Job;
|
||||
let startWorldAuctionJobId: Job;
|
||||
let stopAuctionJobId: Job;
|
||||
@@ -383,7 +388,9 @@ function clearAuctionSchedule() {
|
||||
}
|
||||
}
|
||||
|
||||
// —————————————— 拍卖行 end —————————————— //
|
||||
|
||||
// —————————————— 邮件 —————————————— //
|
||||
async function sendCircleMail() {
|
||||
let gmmails = await GMMailModel.findCircleMails(pinus.app.get('env'));
|
||||
for(let gmmail of gmmails) {
|
||||
@@ -401,9 +408,9 @@ async function sendCircleMail() {
|
||||
}
|
||||
}
|
||||
|
||||
// —————————————— 邮件 end —————————————— //
|
||||
|
||||
/*** 维护 */
|
||||
|
||||
// —————————————— 维护 —————————————— //
|
||||
let maintenInfos = new Map<string, { servers: ServerlistType[], maintenance: Maintenance }>(); // batchCode => {servers, maintenance}
|
||||
export async function initMaintenance(servers?: ServerlistType[]) {
|
||||
if(!servers) servers = await ServerlistModel.findByEnv(pinus.app.get('env'));
|
||||
@@ -521,4 +528,11 @@ export async function stopMaintenance(batchCode: string, serverIds: number[]) {
|
||||
pinus.app.rpc.guild.guildRemote.stopServerMainten.broadcast(serverIds);
|
||||
pinus.app.rpc.order.orderRemote.stopServerMainten.broadcast(serverIds);
|
||||
pinus.app.rpc.role.roleRemote.stopServerMainten.broadcast(serverIds);
|
||||
}
|
||||
}
|
||||
|
||||
// —————————————— 维护 end —————————————— //
|
||||
// —————————————— 自动开服 —————————————— //
|
||||
async function initAutoCreateServer(region?: RegionType) {
|
||||
if(!region) region = await RegionModel.findRegionByEnv(pinus.app.get('env'));
|
||||
}
|
||||
// —————————————— 自动开服 end —————————————— //
|
||||
Reference in New Issue
Block a user