|
@@ -49,7 +49,7 @@ public class HandInExamExecutor implements NodeExecuter<Long, ExamRecordData, Lo
|
|
* 执行
|
|
* 执行
|
|
*
|
|
*
|
|
* @param key
|
|
* @param key
|
|
- * @param examRecordData
|
|
|
|
|
|
+ * @param uncertainExamRecordData 不确定的考试记录,数据有可能已变更
|
|
* @param outList
|
|
* @param outList
|
|
* @param removable
|
|
* @param removable
|
|
* @param context
|
|
* @param context
|
|
@@ -57,25 +57,23 @@ public class HandInExamExecutor implements NodeExecuter<Long, ExamRecordData, Lo
|
|
* @author WANGWEI
|
|
* @author WANGWEI
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public void execute(Long key, ExamRecordData examRecordData,
|
|
|
|
|
|
+ public void execute(Long key, ExamRecordData uncertainExamRecordData,
|
|
List<KeyValuePair<Long, ExamRecordData>> outList,
|
|
List<KeyValuePair<Long, ExamRecordData>> outList,
|
|
ObjectHolder<Boolean> removable, TaskContext context) throws Exception {
|
|
ObjectHolder<Boolean> removable, TaskContext context) throws Exception {
|
|
|
|
|
|
- String sequenceLockKey = Constants.EXAM_CONTROL_LOCK_PREFIX + examRecordData.getStudentId();
|
|
|
|
|
|
+ String sequenceLockKey = Constants.EXAM_CONTROL_LOCK_PREFIX + uncertainExamRecordData.getStudentId();
|
|
|
|
|
|
try {
|
|
try {
|
|
|
|
|
|
- this.debugLog("enter executor...", examRecordData.getId());
|
|
|
|
|
|
+ this.debugLog("enter executor...", uncertainExamRecordData.getId());
|
|
|
|
|
|
//添加考试控制全局锁
|
|
//添加考试控制全局锁
|
|
SequenceLockHelper.getLockSimple(sequenceLockKey);
|
|
SequenceLockHelper.getLockSimple(sequenceLockKey);
|
|
|
|
|
|
- this.debugLog("get locker success...", examRecordData.getId());
|
|
|
|
|
|
+ this.debugLog("get locker success...", uncertainExamRecordData.getId());
|
|
|
|
|
|
//获取最新的考试记录状态
|
|
//获取最新的考试记录状态
|
|
- ExamRecordData examRecordDataCache = examRecordDataService.getExamRecordDataCache(examRecordData.getId());
|
|
|
|
-
|
|
|
|
- examRecordData.setExamRecordStatus(examRecordDataCache.getExamRecordStatus());
|
|
|
|
|
|
+ ExamRecordData examRecordData = examRecordDataService.getExamRecordDataCache(uncertainExamRecordData.getId());
|
|
|
|
|
|
//处理正在进行中的考试
|
|
//处理正在进行中的考试
|
|
if (examRecordData.getExamRecordStatus() == ExamRecordStatus.EXAM_ING) {
|
|
if (examRecordData.getExamRecordStatus() == ExamRecordStatus.EXAM_ING) {
|