Przeglądaj źródła

1.0.4 优化联调bug

xiaofei 1 rok temu
rodzic
commit
9bab2a285f

+ 47 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/bean/result/PaperScanTaskResult.java

@@ -1,7 +1,10 @@
 package com.qmth.paper.library.business.bean.result;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.paper.library.common.enums.RecognitionTypeEnum;
+import com.qmth.paper.library.common.enums.StoreTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
@@ -33,6 +36,18 @@ public class PaperScanTaskResult implements Serializable {
     @ApiModelProperty(value = "课程名称")
     private String courseName;
 
+    @ApiModelProperty(value = "识别方式")
+    private RecognitionTypeEnum recognitionType;
+
+    @ApiModelProperty(value = "识别方式")
+    private String recognitionTypeDisplay;
+
+    @ApiModelProperty(value = "存储方式")
+    private StoreTypeEnum storeType;
+
+    @ApiModelProperty(value = "存储方式")
+    private String storeTypeDisplay;
+
     @ApiModelProperty(value = "扫描张数")
     private int scanCount;
 
@@ -90,6 +105,38 @@ public class PaperScanTaskResult implements Serializable {
         this.courseName = courseName;
     }
 
+    public RecognitionTypeEnum getRecognitionType() {
+        return recognitionType;
+    }
+
+    public void setRecognitionType(RecognitionTypeEnum recognitionType) {
+        this.recognitionType = recognitionType;
+    }
+
+    public String getRecognitionTypeDisplay() {
+        return this.recognitionType == null ? "-" : this.recognitionType.getDesc();
+    }
+
+    public void setRecognitionTypeDisplay(String recognitionTypeDisplay) {
+        this.recognitionTypeDisplay = recognitionTypeDisplay;
+    }
+
+    public StoreTypeEnum getStoreType() {
+        return storeType;
+    }
+
+    public void setStoreType(StoreTypeEnum storeType) {
+        this.storeType = storeType;
+    }
+
+    public String getStoreTypeDisplay() {
+        return this.storeType == null ? "-" : this.storeType.getDesc();
+    }
+
+    public void setStoreTypeDisplay(String storeTypeDisplay) {
+        this.storeTypeDisplay = storeTypeDisplay;
+    }
+
     public int getScanCount() {
         return scanCount;
     }

+ 1 - 2
paper-library-business/src/main/java/com/qmth/paper/library/business/mapper/PaperScanTaskMapper.java

@@ -24,8 +24,7 @@ public interface PaperScanTaskMapper extends BaseMapper<PaperScanTask> {
      */
     IPage<PaperScanTaskResult> findPaperScanTaskPage(@Param("iPage") Page<PaperScanTaskResult> iPage,
                                                      @Param("examId") Long examId,
-                                                     @Param("courseCode") String courseCode,
-                                                     @Param("className") String className);
+                                                     @Param("courseCode") String courseCode);
 
     /**
      * 根据扫描任务id分页查询扫描任务详情

+ 1 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/service/FileUploadService.java

@@ -17,4 +17,5 @@ public interface FileUploadService {
     String filePreview(String path);
     String filePreview(FilePathVo filePathVo);
 
+    boolean deleteFile(String path);
 }

+ 1 - 5
paper-library-business/src/main/java/com/qmth/paper/library/business/service/PaperScanTaskService.java

@@ -22,7 +22,7 @@ public interface PaperScanTaskService extends IService<PaperScanTask> {
     /**
      * 扫描任务分页查询
      */
-    IPage<PaperScanTaskResult> paperScanTaskPage(Long examId, String courseCode, String className, int pageNumber, int pageSize);
+    IPage<PaperScanTaskResult> paperScanTaskPage(Long examId, String courseCode, int pageNumber, int pageSize);
 
     /**
      * 根据扫描任务id分页查询扫描任务详情
@@ -36,10 +36,6 @@ public interface PaperScanTaskService extends IService<PaperScanTask> {
 
     void addBatchScanTask(Long examId, RecognitionTypeEnum recognitionType, StoreTypeEnum storeType, List<ExamCourse> examCourses, List<ExamStudent> basicStudentList);
 
-    void removeByExamId(Long schoolId);
-
-    List<PaperScanTask> listByExamId(Long examId);
-
     void addScanTask(Long examId, RecognitionTypeEnum recognitionType, StoreTypeEnum storeType, ExamStudent examStudent);
 
     PaperScanTask getByExamIdAndCourseCode(Long examId, String courseCode);

+ 5 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/FileUploadServiceImpl.java

@@ -128,4 +128,9 @@ public class FileUploadServiceImpl implements FileUploadService {
         return pathUrl;
     }
 
+    @Override
+    public boolean deleteFile(String path) {
+        return fileStoreUtil.deleteFile(path);
+    }
+
 }

+ 1 - 1
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperLibraryCommonServiceImpl.java

@@ -268,7 +268,7 @@ public class PaperLibraryCommonServiceImpl implements PaperLibraryCommonService
         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.IMAGE, false, basicSchool.getCode(), courseNameCode);
+        String rootPath = fileStoreUtil.buildPath(UploadFileEnum.IMAGE, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode);
         if (StoreTypeEnum.ROOM.equals(paperScanTask.getStoreType())) {
             rootPath = fileStoreUtil.buildPath(UploadFileEnum.IMAGE, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode, examStudent.getExamRoom());
         } else if (StoreTypeEnum.CLASS.equals(paperScanTask.getStoreType())) {

+ 31 - 19
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperScanTaskServiceImpl.java

@@ -13,17 +13,22 @@ import com.qmth.paper.library.business.entity.PaperLibraryOther;
 import com.qmth.paper.library.business.entity.PaperScanTask;
 import com.qmth.paper.library.business.mapper.PaperScanTaskMapper;
 import com.qmth.paper.library.business.service.*;
-import com.qmth.paper.library.common.entity.ExamStudent;
-import com.qmth.paper.library.common.entity.SysUser;
+import com.qmth.paper.library.common.entity.*;
 import com.qmth.paper.library.common.enums.ExceptionResultEnum;
 import com.qmth.paper.library.common.enums.RecognitionTypeEnum;
 import com.qmth.paper.library.common.enums.StoreTypeEnum;
+import com.qmth.paper.library.common.enums.UploadFileEnum;
+import com.qmth.paper.library.common.service.BasicSchoolService;
+import com.qmth.paper.library.common.service.BasicSemesterService;
+import com.qmth.paper.library.common.util.FileStoreUtil;
 import com.qmth.paper.library.common.util.ServletUtil;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import javax.management.relation.RoleInfoNotFoundException;
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -37,11 +42,19 @@ import java.util.stream.Collectors;
  */
 @Service
 public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, PaperScanTask> implements PaperScanTaskService {
-
+    @Resource
+    private BasicSemesterService basicSemesterService;
+    @Resource
+    private BasicExamService basicExamService;
+    @Resource
+    private BasicSchoolService basicSchoolService;
+    @Resource
+    private FileStoreUtil fileStoreUtil;
     @Resource
     private PaperLibraryCommonService paperLibraryCommonService;
     @Resource
     private PaperLibraryService paperLibraryService;
+    @Resource
     private PaperLibraryOtherService paperLibraryOtherService;
     @Resource
     private ExamStudentService examStudentService;
@@ -49,8 +62,8 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
     private ExamCourseService examCourseService;
 
     @Override
-    public IPage<PaperScanTaskResult> paperScanTaskPage(Long examId, String courseCode, String className, int pageNumber, int pageSize) {
-        return this.baseMapper.findPaperScanTaskPage(new Page<>(pageNumber, pageSize), examId, courseCode, className);
+    public IPage<PaperScanTaskResult> paperScanTaskPage(Long examId, String courseCode, int pageNumber, int pageSize) {
+        return this.baseMapper.findPaperScanTaskPage(new Page<>(pageNumber, pageSize), examId, courseCode);
     }
 
     @Override
@@ -86,6 +99,19 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
         paperScanTask.setScanStudentCount(0);
         paperScanTask.updateInfo(sysUser.getId());
         this.updateById(paperScanTask);
+
+        // 删除所有扫描文件
+        try {
+            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.IMAGE, false, basicSchool.getName(), basicSemester.getName(), basicExam.getName(), courseNameCode);
+            fileStoreUtil.deleteFile(rootPath);
+        } catch (Exception e) {
+            log.error("删除文件失败" + e.getMessage());
+        }
+
     }
 
     @Transactional
@@ -102,20 +128,6 @@ public class PaperScanTaskServiceImpl extends ServiceImpl<PaperScanTaskMapper, P
         this.saveBatch(paperScanTaskList);
     }
 
-    @Override
-    public void removeByExamId(Long examId) {
-        QueryWrapper<PaperScanTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(PaperScanTask::getExamId, examId);
-        this.remove(queryWrapper);
-    }
-
-    @Override
-    public List<PaperScanTask> listByExamId(Long examId) {
-        QueryWrapper<PaperScanTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(PaperScanTask::getExamId, examId);
-        return this.list(queryWrapper);
-    }
-
     @Override
     public void addScanTask(Long examId, RecognitionTypeEnum recognitionType, StoreTypeEnum storeType, ExamStudent examStudent) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());

+ 2 - 0
paper-library-business/src/main/resources/mapper/PaperScanTaskMapper.xml

@@ -10,6 +10,8 @@
             be.name examName,
             pst.course_code AS courseCode,
             pst.course_name AS courseName,
+            pst.recognition_type recognitionType,
+            pst.store_type storeType,
             pst.student_count AS studentCount,
             pst.scan_count AS scanCount,
             pst.scan_student_count AS scanStudentCount

+ 19 - 0
paper-library-common/src/main/java/com/qmth/paper/library/common/util/FileStoreUtil.java

@@ -250,4 +250,23 @@ public class FileStoreUtil {
         }
         return file;
     }
+
+    /**
+     * 删除文件
+     *
+     * @param dirName 文件地址
+     */
+    public boolean deleteFile(String dirName) {
+        File file = new File(dirName);
+        if (file.exists()) {
+            if (file.isFile()) {
+                fileStore.delete(dirName.replace(dictionaryConfig.fssDomain().getConfig(), ""));
+            } else {
+                for (File listFile : file.listFiles()) {
+                    deleteFile(listFile.getPath());
+                }
+            }
+        }
+        return true;
+    }
 }

+ 1 - 2
paper-library/src/main/java/com/qmth/paper/library/api/PaperScanTaskController.java

@@ -35,10 +35,9 @@ public class PaperScanTaskController {
     @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
     public Result findPaperScanTaskPage(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
                                         @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
-                                        @ApiParam(value = "班级") @RequestParam(required = false) String className,
                                         @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
                                         @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        return ResultUtil.ok(paperScanTaskService.paperScanTaskPage(examId, courseCode, className, pageNumber, pageSize));
+        return ResultUtil.ok(paperScanTaskService.paperScanTaskPage(examId, courseCode, pageNumber, pageSize));
     }
 
     @ApiOperation(value = "任务详情")