mirror of
https://github.com/massbug/judge4c.git
synced 2025-07-04 07:40:51 +00:00
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
|
import { PrismaClient, Status } from "@/generated/client";
|
||
|
const prisma = new PrismaClient();
|
||
|
|
||
|
async function fillTestcaseResults() {
|
||
|
const submissions = await prisma.submission.findMany();
|
||
|
let count = 0;
|
||
|
for (const submission of submissions) {
|
||
|
const testcases = await prisma.testcase.findMany({
|
||
|
where: { problemId: submission.problemId },
|
||
|
});
|
||
|
for (const testcase of testcases) {
|
||
|
// 检查是否已存在,避免重复
|
||
|
const exists = await prisma.testcaseResult.findFirst({
|
||
|
where: {
|
||
|
submissionId: submission.id,
|
||
|
testcaseId: testcase.id,
|
||
|
},
|
||
|
});
|
||
|
if (!exists) {
|
||
|
await prisma.testcaseResult.create({
|
||
|
data: {
|
||
|
isCorrect: submission.status === Status.AC,
|
||
|
output: submission.status === Status.AC ? "正确答案" : "错误答案",
|
||
|
timeUsage: Math.floor(Math.random() * 1000) + 1,
|
||
|
memoryUsage: Math.floor(Math.random() * 128) + 1,
|
||
|
submissionId: submission.id,
|
||
|
testcaseId: testcase.id,
|
||
|
},
|
||
|
});
|
||
|
count++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
console.log(`已为 ${count} 个提交生成测试用例结果`);
|
||
|
}
|
||
|
|
||
|
fillTestcaseResults().finally(() => prisma.$disconnect());
|