拍卖行:修复获取排品缺少演武的问题

This commit is contained in:
luying
2021-05-06 15:25:10 +08:00
parent f5654c402f
commit 2ef00e8179
6 changed files with 44 additions and 11 deletions
+13 -1
View File
@@ -1,6 +1,7 @@
import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
import { nowSeconds } from '../pubUtils/timeUtil';
import { genCode } from '../pubUtils/util';
class Rank {
@prop({ required: true })
@@ -9,10 +10,15 @@ class Rank {
score: number;
@prop({ required: true })
time: number;
@prop({ required: true })
job: number;
}
@index({ guildCode: 1 })
export default class BossInstance extends BaseModel {
@prop({ required: true })
code: string; // 这个boss本的唯一值
@prop({ required: true })
guildCode: string;
@@ -61,7 +67,8 @@ export default class BossInstance extends BaseModel {
}
public static async openBossInstance(guildCode: string, bossHp: number, warId: number, bossLv: number, lean = true) {
const bossInstance: BossInstanceType = await BossInstanceModel.findOneAndUpdate({ guildCode },{ranks:[], time: nowSeconds(), bossHp, bossLv, warId, $inc: { num: 1 }}, {new: true, upsert: true}).lean(lean);
let code = genCode(10);
const bossInstance: BossInstanceType = await BossInstanceModel.findOneAndUpdate({ guildCode },{ $setOnInsert: { code }, ranks:[], time: nowSeconds(), bossHp, bossLv, warId, $inc: { num: 1 }}, {new: true, upsert: true}).lean(lean);
return bossInstance;
}
//记录玩家boss通关后首次查看boss关卡
@@ -100,6 +107,11 @@ export default class BossInstance extends BaseModel {
{ $pull:{ ranks: { roleId } }}, {new: true}).lean(lean);
return guildTrain;
}
public static async findBySourceCode(guildCode: string, sourceCode: string) {
const rec = await BossInstanceModel.findOne({ guildCode, code: sourceCode }).select('ranks').lean();
return rec;
}
}
export const BossInstanceModel = getModelForClass(BossInstance);