🐞 fix(寻宝): 寻宝有时有问题

This commit is contained in:
luying
2022-11-03 15:55:00 +08:00
parent 76f35af7f8
commit 7f07a8bd0e
2 changed files with 8 additions and 11 deletions

View File

@@ -400,13 +400,13 @@ export async function dismissTeam(teamStatus: MemComBtlTeam, teamMap: Map<string
}
export function setDismissTimer(teamStatus: MemComBtlTeam, teamMap: Map<string, MemComBtlTeam>, roleId: string, teamDisTimer: Map<string, NodeJS.Timer>) {
if (teamIsFullToStart(teamStatus)) {
// if (teamIsFullToStart(teamStatus)) {
clearComBtlTimer(teamStatus.teamCode, teamDisTimer);
let timer = setTimeout(async () => {
await dismissTeam(teamStatus, teamMap, roleId, teamDisTimer);
}, COM_BTL_CONST.CAP_START_TIME);
teamDisTimer.set(teamStatus.teamCode, timer);
}
// }
}
/**
@@ -688,15 +688,7 @@ export async function oneTeamNotInBlack(teams: ComBattleTeamType[], roleId: stri
// }
export async function checkHasMyTeam(roleId: string) {
let battles = pinus.app.getServersByType('battle');
let hasMyTeam = false;
for(let server of battles) {
let checkResult = await pinus.app.rpc.battle.comBattleRemote.checkMyTeam.toServer(server.id, roleId);
if(checkResult) {
hasMyTeam = true; break;
}
}
return hasMyTeam;
return await ComBattleTeamModel.checkHasTeamByRoleId(roleId);
}
export async function checkTeamStatusAndSend(teamCode: string, roleId: string, sid: string) {

View File

@@ -3,6 +3,7 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos
import { EXTERIOR } from '../pubUtils/dicParam';
import { nowSeconds } from '../pubUtils/timeUtil';
import { RoleUpdate } from './Role';
import { COM_TEAM_STATUS } from '../consts';
export class ComRoleStatusHero {
@prop({ required: true })
@@ -241,6 +242,10 @@ export default class ComBattleTeam extends BaseModel {
return team;
}
public static async checkHasTeamByRoleId(roleId: string) {
return await ComBattleTeamModel.exists({ roleIds: { $in: [roleId] }, status: COM_TEAM_STATUS.FIGHTING });
}
public static async addRole(teamCode: string, roleStatus: RoleStatus, lean = true) {
const team: ComBattleTeamType = await ComBattleTeamModel.findOneAndUpdate({ teamCode, roleCnt: { $lte: 2 } }, {$push: {roleIds: roleStatus.roleId, roleStatus}, $inc: {roleCnt: 1}}, {new: true}).lean(lean);
return team;