Browse Source

Merge branch 'hotfixes_v4.0.2_20210602_miss_photo' of http://git.qmth.com.cn/examcloud-backend/examcloud-core-oe-admin into hotfixes_v4.0.2_20210602_miss_photo

qinchao 4 năm trước cách đây
mục cha
commit
3ed9cc7576

+ 18 - 4
examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/controller/OfflineExamController.java

@@ -8,9 +8,10 @@ import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
 
-import cn.com.qmth.examcloud.core.oe.admin.service.ExamStudentService;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -26,6 +27,7 @@ import cn.com.qmth.examcloud.commons.util.MD5;
 import cn.com.qmth.examcloud.core.oe.admin.base.utils.Check;
 import cn.com.qmth.examcloud.core.oe.admin.dao.ExamRecordDataRepo;
 import cn.com.qmth.examcloud.core.oe.admin.dao.entity.ExamRecordDataEntity;
+import cn.com.qmth.examcloud.core.oe.admin.service.ExamStudentService;
 import cn.com.qmth.examcloud.core.oe.admin.service.OfflineExamService;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.OfflineExamCourseInfo;
 import cn.com.qmth.examcloud.reports.commons.bean.AdminOperateReport;
@@ -50,7 +52,8 @@ import io.swagger.annotations.ApiParam;
 @RestController
 @RequestMapping("${$rmp.ctr.oe}/offlineExam")
 public class OfflineExamController extends ControllerSupport {
-
+	private static final Logger log = LoggerFactory.getLogger(OfflineExamController.class);
+	
     @Autowired
     private OfflineExamService offlineExamService;
 
@@ -191,7 +194,18 @@ public class OfflineExamController extends ControllerSupport {
         if (StringUtils.isBlank(offlineUploadFileType) || "[]".equals(offlineUploadFileType)) {
             throw new StatusException("OfflineExamController-submitPaper-003", "当前考试设置不允许上传附件");
         }
-
+        String upperFileType=fileType.toUpperCase();
+        if (("PDF".equals(upperFileType) || "ZIP".equals(upperFileType))&&fileArray.length>1){
+        	StringBuilder sb=new StringBuilder();
+        	for (int i = 0; i < fileArray.length; i++) {
+                MultipartFile file = fileArray[i];
+                String fileName = file.getOriginalFilename();
+                sb.append(fileName).append(",");
+        	}
+        	sb.deleteCharAt(sb.length()-1);
+        	log.error("batchSubmitPaper-duplicate:"+examRecordDataId+":"+sb);
+        	throw new StatusException("000500", "上传"+upperFileType+"类型文件时只能传一个文件");
+        }
         List<File> resultFiles=new ArrayList<>();
         for (int i = 0; i < fileArray.length; i++) {
             MultipartFile file = fileArray[i];
@@ -199,7 +213,7 @@ public class OfflineExamController extends ControllerSupport {
             int index = fileName.lastIndexOf(".");
             String fileSuffix = fileName.substring(index + 1, fileName.length()).toUpperCase();
 
-            String upperFileType=fileType.toUpperCase();
+            
             if (!"PDF".equals(upperFileType) && !"ZIP".equals(upperFileType)
                     && !"IMAGE".equals(upperFileType)) {
                 throw new StatusException("100001", "文件类型不正确");