镇念塔:一键跳关
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import * as dicParam from '../pubUtils/dicParam';
|
||||
|
||||
class Goods {
|
||||
@prop({ required: true })
|
||||
@@ -38,12 +37,12 @@ export default class HangUpRecord extends BaseModel {
|
||||
@prop({ required: true, default: false })
|
||||
received: boolean; // 是否已经领取,true-领取,false-未领取
|
||||
|
||||
public static async initRecord(roleId: string, roleName: string, lean = true) {
|
||||
public static async initRecord(roleId: string, roleName: string, towerLv: number) {
|
||||
// console.log('****** initRecord before')
|
||||
const curTime = new Date();
|
||||
const recDoc = new HangUpRecordModel();
|
||||
const update = Object.assign(recDoc.toJSON(), {roleId, roleName, startTime: curTime, startLv: dicParam.TOWER_HANG_UP.TOWER_HANG_UP_ENABLE_LV + 1});
|
||||
const rec: HangUpRecordType = await HangUpRecordModel.findOneAndUpdate({roleId, startLv: dicParam.TOWER_HANG_UP.TOWER_HANG_UP_ENABLE_LV + 1}, { $setOnInsert: update }, {upsert: true, new: true}).lean(lean);
|
||||
const update = Object.assign(recDoc.toJSON(), {roleId, roleName, startTime: curTime, towerLv});
|
||||
const rec: HangUpRecordType = await HangUpRecordModel.findOneAndUpdate({roleId, startLv: towerLv}, { $setOnInsert: update }, {upsert: true, new: true}).lean();
|
||||
|
||||
// console.log('****** initRecord after')
|
||||
return rec;
|
||||
|
||||
@@ -21,7 +21,7 @@ export default class TowerRecord extends BaseModel {
|
||||
roleId: string; // 角色 id
|
||||
@prop({ required: true, default: 1 })
|
||||
lv: number; // 天梯层数
|
||||
@prop({ required: true, default: [] })
|
||||
@prop({ required: true, default: [], type: Number })
|
||||
heroes: Array<number>; // 本层已使用武将
|
||||
@prop({ required: true, type: WarStatus, default: [], _id: false })
|
||||
warStatus: Array<WarStatus>;
|
||||
@@ -73,6 +73,13 @@ export default class TowerRecord extends BaseModel {
|
||||
}
|
||||
}
|
||||
|
||||
// 跳过当前层
|
||||
public static async skipTower(roleId: string, curLv: number, heroes: number[]) {
|
||||
let rec: TowerRecordType = await TowerRecordModel.findOneAndUpdate({ roleId, lv: curLv, 'warStatus.status': false }, {
|
||||
$set: { 'warStatus.$.status': true, heroes, passed: true },
|
||||
}, { new: true }).lean()
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async getRecordByLv(roleId: string, lv: number, lean = true) {
|
||||
const rec: TowerRecordType = await TowerRecordModel.findOne({roleId, lv}).lean(lean);
|
||||
|
||||
Reference in New Issue
Block a user