Files
ZYZ/shared/db/ServerTemp.ts
2021-05-25 21:38:23 +08:00

45 lines
1.7 KiB
TypeScript

import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
/**
* 数据变量记录
*/
@index({ activityId: 1 })
export default class ServerTemp extends BaseModel {
@prop({ required: true })
serverId: number; // 服Id
@prop({ required: true })
huntActivityId: number; // 寻宝骑兵-活动Id
@prop({ required: true })
huntBeginTime: Date; // 寻宝骑兵-开启时间
@prop({ required: true })
huntEndTime: Date; // 寻宝骑兵-结束时间
@prop({ required: true })
huntRoundIndex: number; // 寻宝骑兵-周期数
//更新寻宝猎人活动数据
public static async updateTreasureHuntData(serverId: number, huntActivityId: number, huntBeginTime: Date, huntEndTime: Date, huntRoundIndex: number) {
let result: ServerTempModelType = await ServerTempModel.findOneAndUpdate({ serverId },
{ $set: { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } }, { upsert: true, new: true }).lean(true);
return result;
}
//查询当前服务器的数据
public static async findData(serverId: number) {
let result: ServerTempModelType = await ServerTempModel.findOne({ serverId }).lean(true);
return result;
}
//删除活动
public static async deleteActivity(serverId: number) {
let result = await ServerTempModel.deleteMany({ serverId });
return result;
}
}
export const ServerTempModel = getModelForClass(ServerTemp);
export interface ServerTempModelType extends Pick<DocumentType<ServerTemp>, keyof ServerTemp> { }
export type ServerTempModelTypeParam = Partial<ServerTempModelType>; // 将所有字段变成可选项