From d2267413d1569e0a61b05c0651d0081052d3caa7 Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 6 Feb 2023 15:02:06 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(=E5=90=8E=E5=8F=B0):=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9B=B4=E6=96=B0=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/gm/filter/tokenFilter.ts | 2 +- .../app/servers/gm/handler/gmServerHandler.ts | 15 ++++++++++++++- shared/resource/jsons/dic_api.json | 7 +++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/game-server/app/servers/gm/filter/tokenFilter.ts b/game-server/app/servers/gm/filter/tokenFilter.ts index b2ea47015..5255958d7 100644 --- a/game-server/app/servers/gm/filter/tokenFilter.ts +++ b/game-server/app/servers/gm/filter/tokenFilter.ts @@ -41,7 +41,7 @@ Filter.prototype.after = function (err: Error, routeRecord: RouteRecord, msg: an let route = routeRecord.route; let dicApi = gameData.apiByUrl.get(route); - if(dicApi.type != GM_API_TYPE.find) { + if(dicApi && dicApi.type != GM_API_TYPE.find) { GMRecordModel.createRecord(uid, this.app.get('env'), route, JSON.stringify(msg||{}), JSON.stringify(resp||{})); } next(err); diff --git a/game-server/app/servers/gm/handler/gmServerHandler.ts b/game-server/app/servers/gm/handler/gmServerHandler.ts index 9bf601a67..a9dbf1516 100644 --- a/game-server/app/servers/gm/handler/gmServerHandler.ts +++ b/game-server/app/servers/gm/handler/gmServerHandler.ts @@ -1,5 +1,5 @@ import { Application, BackendSession, pinus } from 'pinus'; -import { genCode, getRandSingleEelm, resResult } from '../../../pubUtils/util'; +import { genCode, getRandSingleEelm, isTimestamp, resResult } from '../../../pubUtils/util'; import { STATUS } from '../../../consts/statusCode'; import { UpdateHiddenDataParam, CreatePvpConfigParam, CreateServerParam, UpdateRegionParams } from '../../../domain/backEndField/params'; import { RegionModel, RegionType } from '../../../db/Region'; @@ -14,6 +14,8 @@ import { PVPConfigModel } from '../../../db/PvpConfig'; import { initHiddenDataSchedule } from '../../../services/timeTaskService'; import { HiddenDataByIdModel, HiddenDataByIdModelTypeParam } from '../../../db/HiddenDataById'; import { isDevelopEnv } from '../../../services/utilService'; +import { redisClient } from "../../../services/redisService"; +import { REDIS_KEY } from "../../../consts"; export default function (app: Application) { return new GmHandler(app); @@ -245,4 +247,15 @@ export class GmHandler { await initHiddenDataSchedule(false); return resResult(STATUS.SUCCESS); } + + async setServerOpenTime(msg: { serverId: number, serverOpenTime: number }, session: BackendSession) { + let { serverId, serverOpenTime } = msg; + if(!isTimestamp(serverOpenTime)) return resResult(STATUS.WRONG_PARMS); + let server = await ServerlistModel.findByServerId(serverId); + if(!server) return resResult(STATUS.WRONG_PARMS); + + server = await ServerlistModel.updateByServerId(serverId, { openTime: serverOpenTime }); + await redisClient().hsetAsync(REDIS_KEY.SERVER_OPEN_TIME, `${server.id}`, `${server.openTime}`); + return resResult(STATUS.SUCCESS); + } } \ No newline at end of file diff --git a/shared/resource/jsons/dic_api.json b/shared/resource/jsons/dic_api.json index b277c0f3a..45a35fe5f 100644 --- a/shared/resource/jsons/dic_api.json +++ b/shared/resource/jsons/dic_api.json @@ -936,5 +936,12 @@ "name": "更新GVG时间", "module": "sys", "type": "update" + }, + { + "id": 135, + "api": "gm.gmServerHandler.setServerOpenTime", + "name": "更新服务器开服时间", + "module": "sys", + "type": "update" } ] \ No newline at end of file