政治需求:关闭接口功能

This commit is contained in:
luying
2022-09-23 17:29:38 +08:00
parent d3683b5b4b
commit d5e3c76f13
18 changed files with 160 additions and 10 deletions
@@ -9,6 +9,7 @@ import { errlogger } from '../../../util/logger';
import { ActivityGroupModel } from '../../../db/ActivityGroup';
import { deleteActivities, loadActivities, saveActivitiesToGroup, updateActivities, _getActivityById, _getActivitiesByType, _getActivities, _getActivitiesByServerId } from '../../../services/activity/activityRemoteService';
import { saveActivityMemory } from '../../../services/log/memoryLogService';
import { setApiIsClose } from '../../../services/chatService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -148,4 +149,12 @@ export class ActivityRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async setApiIsClose(isClose: boolean) {
try {
setApiIsClose(isClose);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
@@ -1,6 +1,7 @@
import { Application, ChannelService, FrontendSession, RemoterClass, HandlerService, } from 'pinus';
import { PVPConfigModel, PVPConfigType } from '../../../db/SystemConfig';
import { reloadResources } from '../../../pubUtils/data';
import { setApiIsClose } from '../../../services/chatService';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { savePvpSeasonMemory } from '../../../services/log/memoryLogService';
import { taflush } from '../../../services/sdkService';
@@ -149,4 +150,12 @@ export class BattleRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async setApiIsClose(isClose: boolean) {
try {
setApiIsClose(isClose);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
@@ -4,6 +4,7 @@ import { _checkFilterWords, taflush } from '../../../services/sdkService';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { errlogger } from '../../../util/logger';
import { addUserToChannel, sendMessageToChannel, sendMessgeToChannelByBatch } from '../../../services/pushService';
import { setApiIsClose } from '../../../services/chatService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -147,4 +148,12 @@ export class ChatRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async setApiIsClose(isClose: boolean) {
try {
setApiIsClose(isClose);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
@@ -15,6 +15,7 @@ import { isDevelopEnv } from "../../../services/utilService";
import { isNumber } from "underscore";
import { redisClient } from "../../../services/redisService";
import { checkRouteParam } from "../../../services/checkParam";
import { isApiClose } from "../../../services/chatService";
export function globalFilter(app: Application) {
return new Filter(app);
@@ -52,7 +53,7 @@ class Filter {
if(!this.checkFrequency(routeRecord.route, msg, roleId)) {
return next(new Error('globalFilter'), resResult(STATUS.ACCESS_BUSY, { route: routeRecord.route }));
}
if(!this.checkFunction(routeRecord.route)) {
if(!this.checkFunction(routeRecord.route, msg)) {
return next(new Error('globalFilter'), resResult(STATUS.FUNCTION_CLOSE, { route: routeRecord.route }));
}
@@ -131,11 +132,19 @@ class Filter {
}
// 检查该接口是否关闭
private checkFunction (route: string) {
if(gameData.serverConst.API_IS_CLOSE == 1) {
if(gameData.serverConst.CLOSE_APIS.indexOf(route) != -1) {
private checkFunction (route: string, msg: any) {
if(isApiClose()) {
let isClose = gameData.serverConst.CLOSE_APIS.find(cur => {
if(cur.route == route) {
if(cur.param == null) return true;
for(let key in cur.param) {
if(cur.param[key] == true && msg[key] != undefined) return true;
if(cur.param[key] && msg[key] == cur.param[key]) return true;
}
}
return false;
}
});
return !isClose
}
return true;
}
@@ -11,6 +11,7 @@ import { taflush } from '../../../services/sdkService';
import { errlogger } from '../../../util/logger';
import { setWeek } from '../../../pubUtils/timeUtil';
import { savePvpSeasonMemory } from '../../../services/log/memoryLogService';
import { setApiIsClose } from '../../../services/chatService';
export default function (app: Application) {
new HandlerService(app, {});
return new ConnectorRemote(app);
@@ -180,4 +181,12 @@ export class ConnectorRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async setApiIsClose(isClose: boolean) {
try {
setApiIsClose(isClose);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
@@ -10,7 +10,8 @@ import { nowSeconds } from '../../../pubUtils/timeUtil';
import { createNewServer, sendOpenServerMail } from '../../../services/gmService';
import { isNumber } from 'util';
import { MarqueeModel } from '../../../db/Marquee';
let timer: NodeJS.Timer;
import { setApiIsCloseToRemote } from '../../../services/chatService';
export default function (app: Application) {
return new GmHandler(app);
}
@@ -169,4 +170,14 @@ export class GmHandler {
if (!result) return resResult(STATUS.GM_MARQUEE_CANCEL_ERR);
return resResult(STATUS.SUCCESS);
}
async setApiIsClose(msg: { isCloseApi: boolean }, session: BackendSession) {
const { isCloseApi } = msg;
let region = await RegionModel.findRegionByEnv(pinus.app.get('env'));
if(!region) return resResult(STATUS.SERVER_NOT_FOUND);
region = await RegionModel.updateRegion(region.id, { isCloseApi });
setApiIsCloseToRemote(region.isCloseApi);
return resResult(STATUS.SUCCESS);
}
}
@@ -3,6 +3,7 @@ import { reloadResources } from '../../../pubUtils/data';
import { taflush, treatGuildName } from '../../../services/sdkService';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { errlogger } from '../../../util/logger';
import { setApiIsClose } from '../../../services/chatService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -65,4 +66,12 @@ export class GuildRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async setApiIsClose(isClose: boolean) {
try {
setApiIsClose(isClose);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
@@ -4,6 +4,7 @@ import { refundOrderFromRedisPub, settleOrderFromRedisPub } from '../../../servi
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { taflush } from '../../../services/sdkService';
import { errlogger } from '../../../util/logger';
import { setApiIsClose } from '../../../services/chatService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -77,4 +78,12 @@ export class OrderRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async setApiIsClose(isClose: boolean) {
try {
setApiIsClose(isClose);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
@@ -10,6 +10,7 @@ import { PVPConfigModel, PVPConfigType } from '../../../db/SystemConfig';
import { treatRoleName, taflush, sendSurveyMail } from '../../../services/sdkService';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { errlogger } from '../../../util/logger';
import { setApiIsClose } from '../../../services/chatService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -141,4 +142,11 @@ export class RoleRemote {
}
}
public async setApiIsClose(isClose: boolean) {
try {
setApiIsClose(isClose);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
@@ -16,6 +16,7 @@ import { GroupMailType } from '../../../db/GroupMail';
import { ServerMailType } from '../../../db/ServerMail';
import { ActivityModelType } from '../../../db/Activity';
import { GUILD_ACTIVITY_TYPE, LADDER_STATUS } from '../../../consts';
import { setApiIsClose } from '../../../services/chatService';
export default function (app: Application) {
return new SystimerRemote(app);
@@ -216,4 +217,12 @@ export class SystimerRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async setApiIsClose(isClose: boolean) {
try {
setApiIsClose(isClose);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}