47 lines
1.8 KiB
TypeScript
47 lines
1.8 KiB
TypeScript
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<DocumentType<Activity_Task_Point>, keyof Activity_Task_Point> { }
|
||
export type ActivityTaskPointModelTypeParam = Partial<ActivityTaskPointModelType>; // 将所有字段变成可选项
|