镇念塔调整

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
+18 -3
View File
@@ -2,6 +2,12 @@ import { HANG_UP_CONSTS } from './../consts/consts';
import BaseModel from './BaseModel';
import { index, getModelForClass, prop } from '@typegoose/typegoose';
class Goods {
@prop({ required: true })
gid: number; // 物品id
@prop({ required: false })
count: number; // 这次挂机没来得及领取的
}
/**
* 挂机记录表
*/
@@ -26,6 +32,9 @@ export default class HangUpRecord extends BaseModel {
@prop({ required: false })
endTime: Date; // 结束挂机的时间
@prop({ required: true, default: [], type: Goods })
notReceivedGoods: Array<Goods>
@prop({ required: true, default: false })
received: boolean; // 是否已经领取,true-领取,false-未领取
@@ -42,11 +51,17 @@ export default class HangUpRecord extends BaseModel {
return rec;
}
public static async updateRec(roleId: string, roleName: string, endLv: number, endTime: Date, lean = true) {
await HangUpRecordModel.findOneAndUpdate({roleId, received: false}, {endLv, endTime, received: true}).lean(lean);
public static async getLastRec(roleId: string, lean = true) {
const rec = await HangUpRecordModel.findOne({roleId, received: true}).sort({endTime: -1}).lean(lean);
return rec;
}
public static async updateRec(roleId: string, roleName: string, endLv: number, endTime: Date, needReceiveGoods: Array<{gid:number, count: number}>, lean = true) {
await HangUpRecordModel.findOneAndUpdate({roleId, received: false}, {endLv, endTime, received: true, notReceivedGoods: needReceiveGoods}).lean(lean);
const recDoc = new HangUpRecordModel();
const update = Object.assign(recDoc.toJSON(), {roleId, roleName, startTime: endTime});
const newRec = await HangUpRecordModel.findOneAndUpdate({roleId, startLv: endLv}, update, {upsert: true, new: true}).lean(lean);
delete update._id;
const newRec = await HangUpRecordModel.findOneAndUpdate({roleId, startLv: endLv, received: false}, update, {upsert: true, new: true}).lean(lean);
return newRec;
}