镇念塔调整

This commit is contained in:
luying
2020-11-04 20:12:54 +08:00
parent 4effd85f2a
commit 6020037aa6
17 changed files with 844 additions and 511 deletions

View File

@@ -2,6 +2,19 @@
import BaseModel from './BaseModel';
import { index, getModelForClass, prop } from '@typegoose/typegoose';
class Goods {
@prop({ required: true })
gid: number; // 物品id
@prop({ required: false })
count: number; // 这次挂机没来得及领取的
}
class NotReceivedGoods {
@prop({ required: true })
cnt: number; // 加速的次数
@prop({ required: true, default: [], type: Goods })
goods: Array<Goods>; // 这次挂机没来得及领取的
}
/**
* 挂机记录表
*/
@@ -18,9 +31,25 @@ export default class HangUpSpdUpRec extends BaseModel {
@prop({required: true, default: 1})
lv: number; // 天梯层数
public static async updateRec(roleId, roleName, multi, lv, lean = true ) {
@prop({ required: true, default: [], type: NotReceivedGoods })
notReceivedGoodsList: Array<NotReceivedGoods>
public static async getSpdUpRec(roleId, lv, lean = true ) {
let rec = await HangUpSpdUpRecModel.findOne({roleId, lv}).lean(lean);
return rec;
}
public static async updateRec(roleId, roleName, multi, lv, needReceiveGoods: Array<{gid:number, count: number}>, lean = true ) {
if (multi <= 0) return null;
let rec = await HangUpSpdUpRecModel.findOneAndUpdate({roleId, lv, roleName}, {$inc: {cnt: multi}}, {upsert: true, new: true}).lean(lean);
if(rec && needReceiveGoods.length > 0) {
let {cnt} = rec;
let goods = [{
cnt: cnt,
goods: needReceiveGoods
}];
await HangUpSpdUpRecModel.findOneAndUpdate({roleId, lv, roleName}, {$push: {notReceivedGoodsList: {$each: goods}}}, {upsert: true, new: true}).lean(lean);
}
return rec;
}