添加了题目列表每个题目前边状态指示标志:ac /没有/正在进行,因为数据是存在用户表里的所以缓存的时候可以做到与题目数据分开
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
import logging
|
||||
|
||||
import redis
|
||||
import json
|
||||
|
||||
from judge.judger_controller.settings import redis_config
|
||||
from judge.judger.result import result
|
||||
@@ -9,6 +10,7 @@ from submission.models import Submission
|
||||
from problem.models import Problem
|
||||
from contest.models import ContestProblem, Contest, ContestSubmission
|
||||
from account.models import User
|
||||
|
||||
logger = logging.getLogger("app_info")
|
||||
|
||||
|
||||
@@ -35,6 +37,20 @@ class MessageQueue(object):
|
||||
problem.save()
|
||||
except Problem.DoesNotExist:
|
||||
logger.warning("Submission problem does not exist, submission_id: " + submission_id)
|
||||
# 更新该用户的解题状态
|
||||
try:
|
||||
user = User.objects.get(pk=submission.user_id)
|
||||
except User.DoesNotExist:
|
||||
logger.warning("Submission user does not exist, submission_id: " + submission_id)
|
||||
continue
|
||||
if user.problems_status:
|
||||
problems_status = json.loads(user.problems_status)
|
||||
else:
|
||||
problems_status = {}
|
||||
problems_status[str(problem.id)] = 1
|
||||
user.problems_status = json.dumps(problems_status)
|
||||
user.save()
|
||||
|
||||
# 普通题目的话,到这里就结束了
|
||||
continue
|
||||
|
||||
|
||||
Reference in New Issue
Block a user