diff --git a/game-server/app/servers/guild/handler/cityActivityHandler.ts b/game-server/app/servers/guild/handler/cityActivityHandler.ts index f8a3e9770..64aff6a66 100644 --- a/game-server/app/servers/guild/handler/cityActivityHandler.ts +++ b/game-server/app/servers/guild/handler/cityActivityHandler.ts @@ -54,7 +54,7 @@ export class CityActivityHandler { } const dbCities = await GuildActivityCityModel.getAllCities(serverId, declareIndex); let cities = getCities(guildCode, dbCities); - let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, this.aid, index); + let guildActivityRec = await GuildActivityRecordModel.findByGuild(guildCode, this.aid, index); let ranks = await getCityActivityRank(guildCode, serverId, guildActivityRec?.challengeCityId, roleId, roleName); return resResult(STATUS.SUCCESS, { @@ -85,7 +85,7 @@ export class CityActivityHandler { let obj = getCityActivityObj(); let {gateHp, maxHp} = await obj.getGateHpAndInc(serverId, cityId); - let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, this.aid, index); + let guildActivityRec = await GuildActivityRecordModel.findByGuild(guildCode, this.aid, index); if (!guildActivityRec) return resResult(STATUS.WRONG_PARMS); let myGuildActivityRec = await UserGuildActivityRecModel.findByRoleId(roleId, guildActivityRec.code); @@ -222,7 +222,7 @@ export class CityActivityHandler { if (!guildCode) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH); - let guildActivityRec = await GuildActivityRecordModel.getRecord(guildCode, serverId, this.aid, index); + let guildActivityRec = await GuildActivityRecordModel.findByGuild(guildCode, this.aid, index); if (!guildActivityRec) return resResult(STATUS.WRONG_PARMS); let { code: sourceCode } = guildActivityRec; diff --git a/game-server/app/services/guildActivity/guildActivityService.ts b/game-server/app/services/guildActivity/guildActivityService.ts index 1052f3c9d..31c003301 100644 --- a/game-server/app/services/guildActivity/guildActivityService.ts +++ b/game-server/app/services/guildActivity/guildActivityService.ts @@ -780,6 +780,7 @@ export async function declareCity(serverId: number, roleId: string, guildCode: s let declareInfo = await GuildActivityCityDeclareModel.declareIfNot(serverId, guildCode, cityId, roleId, declareTime, isAutoDeclare, declareIndex); if(!!declareInfo && declareInfo.declareTime == declareTime) { // 确实没有人宣战过,自己是第一个 let cityRec = await GuildActivityCityModel.declare(serverId, cityId, guildCode, declareIndex); + await GuildActivityRecordModel.updateInfo(guildCode, GUILD_ACTIVITY_TYPE.CITY_ACTIVITY, declareIndex, {}, cityId); await sendGuildCityDeclare(serverId, cityId, guildCode, cityRec.declareCount); return true; } diff --git a/shared/db/GuildActivityRec.ts b/shared/db/GuildActivityRec.ts index 7d645e505..b7406ab22 100644 --- a/shared/db/GuildActivityRec.ts +++ b/shared/db/GuildActivityRec.ts @@ -93,6 +93,11 @@ export default class GuildActivityRecord extends BaseModel { return rec; } } + + public static async findByGuild(guildCode: string, aid: number, index: number) { + let rec: GuildActivityRecordType = await GuildActivityRecordModel.findOne({aid, guildCode, index, status: 1}).lean(); + return rec; + } public static async updateInfo(guildCode: string, aid: number, index: number, update: GuildActivityRecordUpdateParam, challengeCityId?: number) { if(challengeCityId) {