优化task的加载

This commit is contained in:
CounterFire2023 2024-04-25 12:47:18 +08:00
parent c6e18b63c3
commit efe3592fdc

View File

@ -6,15 +6,12 @@ import { join } from 'path'
import { formatDate } from 'utils/utcdate.util'
import { GeneralScription } from 'models/chain/GeneralScription'
import { BASE_TASK_TICKET } from 'common/Constants'
import { BASE_TASK_REWARD, SIGN_SEQ, TicketRecord } from 'models/TicketRecord'
import { BASE_TASK_REWARD, TicketRecord } from 'models/TicketRecord'
import { ActivityGame } from 'models/ActivityGame'
import { formatNumShow } from 'common/Utils'
import { fetchClaimStatus } from 'services/chain.svr'
import logger from 'logger/logger'
const fs = require('fs')
const prod = process.env.NODE_ENV === 'production'
const initTasks = () => {
const tasks = join(__dirname, '../tasks')
const list = new Map()
@ -22,11 +19,7 @@ const initTasks = () => {
.filter((file: string) => ~file.search(/^[^.].*\.(ts|js)$/))
.forEach((file: any) => {
const Task = require('../tasks/' + file)
list.set(Task.default.name, {
name: Task.default.name,
desc: Task.default.desc,
show: Task.default.show,
})
list.set(Task.default.name, Task)
})
return list
}
@ -166,8 +159,11 @@ export default class TasksController extends BaseController {
if (currentTask.status === TaskStatusEnum.NOT_START) {
throw new ZError(11, 'task not begin')
}
if (!allTasks.has(currentTask.task)) {
throw new ZError(14, 'task not found')
}
if (currentTask.status === TaskStatusEnum.RUNNING || currentTask.status === TaskStatusEnum.PART_SUCCESS) {
let Task = require('../tasks/' + currentTask.task)
const Task = allTasks.get(currentTask.task)
let taskInstance = new Task.default({ user, activity })
await taskInstance.execute({ task: currentTask })
}
@ -202,6 +198,9 @@ export default class TasksController extends BaseController {
if (currentTask.status !== TaskStatusEnum.SUCCESS && currentTask.status !== TaskStatusEnum.PART_SUCCESS) {
throw new ZError(13, 'task not end')
}
if (!allTasks.has(currentTask.task)) {
throw new ZError(14, 'task not found')
}
if (cfg.checkChain) {
const chainRecord = await GeneralScription.findOne({
from: user.address.toLowerCase(),
@ -217,7 +216,7 @@ export default class TasksController extends BaseController {
// }
}
const Task = require('../tasks/' + currentTask.task)
const Task = allTasks.get(currentTask.task)
const taskInstance = new Task.default({ user, activity })
const { score } = await taskInstance.claimReward(currentTask)
const baseTaskSet = new Set(activity.baseTasks)