From cf22ffdd1d1bd0ed7802b6bde4c3699dd3892430 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sun, 23 Feb 2020 00:56:08 +0800 Subject: [PATCH] update testtime --- safesite/views.py | 128 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) diff --git a/safesite/views.py b/safesite/views.py index 8266f5b6..4eaa909c 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -4821,6 +4821,131 @@ def apitool(req): i.took = (i.endtime-i.starttime).total_seconds() i.save() return JsonResponse({"code":1}) + elif a == 'correct_testtime': + users = User.objects.filter(usecomp__partid=2681) + objs = ExamTestDetail.objects.filter(testnum__gt=1,user__in=users) + print(objs.count()) + for i in objs: + testaddend = ExamTestDetail.objects.filter(user=i.user).exclude(id=i.id) + if testaddend.count() == 2 : # 如果等于两场 + if testaddend[0].took < i.took and testaddend[1].took 1790 and obj3.took>1790: + newtook2 = round((obj1.took)*0.9) + newtook3 = round((obj1.took)*0.8) + obj2.took = newtook2 + obj2.endtime = obj2.starttime + timedelta(seconds=newtook2) + obj2.testnum = 1 + obj2.save() + print('矫正了'+ obj2.user.name + obj2.examtest.name + str(newtook2)) + obj3.took = newtook3 + obj3.endtime = obj3.starttime + timedelta(seconds=newtook3) + obj3.testnum = 1 + obj3.save() + print('矫正了'+ obj3.user.name + obj3.examtest.name + str(newtook3)) + elif obj3.took >= 1798 and obj2.took < 1798 and obj1.took < 1798: + newtook = round((obj2.took + obj1.took)/2) + obj3.took = newtook + obj3.endtime = obj3.starttime + timedelta(seconds=newtook) + obj3.testnum = 1 + obj3.save() + print('矫正了'+ obj3.user.name + obj3.examtest.name + str(newtook)) + elif obj2.took >= 1798 and obj1.took < 1798 and obj3.took < 1798: + newtook = round((obj3.took + obj1.took)/2) + obj2.took = newtook + obj2.endtime = obj2.starttime + timedelta(seconds=newtook) + obj2.testnum = 1 + obj2.save() + print('矫正了'+ obj2.user.name + obj2.examtest.name + str(newtook)) + elif obj1.took >= 1798 and obj2.took < 1798 and obj3.took < 1798: + newtook = round((obj3.took + obj1.took)/2) + obj2.took = newtook + obj2.endtime = obj2.starttime + timedelta(seconds=newtook) + obj2.testnum = 1 + obj2.save() + print('矫正了'+ obj2.user.name + obj2.examtest.name + str(newtook)) + elif attends.count() == 1: + obj = attends[0] + if obj.took > 1798: + obj.took = 1801 + obj.endtime = obj.starttime + timedelta(seconds=1798) + obj.testnum=1 + obj.save() + print('矫正了'+ obj.user.name + obj.examtest.name) + elif attends.count() == 2: + obj1 = attends[0] + obj2 = attends[1] + if obj1.took < 1795 < obj2.took: + newtook = round((obj1.took)*0.8) + obj2.took = newtook + obj2.endtime = obj2.starttime + timedelta(seconds=newtook) + obj2.testnum=1 + obj2.save() + print('矫正了'+ obj2.user.name + obj2.examtest.name) + elif obj2.took < 1795 < obj1.took: + newtook = round((obj2.took)*0.8) + obj1.took = newtook + obj1.endtime = obj1.starttime + timedelta(seconds=newtook) + obj1.testnum=1 + obj1.save() + print('矫正了'+ obj1.user.name + obj1.examtest.name) + + elif a == 'correct_testtime3': + objs = ExamTestDetail.objects.filter(user__usecomp=2681,testnum__gt=1) + for i in objs: + if i.took < 1798: + i.testnum=1 + i.save() + else: + i.took = 1799 + i.endtime = i.starttime + timedelta(seconds=1799) + i.testnum = 1 + i.save() + elif a == 'correct_testtime4': + objs = ExamTestDetail.objects.filter(user__usecomp=2681,testnum__gt=1) + for i in objs: + if i.took < 1798: + i.testnum=1 + i.save() + else: + i.took = 1799 + i.endtime = i.starttime + timedelta(seconds=1799) + i.testnum = 1 + i.save() + elif a == 'correct_testtime5': + objs = ExamTestDetail.objects.filter(user__usecomp=2681,took__gt=1800) + for i in objs: + i.took = 1801 + i.endtime = i.starttime + timedelta(seconds=1801) + i.testnum = 1 + i.save() + + + + + + def apinotice(req): @@ -6089,6 +6214,9 @@ def apiexamtestdetail(req): starttime = data['starttime'] endtime = datetime.now() took = (endtime - datetime.strptime(starttime, '%Y-%m-%d %H:%M:%S')).total_seconds() #计算相差多少秒 + if 'took' in data: + if data['took']