From 97287b0fc4eea77cc256cbb5d4e29be003094d2b Mon Sep 17 00:00:00 2001 From: Developer Date: Fri, 15 May 2026 10:02:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=A2=98=E5=BA=93=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E7=BA=A6=E6=9D=9F=E6=A3=80=E6=9F=A5=20+=20?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=94=99=E8=AF=AF=E6=B6=88=E6=81=AF=E9=80=8F?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/src/assessment/services/question-bank.service.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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);