|
@@ -314,11 +314,10 @@ public class InspectedController extends BaseExamController {
|
|
|
ExamStudent student = studentService.findById(studentId);
|
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
|
if (student != null && student.getSubjectiveStatus().equals(SubjectiveStatus.MARKED)) {
|
|
|
- if (subjectCheck(student.getSubjectCode(), wu)) {
|
|
|
+ if (subjectCheck(student.getSubjectCode(), wu) && lockService.trylock(LockType.STUDENT, student.getId())) {
|
|
|
try {
|
|
|
lockService.watch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
lockService.watch(LockType.GROUP, student.getExamId(), student.getSubjectCode(), groupNumber);
|
|
|
- lockService.waitlock(LockType.STUDENT, student.getId());
|
|
|
if (markService.backStudentByGroup(student, groupNumber, wu.getId())) {
|
|
|
obj.accumulate("success", true);
|
|
|
} else {
|
|
@@ -330,13 +329,13 @@ public class InspectedController extends BaseExamController {
|
|
|
obj.accumulate("message", "打回失败");
|
|
|
log.error("back inspected error", e);
|
|
|
} finally {
|
|
|
- lockService.unlock(LockType.STUDENT, student.getId());
|
|
|
lockService.unwatch(LockType.GROUP, student.getExamId(), student.getSubjectCode(), groupNumber);
|
|
|
lockService.unwatch(LockType.EXAM_SUBJECT, student.getExamId(), student.getSubjectCode());
|
|
|
+ lockService.unlock(LockType.STUDENT, student.getId());
|
|
|
}
|
|
|
} else {
|
|
|
obj.accumulate("success", false);
|
|
|
- obj.accumulate("message", "没有操作该评卷任务的权限");
|
|
|
+ obj.accumulate("message", "无法打回");
|
|
|
}
|
|
|
} else {
|
|
|
obj.accumulate("success", false);
|