Files
ZYZ/shared/db/ServerTemp.ts
2021-06-30 19:58:11 +08:00

64 lines
2.4 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; // 寻宝骑兵-周期数
@prop({ required: true })
getuiToken: string; // 个推token
@prop({ required: true })
getuiTokenExpireTime: number; // 个推token过期时间
//更新寻宝猎人活动数据
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;
}
//更新个推token数据
public static async updateGetuiData(getuiToken: string, getuiTokenExpireTime: number) {
let result: ServerTempModelType = await ServerTempModel.findOneAndUpdate({ serverId: 0 },
{ $set: { getuiToken, getuiTokenExpireTime } }, { upsert: true, new: true }).lean(true);
return result;
}
//查询个推token数据
public static async findGetuiData() {
let result: ServerTempModelType = await ServerTempModel.findOne({ serverId: 0 }).lean(true);
return result;
}
}
export const ServerTempModel = getModelForClass(ServerTemp);
export interface ServerTempModelType extends Pick<DocumentType<ServerTemp>, keyof ServerTemp> { }
export type ServerTempModelTypeParam = Partial<ServerTempModelType>; // 将所有字段变成可选项