import BaseModel from './BaseModel'; import { index, getModelForClass, prop } from '@typegoose/typegoose'; /** * 战斗记录接口 */ @index({ roleId: 1, battleId: 1 }) @index({ battleCode: 1 }) export default class BattleRecord extends BaseModel { @prop({ required: true }) roleId: string; // 角色 id @prop({ required: true }) roleName: string; // 角色名称 @prop({ required: true }) battleCode: string; // 关卡记录唯一标识 @prop({ required: true }) battleId: number; // 关卡 id @prop({ required: true }) warName: string; // 关卡 名 @prop({ required: true }) warType: number; // 关卡 类型 @prop({ required: true }) status: number; // 关卡状态 0-挑战中 1-挑战成功 2-挑战失败 @prop({ required: true }) record: { // 使用的武将等记录 heroes: Array ; // 武将id }; public static async getBattleRecordByCode(battleCode: string, lean = true) { const result = await BattleRecordModel.findOne({ battleCode }).lean(lean); return result; } public static async updateBattleRecordByCode( battleCode: string, params: object, lean = true) { const result = await BattleRecordModel.findOneAndUpdate({ battleCode }, params, {new: true, upsert: true}).lean(lean); return result; } } export const BattleRecordModel = getModelForClass(BattleRecord);