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