core: remove useless difficulty calculation

pull/271/head
undefined 3 years ago
parent 073eaffbd3
commit b2ad3d2971

@ -1,6 +1,5 @@
import { ObjectID } from 'mongodb'; import { ObjectID } from 'mongodb';
import { JudgeResultBody, RecordDoc, TestCase } from '../interface'; import { JudgeResultBody, RecordDoc, TestCase } from '../interface';
import difficultyAlgorithm from '../lib/difficulty';
import { Logger } from '../logger'; import { Logger } from '../logger';
import * as builtin from '../model/builtin'; import * as builtin from '../model/builtin';
import * as contest from '../model/contest'; import * as contest from '../model/contest';
@ -34,9 +33,7 @@ export async function postJudge(rdoc: RecordDoc) {
? await problem.inc(rdoc.domainId, rdoc.pid, 'nAccept', 1) ? await problem.inc(rdoc.domainId, rdoc.pid, 'nAccept', 1)
: await problem.get(rdoc.domainId, rdoc.pid); : await problem.get(rdoc.domainId, rdoc.pid);
if (pdoc) { if (pdoc) {
const difficulty = difficultyAlgorithm(pdoc.nSubmit, pdoc.nAccept);
await Promise.all([ await Promise.all([
problem.edit(pdoc.domainId, pdoc.docId, { difficulty }),
problem.inc(pdoc.domainId, pdoc.docId, `stats.${builtin.STATUS_SHORT_TEXTS[rdoc.status]}`, 1), problem.inc(pdoc.domainId, pdoc.docId, `stats.${builtin.STATUS_SHORT_TEXTS[rdoc.status]}`, 1),
problem.inc(pdoc.domainId, pdoc.docId, `stats.s${rdoc.score}`, 1), problem.inc(pdoc.domainId, pdoc.docId, `stats.s${rdoc.score}`, 1),
]); ]);

@ -14,7 +14,6 @@ import {
ProblemConfig, ProblemConfig,
ProblemDoc, ProblemStatusDoc, Tdoc, User, ProblemDoc, ProblemStatusDoc, Tdoc, User,
} from '../interface'; } from '../interface';
import difficultyAlgorithm from '../lib/difficulty';
import paginate from '../lib/paginate'; import paginate from '../lib/paginate';
import { isPid, parsePid as convertPid } from '../lib/validator'; import { isPid, parsePid as convertPid } from '../lib/validator';
import { PERM, PRIV } from '../model/builtin'; import { PERM, PRIV } from '../model/builtin';

@ -8,7 +8,6 @@ import { ProblemNotFoundError, ValidationError } from '../error';
import type { import type {
Document, ProblemDict, ProblemStatusDoc, Document, ProblemDict, ProblemStatusDoc,
} from '../interface'; } from '../interface';
import difficultyAlgorithm from '../lib/difficulty';
import { parseConfig } from '../lib/testdataConfig'; import { parseConfig } from '../lib/testdataConfig';
import * as bus from '../service/bus'; import * as bus from '../service/bus';
import { import {

@ -9,7 +9,6 @@ import { GridFSBucket, ObjectID } from 'mongodb';
import Queue from 'p-queue'; import Queue from 'p-queue';
import { convertIniConfig } from '@hydrooj/utils/lib/cases'; import { convertIniConfig } from '@hydrooj/utils/lib/cases';
import { buildContent } from './lib/content'; import { buildContent } from './lib/content';
import difficultyAlgorithm from './lib/difficulty';
import { size } from './lib/misc'; import { size } from './lib/misc';
import { Logger } from './logger'; import { Logger } from './logger';
import { PRIV, STATUS } from './model/builtin'; import { PRIV, STATUS } from './model/builtin';
@ -199,11 +198,6 @@ const scripts: UpgradeScript[] = [
}, },
// Update problem difficulty // Update problem difficulty
async function _12_13() { async function _12_13() {
const _FRESH_INSTALL_IGNORE = 1;
await iterateAllProblem(['nSubmit', 'nAccept'], async (pdoc) => {
const difficulty = difficultyAlgorithm(pdoc.nSubmit, pdoc.nAccept);
await problem.edit(pdoc.domainId, pdoc.docId, { difficulty });
});
return true; return true;
}, },
// Set domain owner perm // Set domain owner perm

Loading…
Cancel
Save