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