From 2694d977d20af22bb40cb2ea3f9b693070e67f1b Mon Sep 17 00:00:00 2001 From: liangtongchuan Date: Tue, 8 Dec 2020 23:28:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BB=E5=AE=9D=EF=BC=9A=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8D=A0=E7=94=A8=E8=97=8F=E5=AE=9D=E5=9B=BE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/battle/handler/comBattleHandler.ts | 2 +- shared/db/ComBattleTeam.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/game-server/app/servers/battle/handler/comBattleHandler.ts b/game-server/app/servers/battle/handler/comBattleHandler.ts index 8728f9794..f40122716 100644 --- a/game-server/app/servers/battle/handler/comBattleHandler.ts +++ b/game-server/app/servers/battle/handler/comBattleHandler.ts @@ -100,7 +100,7 @@ export class ComBattleHandler { let blueprt = await ItemModel.findbyRoleAndGidAndCount(roleId, blueprtId, 1); if (!blueprt || blueprt.count < 1) return resResult(STATUS.COM_BATTLE_BLUEPRT_NOT_FOUND); // 检查是否有已创建未结束的寻宝,预先占用一张藏宝图 - let teams = await ComBattleTeamModel.getTeamByCapAndStatus(roleId, COM_TEAM_STATUS.FIGHTING); + let teams = await ComBattleTeamModel.getOccupiedBlueprt(roleId, COM_TEAM_STATUS.FIGHTING, blueprtId); if (teams && blueprt.count <= teams.length) return resResult(STATUS.COM_BATTLE_BLUEPRT_NOT_ENOUGH); let roleStatus = []; diff --git a/shared/db/ComBattleTeam.ts b/shared/db/ComBattleTeam.ts index 05bc6f3ec..1eb2f876f 100644 --- a/shared/db/ComBattleTeam.ts +++ b/shared/db/ComBattleTeam.ts @@ -211,6 +211,11 @@ export default class ComBattleTeam extends BaseModel { return teams; } + public static async getOccupiedBlueprt(roleId: string, status: number, blueprtId: number, lean = true) { + const teams = await ComBattleTeamModel.find({status, capId: roleId, blueprtId}).lean(lean); + return teams; + } + public static async getTeamByBlueprt(blueprtIds: Array, status: number, pub = true, limit = 50, lean = true) { const teams = await ComBattleTeamModel.find({blueprtId: {$in: blueprtIds}, status, pub}).limit(limit).lean(lean); return teams;