返回 AiToEarn
bullTaskAudit.processor.ts
根目录 / project / aitoearn-electron / server / src / modules / task / bullTaskAudit.processor.ts
1 /*
2 * @Author: nevin
3 * @Date: 2024-07-03 15:16:12
4 * @LastEditTime: 2025-02-10 17:18:50
5 * @LastEditors: nevin
6 * @Description: 任务自动审核队列
7 */
8 import { Processor, WorkerHost } from '@nestjs/bullmq';
9 import { Job } from 'bullmq';
10 import { AdminUserTaskService } from './adminUserTask.service';
11
12 @Processor('bull_aotu_task_audit')
13 export class BullTaskAuditProcessor extends WorkerHost {
14 constructor(readonly adminUserTaskService: AdminUserTaskService) {
15 super();
16 }
17
18 async process(job: Job<{ userTaskId: string }>): Promise<any> {
19 console.log('----进入任务----bullTaskAudit: 自动审核任务开始执行----');
20
21 const userTaskInfo = await this.adminUserTaskService.getUserTaskInfoById(
22 job.data.userTaskId,
23 );
24 if (!userTaskInfo) return;
25
26 const { status, message, retry, data } =
27 await this.adminUserTaskService.autoAuditTask(job.data.userTaskId);
28
29 this.adminUserTaskService.updateUserTaskAutoStatus(job.data.userTaskId, {
30 status,
31 message,
32 });
33
34 if (retry) return job.retry();
35
36 // 根据审核状态确定是否通过
37 if (data) {
38 this.adminUserTaskService.verifyUserTaskApproved(userTaskInfo, {});
39 } else {
40 this.adminUserTaskService.verifyUserTaskRejected(userTaskInfo, {
41 verificationNote: `机器自动审核---${message}`,
42 });
43 }
44 }
45 }
46
46 lines TYPESCRIPT