寻宝:修改占用藏宝图逻辑
This commit is contained in:
@@ -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 = [];
|
||||
|
||||
@@ -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<number>, status: number, pub = true, limit = 50, lean = true) {
|
||||
const teams = await ComBattleTeamModel.find({blueprtId: {$in: blueprtIds}, status, pub}).limit(limit).lean(lean);
|
||||
return teams;
|
||||
|
||||
Reference in New Issue
Block a user