import BaseModel from './BaseModel'; import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; /** * 游戏中的任务完成后,增加的积分点数关联到活动数据 */ @index({ taskId: 1 }) export default class Activity_Task_Point extends BaseModel { // @prop({ required: true }) // serverId: number; // 服Id @prop({ required: true }) taskType: number; // 任务类型TASK_FUN_TYPE 1.主线,2每日,3.成就 @prop({ required: true }) taskId: number; // 任务id @prop({ required: true }) activityId: number; // 关联的活动id @prop({ required: true }) point: number; // 增加点数 //更新活动数据 public static async updateData(taskType: number, taskId: number, activityId: number, point: number) { let result: ActivityTaskPointModelType = await ActivityTaskPointModel.findOneAndUpdate( { taskType, taskId }, { $set: { activityId, point } }, { upsert: true, new: true } ).lean(true); return result; } //查询数据 public static async findData(taskType: number, taskId: number) { let result: ActivityTaskPointModelType = await ActivityTaskPointModel.findOne( { taskType, taskId }).lean(true); return result; } //删除数据 public static async deleteData(taskType: number, taskId: number, activityId: number) { await ActivityTaskPointModel.deleteOne({ taskType, taskId, activityId }); } } export const ActivityTaskPointModel = getModelForClass(Activity_Task_Point); export interface ActivityTaskPointModelType extends Pick, keyof Activity_Task_Point> { } export type ActivityTaskPointModelTypeParam = Partial; // 将所有字段变成可选项