xiaofei 9 сар өмнө
parent
commit
53aee58d6d

+ 5 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/ImportLogicServiceImpl.java

@@ -167,6 +167,11 @@ public class ImportLogicServiceImpl implements ImportLogicService {
                         stringJoiner.add(m.getName() + "必填");
                     }
                 }
+
+                // 试卷编号不为空时,校区(考点)必填
+                if (StringUtils.isNotBlank(basicExamStudent.getPaperNumber()) && m.getCode().equals(RequiredFieldsEnum.EXAM_PLACE.getCode()) && m.getEnable() && StringUtils.isBlank(basicExamStudent.getExamPlace())) {
+                    stringJoiner.add(RequiredFieldsEnum.EXAM_PLACE.getName() + "必填");
+                }
             });
             // 任课老师和任课老师工号都有值或都没值
             if (StringUtils.isNotBlank(basicExamStudentImport.getTeacherCode()) && StringUtils.isBlank(basicExamStudentImport.getTeacherName())) {
@@ -275,11 +280,6 @@ public class ImportLogicServiceImpl implements ImportLogicService {
                             paperNumberExamTimeMap.put(basicExamStudent.getPaperNumber(), examTimeValue);
                         }
                     }
-
-                    // 试卷编号不为空时,校区(考点必填)
-                    if (StringUtils.isBlank(basicExamStudent.getExamPlace())) {
-                        stringJoiner.add("校区(考点)必填");
-                    }
                 }
 
                 // 校验课程学号唯一

+ 16 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -1285,6 +1285,22 @@ public class SystemConstant {
 //        return version;
 //    }
 
+    public static String readJson(InputStream inputStream) {
+        try {
+            // 读取目标文件的内容
+            StringBuilder content = new StringBuilder();
+            byte[] buffer = new byte[1024];
+            int length;
+            while ((length = inputStream.read(buffer)) > 0) {
+                content.append(new String(buffer, 0, length));
+            }
+            return content.toString();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
     /**
      * 判断是否是数字
      *

+ 14 - 14
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanAnswerCardServiceImpl.java

@@ -16,6 +16,7 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
 import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
+import com.qmth.teachcloud.common.service.FileUploadService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.HttpUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
@@ -37,7 +38,9 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -67,6 +70,8 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
     private TeachcloudCommonService teachcloudCommonService;
     @Resource
     private FileStoreUtils fileStoreUtils;
+    @Resource
+    private FileUploadService fileUploadService;
 
     @Override
     public ScanAnswerCard findByExamAndNumber(Long examId, Integer cardNumber) {
@@ -288,23 +293,18 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
             if (scanAnswerCard != null && StringUtils.isNotBlank(scanAnswerCard.getAdapteUri())) {
                 FilePathVo filePathVo = JSON.parseObject(scanAnswerCard.getAdapteUri(), FilePathVo.class);
                 if (filePathVo != null && StringUtils.isNotBlank(filePathVo.getPath())) {
-                    String url = fileStoreUtils.getPrivateUrl(filePathVo.getPath(), filePathVo.getUploadType().getFssType());
-                    try {
-                        String jsonContent = HttpUtil.get(url, null, null, null);
-                        if (StringUtils.isNotBlank(jsonContent)) {
-                            AnswerCard answerCard = JSON.parseObject(jsonContent, AnswerCard.class);
-                            if (answerCard != null && CollectionUtils.isNotEmpty(answerCard.getPages())) {
-                                int pageIndex = 1;
-                                for (AnswerCardPage page : answerCard.getPages()) {
-                                    if (page.getExchange() != null && StringUtils.isNotBlank(page.getExchange().getPageImage())) {
-                                        String pageImage = page.getExchange().getPageImage().replaceAll("\\r\\n", "");
-                                        cardJpgResultList.add(new CardJpgResult("page" + pageIndex, pageIndex, "data:image/png;base64," + pageImage));
-                                    }
+                    String jsonContent = SystemConstant.readJson(fileUploadService.downloadFile(filePathVo.getPath(), filePathVo.getUploadType(), filePathVo.getType()));
+                    if (StringUtils.isNotBlank(jsonContent)) {
+                        AnswerCard answerCard = JSON.parseObject(jsonContent, AnswerCard.class);
+                        if (answerCard != null && CollectionUtils.isNotEmpty(answerCard.getPages())) {
+                            int pageIndex = 1;
+                            for (AnswerCardPage page : answerCard.getPages()) {
+                                if (page.getExchange() != null && StringUtils.isNotBlank(page.getExchange().getPageImage())) {
+                                    String pageImage = page.getExchange().getPageImage().replaceAll("\\r\\n", "");
+                                    cardJpgResultList.add(new CardJpgResult("page" + pageIndex, pageIndex, "data:image/png;base64," + pageImage));
                                 }
                             }
                         }
-                    } catch (IOException e) {
-                        return cardJpgResultList;
                     }
                 }
             }