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, keyof ServerTemp> { } export type ServerTempModelTypeParam = Partial; // 将所有字段变成可选项