From 585d8aa2e10b7972058c0ae5482f211a0124217e Mon Sep 17 00:00:00 2001 From: undefined Date: Sun, 30 May 2021 23:37:13 +0800 Subject: [PATCH] core: fix broken scoreboard link --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/handler/judge.ts | 9 +++------ packages/hydrooj/src/model/contest.ts | 6 +++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 1a13f48d5..a6bbb6c8c 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.28.12", + "version": "2.28.13", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/handler/judge.ts b/packages/hydrooj/src/handler/judge.ts index a5d12b101..ac94e5ea6 100644 --- a/packages/hydrooj/src/handler/judge.ts +++ b/packages/hydrooj/src/handler/judge.ts @@ -26,12 +26,9 @@ async function _postJudge(rdoc: RecordDoc) { const updated = await problem.updateStatus(rdoc.pdomain, rdoc.pid, rdoc.uid, rdoc._id, rdoc.status, rdoc.score); if (rdoc.contest) { await contest.updateStatus( - rdoc.domainId, rdoc.contest.tid, rdoc.uid, - rdoc._id, rdoc.pid, accept, rdoc.score, rdoc.contest.type, - ); - await contest.updateStatus( - rdoc.domainId, rdoc.contest.tid, rdoc.uid, - rdoc._id, `${rdoc.pdomain}:${rdoc.pid}`, accept, rdoc.score, rdoc.contest.type, + rdoc.domainId, rdoc.contest.tid, rdoc.uid, rdoc._id, + rdoc.domainId === rdoc.pdomain ? rdoc.pid : `${rdoc.pdomain}:${rdoc.pid}`, + accept, rdoc.score, rdoc.contest.type, ); } else if (accept && updated) await domain.incUserInDomain(rdoc.domainId, rdoc.uid, 'nAccept', 1); const pdoc = (accept && updated) diff --git a/packages/hydrooj/src/model/contest.ts b/packages/hydrooj/src/model/contest.ts index d78522b3d..9ceb151cd 100644 --- a/packages/hydrooj/src/model/contest.ts +++ b/packages/hydrooj/src/model/contest.ts @@ -88,7 +88,7 @@ const acm: ContestRule = { columns.push({ type: 'problem_detail', value: '#{0}'.format(i), - raw: pid, + raw: (i + 9).toString(36).toUpperCase(), }); } } @@ -171,7 +171,7 @@ const oi: ContestRule = { columns.push({ type: 'problem_detail', value: '#{0}'.format(i), - raw: tdoc.pids[i - 1], + raw: (i + 9).toString(36).toUpperCase(), }); } } @@ -336,7 +336,7 @@ const homework: ContestRule = { columns.push({ type: 'problem_detail', value: '#{0}'.format(i), - raw: pid, + raw: (i + 9).toString(36).toUpperCase(), }); } }