|
@@ -324,28 +324,22 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 释放某个评卷员已领取的正评任务
|
|
|
+ * 释放某个评卷员已完成的评卷任务
|
|
|
*
|
|
|
- * @param library - 正评任务
|
|
|
- * @param marker - 评卷员
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void releaseLibrary(MarkLibrary library, Marker marker) {
|
|
|
- TaskLock taskLock = TaskLockUtil.getFormalTask(getGroupKey(marker));
|
|
|
- taskLock.remove(getApplyTaskId(library), library.getTaskNumber(), marker.getId());
|
|
|
- taskLock.refresh(marker.getId());
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 释放某个评卷员已领取的试评任务
|
|
|
- *
|
|
|
- * @param library - 试评任务
|
|
|
- * @param marker - 评卷员
|
|
|
+ * @param result - 评卷结果
|
|
|
+ * @param marker - 评卷员
|
|
|
*/
|
|
|
@Override
|
|
|
- public void releaseLibrary(TrialLibrary library, Marker marker) {
|
|
|
- TaskLock taskLock = TaskLockUtil.getTrialTask(getGroupKey(marker));
|
|
|
- taskLock.remove(getApplyTaskId(library, marker), 1, marker.getId());
|
|
|
+ public void releaseTask(SubmitResult result, Marker marker) {
|
|
|
+ if (result.getMarkLibrary() != null) {
|
|
|
+ TaskLock taskLock = TaskLockUtil.getFormalTask(getGroupKey(marker));
|
|
|
+ taskLock.remove(getApplyTaskId(result.getMarkLibrary()), result.getMarkLibrary().getTaskNumber(),
|
|
|
+ marker.getId());
|
|
|
+ taskLock.refresh(marker.getId());
|
|
|
+ } else if (result.getTrialLibrary() != null) {
|
|
|
+ TaskLock taskLock = TaskLockUtil.getTrialTask(getGroupKey(marker));
|
|
|
+ taskLock.remove(getApplyTaskId(result.getTrialLibrary(), marker), 1, marker.getId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -455,12 +449,12 @@ public class MarkServiceImpl implements MarkService {
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean submitTask(MarkResult result, Marker marker) {
|
|
|
+ public SubmitResult submitTask(MarkResult result, Marker marker) {
|
|
|
// 判断评卷分组是否存在/评卷是否结束
|
|
|
MarkGroup group = groupDao.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
|
|
|
if (group == null || group.getStatus() == MarkStatus.FINISH || group.getStatus().getValue() != result
|
|
|
.getStatusValue()) {
|
|
|
- return false;
|
|
|
+ return SubmitResult.faile();
|
|
|
}
|
|
|
|
|
|
// 根据评卷状态选择读取不同的评卷任务
|
|
@@ -473,8 +467,8 @@ public class MarkServiceImpl implements MarkService {
|
|
|
result.getSpent(), LibraryStatus.WAITING, LibraryStatus.MARKED, LibraryStatus.INSPECTED) != 0) {
|
|
|
saveProblemHistory(result, library);
|
|
|
updateMarkedCount(group);
|
|
|
- releaseLibrary(library, marker);
|
|
|
- return true;
|
|
|
+ //releaseLibrary(library, marker);
|
|
|
+ return SubmitResult.success(library);
|
|
|
}
|
|
|
}
|
|
|
if (library != null && library.getExamId().equals(group.getExamId()) && library.getSubjectCode()
|
|
@@ -483,8 +477,8 @@ public class MarkServiceImpl implements MarkService {
|
|
|
.isNotBlank(result.getScoreList())) {
|
|
|
if (submitLibrary(library, marker, group, result)) {
|
|
|
updateMarkedCount(group);
|
|
|
- releaseLibrary(library, marker);
|
|
|
- return true;
|
|
|
+ //releaseLibrary(library, marker);
|
|
|
+ return SubmitResult.success(library);
|
|
|
}
|
|
|
}
|
|
|
} else if (group.getStatus() == MarkStatus.TRIAL) {
|
|
@@ -515,12 +509,12 @@ public class MarkServiceImpl implements MarkService {
|
|
|
trialTagDao.save(result.getTagList(history));
|
|
|
}
|
|
|
updateMarkedCount(group);
|
|
|
- releaseLibrary(library, marker);
|
|
|
- return true;
|
|
|
+ //releaseLibrary(library, marker);
|
|
|
+ return SubmitResult.success(library);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return false;
|
|
|
+ return SubmitResult.faile();
|
|
|
}
|
|
|
|
|
|
private void saveProblemHistory(MarkResult result, MarkLibrary library) {
|