优化代码

This commit is contained in:
CounterFire2023 2023-12-21 19:28:37 +08:00
parent bb3e8dabe8
commit a61247d344

View File

@ -2,7 +2,7 @@ import { ZError } from "common/ZError";
import BaseController, { ROLE_ANON } from "common/base.controller";
import { role, router } from "decorators/router";
import { all } from "deepmerge";
import { ActivityInfo } from "models/ActivityInfo";
import { ActivityInfo, TaskCfg } from "models/ActivityInfo";
import { ActivityUser, TaskStatus, TaskStatusEnum } from "models/ActivityUser";
import { join } from 'path'
const fs = require('fs')
@ -66,7 +66,8 @@ const parseCurrentTask = (user: typeof ActivityUser, task: string) => {
const parseNextTask = async (
user: typeof ActivityUser,
activity: typeof ActivityInfo,
task: string) => {
task: string
) => {
let nextTask = findNextTask(user, task);
if (!nextTask) {
return true
@ -95,18 +96,12 @@ export default class TasksController extends BaseController {
await user.save();
}
let visibleTasks = new Set();
for (let task of activity.tasks) {
if (task.show) {
visibleTasks.add(task.id)
activity.tasks.forEach((t:TaskCfg) => {
if (t.show) {
visibleTasks.add(t.id)
}
}
let taskProgress = [];
for (let task of user.taskProgress) {
if (visibleTasks.has(task.id)) {
taskProgress.push(task)
}
}
return taskProgress
})
return user.taskProgress.filter((t: TaskStatus) => visibleTasks.has(t.id));
}