镇念塔调整
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user