mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-21 08:23:20 +00:00
修复题目ac计数器重复计算的问题
This commit is contained in:
parent
e040f3141c
commit
61fe5675e0
@ -82,5 +82,9 @@ class UserProfile(models.Model):
|
|||||||
self.submission_number += 1
|
self.submission_number += 1
|
||||||
self.save(update_fields=["submission_number"])
|
self.save(update_fields=["submission_number"])
|
||||||
|
|
||||||
|
def minus_accepted_problem_number(self):
|
||||||
|
self.accepted_problem_number -= 1
|
||||||
|
self.save(update_fields=["accepted_problem_number"])
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = "user_profile"
|
db_table = "user_profile"
|
||||||
|
@ -138,6 +138,10 @@ class JudgeDispatcher(object):
|
|||||||
if problems_status["problems"].get(str(problem.id), -1) != 1 and self.submission.result == result["accepted"]:
|
if problems_status["problems"].get(str(problem.id), -1) != 1 and self.submission.result == result["accepted"]:
|
||||||
user.userprofile.add_accepted_problem_number()
|
user.userprofile.add_accepted_problem_number()
|
||||||
|
|
||||||
|
# 之前状态是ac, 现在不是ac了 需要用户ac题目数量计数器-1, 否则上一个逻辑胡重复增加ac计数器
|
||||||
|
if problems_status["problems"].get(str(problem.id), -1) == 1 and self.submission.result != result["accepted"]:
|
||||||
|
user.userprofile.minus_accepted_problem_number()
|
||||||
|
|
||||||
if self.submission.result == result["accepted"]:
|
if self.submission.result == result["accepted"]:
|
||||||
problem.add_ac_number()
|
problem.add_ac_number()
|
||||||
problems_status["problems"][str(problem.id)] = 1
|
problems_status["problems"][str(problem.id)] = 1
|
||||||
|
Loading…
Reference in New Issue
Block a user