diff --git a/game-server/app/servers/battle/handler/ladderHandler.ts b/game-server/app/servers/battle/handler/ladderHandler.ts index 2e62c9a0f..76ce19769 100644 --- a/game-server/app/servers/battle/handler/ladderHandler.ts +++ b/game-server/app/servers/battle/handler/ladderHandler.ts @@ -330,4 +330,11 @@ export class LadderHandler { result.setLadderData(ladderData); return resResult(STATUS.SUCCESS, pick(result, ['buyCnt', 'challengeCnt'])); } + + // 12. 获取战报信息 + async getRec(msg: {}, session: BackendSession) { + let roleId = session.get('roleId'); + let list = await LadderMatchRecModel.findRec(roleId); + return resResult(STATUS.SUCCESS, { list }); + } } \ No newline at end of file diff --git a/shared/db/LadderMatchRec.ts b/shared/db/LadderMatchRec.ts index 057235c7d..c957aa593 100644 --- a/shared/db/LadderMatchRec.ts +++ b/shared/db/LadderMatchRec.ts @@ -1,15 +1,10 @@ import BaseModel from './BaseModel'; -import { index, getModelForClass, prop, DocumentType, Ref, mongoose } from '@typegoose/typegoose'; -import Role, { } from './Role'; -import { Defense, Attack, LineupCe, OppPlayer, HeroScore, } from '../domain/battleField/pvp'; -import { CounterModel } from './Counter'; -import { COUNTER, LADDER_STATUS } from '../consts'; -import { EXTERIOR, PVP } from '../pubUtils/dicParam'; +import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; +import { LADDER_STATUS } from '../consts'; import { LadderDefense, LadderOppPlayerInfo, LadderOppPlayerHeroInfo } from '../domain/battleField/ladder'; import { genCode } from '../pubUtils/util'; import { nowSeconds } from '../pubUtils/timeUtil'; - @index({ battleCode: 1 }) export default class LadderMatchRec extends BaseModel { @prop({ required: true }) @@ -93,6 +88,14 @@ export default class LadderMatchRec extends BaseModel { const result: LadderMatchRecType = await LadderMatchRecModel.findOneAndUpdate({ battleCode }, { $set: update }, { new: true }).lean(); return result; } + + public static async findRec(roleId: string) { + let recs: LadderMatchRecType[] = await LadderMatchRecModel.find({ + $or: [{roleId1: roleId}, { roleId2: roleId }], + status: LADDER_STATUS.COMPLETE + }).select({ battleCode: 1, roleId1: 1, roleId2: 1, _id: -1, endTime: 1, attackInfo: 1, defenseInfo: 1 }).limit(1000).lean(); + return recs; + } } export const LadderMatchRecModel = getModelForClass(LadderMatchRec);