Pārlūkot izejas kodu

3.4.1 bug修复

xiaofei 9 mēneši atpakaļ
vecāks
revīzija
3ce8d50153

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/ClientExamTaskDto.java

@@ -11,6 +11,7 @@ public class ClientExamTaskDto {
     private String printPlanId;
     private String printPlanName;
     private String paperNumber;
+    private String courseId;
     private String courseCode;
     private String courseName;
     private String paperType;
@@ -70,6 +71,14 @@ public class ClientExamTaskDto {
         this.paperNumber = paperNumber;
     }
 
+    public String getCourseId() {
+        return courseId;
+    }
+
+    public void setCourseId(String courseId) {
+        this.courseId = courseId;
+    }
+
     public String getCourseCode() {
         return courseCode;
     }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.java

@@ -100,6 +100,7 @@ public class ClientServiceImpl implements ClientService {
             BasicCourse basicCourse = basicCourseService.getById(examTask.getCourseId());
             Map<String, Object> map = new HashMap<>();
             map.put("printPlanId", printPlanId);
+            map.put("courseId", basicCourse.getId());
             map.put("courseCode", basicCourse.getCode());
             map.put("courseName", basicCourse.getName());
             map.put("paperNumber", examTask.getPaperNumber());
@@ -570,7 +571,7 @@ public class ClientServiceImpl implements ClientService {
         List<ExamDetailCourse> examDetailCourses = examDetailCourseService.list(examDetailCourseQueryWrapper);
         for (ExamDetailCourse examDetailCours : examDetailCourses) {
             QueryWrapper<ClientStatus> clientStatusQueryWrapper = new QueryWrapper<>();
-            clientStatusQueryWrapper.lambda().eq(ClientStatus::getSchoolId, schoolId).eq(ClientStatus::getExamDetailId, examDetailId).eq(ClientStatus::getPrintPlanId, examDetail.getPrintPlanId()).eq(ClientStatus::getCourseCode, examDetailCours.getCourseCode()).eq(ClientStatus::getPaperNumber, examDetailCours.getPaperNumber()).eq(ClientStatus::getMachineCode, machineCode);
+            clientStatusQueryWrapper.lambda().eq(ClientStatus::getSchoolId, schoolId).eq(ClientStatus::getExamDetailId, examDetailId).eq(ClientStatus::getPrintPlanId, examDetail.getPrintPlanId()).eq(ClientStatus::getCourseId, examDetailCours.getCourseId()).eq(ClientStatus::getPaperNumber, examDetailCours.getPaperNumber()).eq(ClientStatus::getMachineCode, machineCode);
             ClientStatus clientStatus = clientStatusService.getOne(clientStatusQueryWrapper);
             if (clientStatus == null) {
                 clientStatus = new ClientStatus();

+ 1 - 0
distributed-print-business/src/main/resources/mapper/ClientMapper.xml

@@ -7,6 +7,7 @@
             a.exam_id examId,
             a.id printPlanId,
             a.name printPlanName,
+            c.course_id courseId,
             bc.code courseCode,
             bc.name courseName,
             c.paper_number paperNumber,

+ 12 - 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;
@@ -67,6 +68,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 +291,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;
                     }
                 }
             }