diff --git a/game-server/app/servers/battle/handler/comBattleHandler.ts b/game-server/app/servers/battle/handler/comBattleHandler.ts index 99af4a1b1..18c46d7b4 100644 --- a/game-server/app/servers/battle/handler/comBattleHandler.ts +++ b/game-server/app/servers/battle/handler/comBattleHandler.ts @@ -161,6 +161,18 @@ export class ComBattleHandler { return resResult(STATUS.SUCCESS, { teamInfos: teams}); } + async getAssistCnt(msg: {}, session: BackendSession) { + let roleId = session.get('roleId'); + let teams = await ComBattleTeamModel.getTeamByRoleAndTime(roleId, null, new Date(new Date().setHours(0, 0, 0, 0))); + let cnt = [0, 0, 0, 0, 0]; + teams.forEach(team => { + if (team && team.quality) { + cnt[team.quality - 1] += 1; + } + }); + return resResult(STATUS.SUCCESS, {cnt}); + } + async teammateReady(msg: {teamCode: string, heroes: Array}, session: BackendSession) { let roleId = session.get('roleId'); let { teamCode, heroes } = msg; diff --git a/shared/db/ComBattleTeam.ts b/shared/db/ComBattleTeam.ts index c53c96770..45014b91f 100644 --- a/shared/db/ComBattleTeam.ts +++ b/shared/db/ComBattleTeam.ts @@ -138,7 +138,11 @@ export default class ComBattleTeam extends BaseModel { } public static async getTeamByRoleAndTime(roleId: string, quality: number, time: Date, lean = true) { - const teams = await ComBattleTeamModel.find({roleIds: roleId, quality, createdAt: {$gte: time}}).lean(lean); + let query = {roleIds: roleId, createdAt: {$gte: time}}; + if (quality) { + query = Object.assign(query, {quality}); + } + const teams = await ComBattleTeamModel.find(query).lean(lean); return teams; } }