拍卖行:修复获取排品缺少演武的问题
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user