|
@@ -11,6 +11,8 @@ import com.qmth.boot.core.fss.store.FileStore;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -30,6 +32,8 @@ import java.util.*;
|
|
@Service
|
|
@Service
|
|
public class ToolExportServiceImpl implements ToolExportService {
|
|
public class ToolExportServiceImpl implements ToolExportService {
|
|
|
|
|
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(ToolExportServiceImpl.class);
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private ConcurrentService concurrentService;
|
|
private ConcurrentService concurrentService;
|
|
|
|
|
|
@@ -58,13 +62,13 @@ public class ToolExportServiceImpl implements ToolExportService {
|
|
private AnswerCardService answerCardService;
|
|
private AnswerCardService answerCardService;
|
|
|
|
|
|
private String getOwSheetUri(Long examId, String subjectCode, String examNumber, Integer paperNumber,
|
|
private String getOwSheetUri(Long examId, String subjectCode, String examNumber, Integer paperNumber,
|
|
- Integer pageIndex) {
|
|
|
|
|
|
+ Integer pageIndex) {
|
|
return String.format("%s/%s/%s/%s/%s/%s-%s.jpg", "sheet", examId, subjectCode, examNumber.substring(0, 4),
|
|
return String.format("%s/%s/%s/%s/%s/%s-%s.jpg", "sheet", examId, subjectCode, examNumber.substring(0, 4),
|
|
examNumber, paperNumber, pageIndex);
|
|
examNumber, paperNumber, pageIndex);
|
|
}
|
|
}
|
|
|
|
|
|
private String getOwSliceUri(Long examId, String subjectCode, String examNumber, Integer paperNumber,
|
|
private String getOwSliceUri(Long examId, String subjectCode, String examNumber, Integer paperNumber,
|
|
- Integer pageIndex, Integer index) {
|
|
|
|
|
|
+ Integer pageIndex, Integer index) {
|
|
return String.format("%s/%s/%s/%s/%s/%s-%s-%s.jpg", "slice", examId, subjectCode, examNumber.substring(0, 4),
|
|
return String.format("%s/%s/%s/%s/%s/%s-%s-%s.jpg", "slice", examId, subjectCode, examNumber.substring(0, 4),
|
|
examNumber, paperNumber, pageIndex, index);
|
|
examNumber, paperNumber, pageIndex, index);
|
|
}
|
|
}
|
|
@@ -85,15 +89,9 @@ public class ToolExportServiceImpl implements ToolExportService {
|
|
@Override
|
|
@Override
|
|
public void studentCheck(Long studentId) {
|
|
public void studentCheck(Long studentId) {
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + studentId).writeLock().lock();
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + studentId).writeLock().lock();
|
|
|
|
+ StudentEntity student = null;
|
|
try {
|
|
try {
|
|
- SystemConfigEntity config = systemConfigService.find();
|
|
|
|
- if (config == null) {
|
|
|
|
- throw new ParameterException("未找到系统配置");
|
|
|
|
- }
|
|
|
|
- if (!SystemMode.STANDALONE.equals(SystemMode.current())) {
|
|
|
|
- throw new ParameterException("系统配置非独立模式");
|
|
|
|
- }
|
|
|
|
- StudentEntity student = studentService.getById(studentId);
|
|
|
|
|
|
+ student = studentService.getById(studentId);
|
|
if (student == null) {
|
|
if (student == null) {
|
|
throw new ParameterException("未找到考生");
|
|
throw new ParameterException("未找到考生");
|
|
}
|
|
}
|
|
@@ -120,7 +118,15 @@ public class ToolExportServiceImpl implements ToolExportService {
|
|
} else {
|
|
} else {
|
|
throw new ParameterException("转存模式配置错误");
|
|
throw new ParameterException("转存模式配置错误");
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ if (student != null) {
|
|
|
|
+ log.warn("图片检查异常!stuId:{} subjectCode:{} examNumber:{} err:{}", student.getId(),
|
|
|
|
+ student.getSubjectCode(), student.getExamNumber(), e.getMessage());
|
|
|
|
+ student.setImageCheckStatus(ImageCheckStatus.FAILED);
|
|
|
|
+ studentService.saveOrUpdate(student);
|
|
|
|
+ } else {
|
|
|
|
+ log.error("图片检查错误!err:{}", e.getMessage(), e);
|
|
|
|
+ }
|
|
} finally {
|
|
} finally {
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + studentId).writeLock().unlock();
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + studentId).writeLock().unlock();
|
|
}
|
|
}
|