Browse Source

1.0.5 bug

haogh 10 tháng trước cách đây
mục cha
commit
07792e9ef7

+ 24 - 9
paper-library-business/src/main/java/com/qmth/paper/library/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -317,7 +317,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             DownloadPictureParams downLoadPaperParams = JSON.parseObject(tbTask.getRemark(), DownloadPictureParams.class);
             List<PictureManageDetailResult> studentList = pictureManageService.listPictureResult(downLoadPaperParams);
 
-            rootPath = fileStoreUtil.buildPath(UploadFileEnum.DOWNLOAD, true, String.valueOf(System.currentTimeMillis()));
+            rootPath = fileStoreUtil.buildPath(UploadFileEnum.DOWNLOAD, false, String.valueOf(System.currentTimeMillis()));
             String dirName = SystemConstant.getUuid() + SystemConstant.ZIP_SUFFIX;
             zipFile = new File(rootPath + dirName);
             if (!zipFile.getParentFile().exists()) {
@@ -344,9 +344,24 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                 paperLibraryList = paperLibraryService.list(queryWrapper);
 
                 ExamStudent examStudent = examStudentService.getById(studentId);
+                PaperScanTask paperScanTask = paperScanTaskService.getByExamIdAndCourseCode(examStudent.getExamId(), examStudent.getCourseCode());
+                BasicExam basicExam = basicExamService.getById(paperScanTask.getExamId());
+                BasicSemester basicSemester = basicSemesterService.getById(basicExam.getSemesterId());
                 String courseNameCode = String.format("%s(%s)", examStudent.getCourseName(), examStudent.getCourseCode());
-                String imagePath = zipLocalRootPath + File.separator + courseNameCode + File.separator + examStudent.getTeachClass();
-
+                String imagePath = "";
+                if (StoreTypeEnum.ROOM.equals(paperScanTask.getStoreType())) {
+                    imagePath =
+                            zipLocalRootPath + File.separator + basicSemester.getName() + File.separator + basicExam.getName() + File.separator + courseNameCode
+                                    + File.separator + examStudent.getExamRoom();
+                } else if (StoreTypeEnum.CLASS.equals(paperScanTask.getStoreType())) {
+                    imagePath =
+                            zipLocalRootPath + File.separator + basicSemester.getName() + File.separator + basicExam.getName() + File.separator + courseNameCode
+                                    + File.separator + examStudent.getClassName();
+                } else if (StoreTypeEnum.COURSE.equals(paperScanTask.getStoreType())) {
+                    imagePath =
+                            zipLocalRootPath + File.separator + basicSemester.getName() + File.separator + basicExam.getName() + File.separator + courseNameCode
+                                    + File.separator + examStudent.getStudentCode();
+                }
                 for (PaperLibrary paperLibrary : paperLibraryList) {
                     List<JSONObject> objectList = JSON.parseArray(paperLibrary.getPath(), JSONObject.class);
                     //下载考生试卷
@@ -856,7 +871,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
     }
 
     private String generateStudentPaperPdf(PaperScanTask paperScanTask, ExamStudent student, String pdfName, List<File> fileList) {
-        String pdfRootPath = getPdfRootPath(paperScanTask, student);
+        String pdfRootPath = getPdfRootPath(UploadFileEnum.PDF,paperScanTask, student);
         File dir = new File(pdfRootPath);
         if (!dir.exists()) {
             boolean dirFlag = dir.mkdirs();
@@ -886,18 +901,18 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         return pdfPath;
     }
 
-    private String getPdfRootPath(PaperScanTask paperScanTask, ExamStudent examStudent) {
+    private String getPdfRootPath(UploadFileEnum fileType, PaperScanTask paperScanTask, ExamStudent examStudent) {
         BasicSchool basicSchool = basicSchoolService.getById(paperScanTask.getSchoolId());
         BasicExam basicExam = basicExamService.getById(paperScanTask.getExamId());
         BasicSemester basicSemester = basicSemesterService.getById(basicExam.getSemesterId());
         String courseNameCode = String.format("%s(%s)", paperScanTask.getCourseName(), paperScanTask.getCourseCode());
-        String rootPath = fileStoreUtil.buildPath(UploadFileEnum.PDF, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode);
+        String rootPath = fileStoreUtil.buildPath(fileType, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode);
         if (StoreTypeEnum.ROOM.equals(paperScanTask.getStoreType())) {
-            rootPath = fileStoreUtil.buildPath(UploadFileEnum.PDF, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode, examStudent.getExamRoom());
+            rootPath = fileStoreUtil.buildPath(fileType, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode, examStudent.getExamRoom());
         } else if (StoreTypeEnum.CLASS.equals(paperScanTask.getStoreType())) {
-            rootPath = fileStoreUtil.buildPath(UploadFileEnum.PDF, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode, examStudent.getClassName());
+            rootPath = fileStoreUtil.buildPath(fileType, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode, examStudent.getClassName());
         } else if (StoreTypeEnum.COURSE.equals(paperScanTask.getStoreType())) {
-            rootPath = fileStoreUtil.buildPath(UploadFileEnum.PDF, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode, examStudent.getStudentCode());
+            rootPath = fileStoreUtil.buildPath(fileType, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode, examStudent.getStudentCode());
         }
         return rootPath;
     }