diff --git a/server/src/assessment/services/question-bank.service.ts b/server/src/assessment/services/question-bank.service.ts index 2e72e94..cc41885 100644 --- a/server/src/assessment/services/question-bank.service.ts +++ b/server/src/assessment/services/question-bank.service.ts @@ -90,6 +90,12 @@ export class QuestionBankService { if (!createDto.name || !createDto.name.trim()) { throw new BadRequestException('Question bank name is required'); } + if (createDto.templateId) { + const existing = await this.bankRepository.findOne({ where: { templateId: createDto.templateId } }); + if (existing) { + throw new BadRequestException('该模板已关联题库,一个模板只能创建一个题库'); + } + } const bankData: any = { name: createDto.name, description: createDto.description || '', @@ -98,7 +104,7 @@ export class QuestionBankService { status: QuestionBankStatus.DRAFT, }; if (createDto.templateId) { - bankData.template = { id: createDto.templateId }; + bankData.templateId = createDto.templateId; } const bank = this.bankRepository.create(bankData as any); return this.bankRepository.save(bank as unknown as QuestionBank);