import { COUNTER } from '../consts/consts'; import { CounterModel } from './Counter'; import BaseModel from './BaseModel'; import { index, getModelForClass, prop } from '@typegoose/typegoose'; import { timeStamp } from 'console'; import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses'; @index({ roleId: 1, hid: 1, eid: 1 }) @index({ seqId: 1 }) export default class BattleRecord extends BaseModel { @prop({ required: true }) roleId: string; // 角色 id @prop({ required: true }) roleName: string; // 角色名称 @prop({ required: true }) battleId: number; // 关卡 id @prop({ required: true }) status: number; // 关卡状态 0-挑战中 1-挑战成功 2-挑战失败 @prop({ required: true }) count: number; // 挑战次数 @prop({ required: true }) successCount: number; // 成功次数 @prop({ required: true }) failCount: number; // 失败次数 @prop({ required: true }) record: object; // 失败次数 public static async updateBattleRecordByRole( roleId: string, battleId: number, params: object, lean = true) { const result = await BattleRecordModel.findOneAndUpdate({roleId, battleId}, params, {new: true, upsert: true}).lean(lean); return result; } public static async getBattleRecordByRole(roleId: string, battleId: number, lean = true) { const result = await BattleRecordModel.findOne({roleId, battleId}).lean(lean); return result; } } export const BattleRecordModel = getModelForClass(BattleRecord);