任务:完成每日刷新

This commit is contained in:
luying
2021-04-20 17:52:34 +08:00
parent ced80d9b94
commit 017c0b6bb1
7 changed files with 171 additions and 18 deletions

View File

@@ -16,6 +16,9 @@ export default class UserTask extends BaseModel {
@prop({ required: true, default: 1 })
mainTaskStage: number; // 主线所处在的阶段
@prop({ required: true })
dailyTaskRef: Date; // 每日任务的每周刷新时间
@prop({ required: true, default: 0 })
dailyTaskPoint: number; // 每日任务的累计积分
@@ -75,10 +78,25 @@ export default class UserTask extends BaseModel {
return rec;
}
public static async refreshWeekly(roleId: string) {
let curWeek = getCurWeekDate(1, 5);
let rec: UserTaskType = await UserTaskModel.findOneAndUpdate({ roleId, dailyTaskRefWeekly: { $lt: curWeek } }, {
$set: { dailyTaskRefWeekly: curWeek, dailyTaskPointWeekly: 0, dailyTaskBox: [] }
}, { new: true }).lean();
return rec;
}
public static async pushAchievementBox(roleId: string, id: number) {
let rec = await UserTaskModel.findOneAndUpdate({ roleId }, { $push: { achievementBox: id } }, { new: true }).lean();
return rec;
}
public static async setRefDaily(roleId: string) {
let rec: UserTaskType = await UserTaskModel.findOneAndUpdate({ roleId }, {
$set: { dailyTaskRef: new Date() }
}, { new: true }).lean();
return rec;
}
}
export const UserTaskModel = getModelForClass(UserTask);