import { InjectQueue } from "@nestjs/bullmq"; import { Injectable } from "@nestjs/common"; import EventBus from "@server/utils/event-bus"; import { Queue } from "bullmq"; import { ObjectType } from "@nice/common"; import { QueueJobType } from "../types"; @Injectable() export class PostProcessService { constructor( @InjectQueue('general') private generalQueue: Queue ) { } private generateJobId(type: ObjectType, data: any): string { // 根据类型和相关ID生成唯一的job标识 switch (type) { case ObjectType.ENROLLMENT: return `stats_${type}_${data.courseId}`; case ObjectType.LECTURE: return `stats_${type}_${data.courseId}_${data.sectionId}`; case ObjectType.POST: return `stats_${type}_${data.courseId}`; default: return `stats_${type}_${Date.now()}`; } } }