From 565c5717d513aca6272b31ebf8fabc4d7b51a065 Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 24 Mar 2021 15:29:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=9B=E5=9B=A2=E6=B4=BB=E5=8A=A8=EF=BC=9A?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=9B=AE=E5=A4=B7=E5=85=A5=E4=BE=B5=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E5=90=8E=E5=9F=8E=E9=97=A8=E8=A1=80=E6=9D=A1=E6=81=A2?= =?UTF-8?q?=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/servers/guild/handler/gateActivityHandler.ts | 8 ++++---- game-server/app/services/guildActivityService.ts | 2 ++ game-server/app/services/timeTaskService.ts | 4 ++++ shared/consts/statusCode.ts | 1 + shared/domain/battleField/guildActivity.ts | 2 -- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/game-server/app/servers/guild/handler/gateActivityHandler.ts b/game-server/app/servers/guild/handler/gateActivityHandler.ts index bb5bb850c..15d462673 100644 --- a/game-server/app/servers/guild/handler/gateActivityHandler.ts +++ b/game-server/app/servers/guild/handler/gateActivityHandler.ts @@ -2,8 +2,6 @@ import { Application, BackendSession, ChannelService, pinus } from "pinus"; import { getMedianCe, getGuildActivityStatus, getRecordScore, getGateActivityObj, sendSingleGateActEndMsg, participants, getGateActivityRank, getCityActivityObj } from "../../../services/guildActivityService"; import { resResult } from "../../../pubUtils/util"; import { STATUS, GUILD_ACTIVITY_TYPE, GUILD_POINT_WAYS, ENEMIES_TYPE, GET_POINT_WAYS } from "../../../consts"; -import { GameModel } from "../../../db/Game"; -import { ServerlistModel } from "../../../db/Serverlist"; import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec"; import { GUILDACTIVITY } from "../../../pubUtils/dicParam"; import { GuildActivityRecordModel } from "../../../db/GuildActivityRec"; @@ -17,7 +15,6 @@ import { gameData } from "../../../pubUtils/data"; import { getGuildChannelSid } from "../../../services/chatService"; import { guildActivityStart, gateActivityEnd, cityActivityEnd } from "../../../services/timeTaskService"; import { UserGuildModel } from "../../../db/UserGuild"; -import { GuildActivityCityModel } from "../../../db/GuildActivityCity"; export default function (app: Application) { return new GateActivityHandler(app); @@ -301,7 +298,10 @@ export class GateActivityHandler { async debugStartActivity(msg: { aid: number }, session: BackendSession) { let { aid } = msg; let dic = gameData.guildActivity.get(aid); - await guildActivityStart(dic); + let result = await guildActivityStart(dic); + if(!result) { + return resResult(STATUS.GUILD_ACTIVITY_IS_OPEN) + } let map = new Map(); let guilds = await GuildModel.findAllGuild('serverId code'); diff --git a/game-server/app/services/guildActivityService.ts b/game-server/app/services/guildActivityService.ts index 928ac4f4d..4a14a8d43 100644 --- a/game-server/app/services/guildActivityService.ts +++ b/game-server/app/services/guildActivityService.ts @@ -247,6 +247,7 @@ export async function sendGuildActEndMsg(aid: number) { await gateActivitySettleReward(guildCode, serverId); } } + gateActivityObj = new GateActivityObject(); } else if (aid == GUILD_ACTIVITY_TYPE.CITY_ACTIVITY) { let obj = getCityActivityObj(); let { cities, serverlists} = obj.getAllCities(); @@ -257,6 +258,7 @@ export async function sendGuildActEndMsg(aid: number) { for(let serverId of serverlists) { await autoDeclare(serverId); } + cityActivityObj = new CityActivityObject(); } } diff --git a/game-server/app/services/timeTaskService.ts b/game-server/app/services/timeTaskService.ts index 5ac618066..e45465201 100644 --- a/game-server/app/services/timeTaskService.ts +++ b/game-server/app/services/timeTaskService.ts @@ -373,6 +373,9 @@ export async function guildActivityStart(dicGuildActivity?: DicGuildActivity) { if(!dicGuildActivity) dicGuildActivity = getTodayGuildActivity(); if(!dicGuildActivity) return; + if(guildActSecondsJobId||guildActEndJobId) { + return false + } if(dicGuildActivity.id == GUILD_ACTIVITY_TYPE.GATE_ACTIVITY) { guildActSecondsJobId = scheduleJob('guildActivitySeconds', '*/10 * * * * *', gateActivitySeconds); @@ -385,6 +388,7 @@ export async function guildActivityStart(dicGuildActivity?: DicGuildActivity) { } else if (dicGuildActivity.id == GUILD_ACTIVITY_TYPE.RACE_ACTIVITY) { } + return true; } // 蛮夷入侵 diff --git a/shared/consts/statusCode.ts b/shared/consts/statusCode.ts index d03f3410f..2e767bbed 100644 --- a/shared/consts/statusCode.ts +++ b/shared/consts/statusCode.ts @@ -206,6 +206,7 @@ export const STATUS = { HAS_DECLARED: { code: 21103, simStr: '已宣战过' }, CHALLENGE_TIME_NOT_REACH: { code: 21104, simStr: '挑战冷却中' }, HAS_NOT_DECLARED: { code: 21105, simStr: '军团还未宣战过' }, + GUILD_ACTIVITY_IS_OPEN: { code: 21106, simStr: '活动已开启' }, // 通用 30000 - 30099 DIC_DATA_NOT_FOUND: { code: 30000, simStr: '数据表未找到' }, diff --git a/shared/domain/battleField/guildActivity.ts b/shared/domain/battleField/guildActivity.ts index 7a0b656f8..f5255d2bb 100644 --- a/shared/domain/battleField/guildActivity.ts +++ b/shared/domain/battleField/guildActivity.ts @@ -87,7 +87,6 @@ export class GateActivityObject { let index = guildList.indexOf(guildCode); guildList.splice(index, 1); } - this.gateHp.delete(guildCode); this.members.delete(guildCode); } } @@ -199,7 +198,6 @@ export class CityActivityObject { this.members.delete(guildCode); this.guilds.delete(guildCode); } - this.gateHp.delete(key); this.cities.delete(key); } }