浏览代码

兼容3.2.1老数据查看pdf

wangliang 2 年之前
父节点
当前提交
5f195a130a

+ 17 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -125,13 +125,13 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Override
     public double calculateTotalSubjects(Long printPlanId) {
         List<ExamDetail> examDetailList = this.list(new QueryWrapper<ExamDetail>().lambda().eq(ExamDetail::getPrintPlanId, printPlanId));
-        List<Long> examDetailIds = examDetailList.stream().map(m->m.getId()).collect(Collectors.toList());
+        List<Long> examDetailIds = examDetailList.stream().map(m -> m.getId()).collect(Collectors.toList());
 
-        if(examDetailIds.isEmpty()){
+        if (examDetailIds.isEmpty()) {
             return 0;
         }
         List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.list(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getExamDetailId, examDetailIds));
-        return examDetailCourseList.isEmpty() ? 0 : examDetailCourseList.stream().map(m->m.getCourseCode()).distinct().count();
+        return examDetailCourseList.isEmpty() ? 0 : examDetailCourseList.stream().map(m -> m.getCourseCode()).distinct().count();
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -190,7 +190,20 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
                 JSONObject object = jsonArray.getJSONObject(i);
                 JSONObject jsonObject = new JSONObject();
                 jsonObject.put(SystemConstant.TYPE, Objects.nonNull(object.get("printType")) ? PdfTypeEnum.valueOf((String) object.get("printType")) : null);
-                jsonObject.put("url", Objects.nonNull(object.get(SystemConstant.PDF_PATH)) ? teachcloudCommonService.filePreviewByPathAndType((String) object.get(SystemConstant.PDF_PATH), (String) object.get(SystemConstant.UPLOAD_TYPE), (String) object.get("type"), false) : null);
+                String uploadType = null;
+                if (object.get(SystemConstant.UPLOAD_TYPE) instanceof JSONArray) {
+                    JSONArray uploadTypeJsonArray = object.getJSONArray(SystemConstant.UPLOAD_TYPE);
+                    uploadTypeFor:
+                    for (int y = 0; y < uploadTypeJsonArray.size(); y++) {
+                        uploadType = uploadTypeJsonArray.getString(y);
+                        if (uploadType.equalsIgnoreCase("PDF")) {
+                            break uploadTypeFor;
+                        }
+                    }
+                } else {
+                    uploadType = (String) object.get(SystemConstant.UPLOAD_TYPE);
+                }
+                jsonObject.put("url", Objects.nonNull(object.get(SystemConstant.PDF_PATH)) ? teachcloudCommonService.filePreviewByPathAndType((String) object.get(SystemConstant.PDF_PATH), uploadType, (String) object.get("type"), false) : null);
                 list.add(jsonObject);
             }
         }