소스 검색

3.3.1 联调bug

xiaofei 1 년 전
부모
커밋
5d4739a22c

+ 8 - 1
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java

@@ -3,18 +3,21 @@ package com.qmth.teachcloud.task.job.service.impl;
 import com.qmth.boot.redis.uid.RedisMachineService;
 import com.qmth.distributed.print.business.bean.dto.initMarkData.ExamDetailCourseInitMarkDto;
 import com.qmth.distributed.print.business.bean.result.EditResult;
+import com.qmth.distributed.print.business.entity.ExamTaskDetail;
 import com.qmth.distributed.print.business.entity.TBSyncTask;
 import com.qmth.distributed.print.business.entity.TBTaskPdf;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
+import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.enums.PushTypeEnum;
 import com.qmth.teachcloud.common.enums.TaskResultEnum;
 import com.qmth.teachcloud.common.enums.TaskStatusEnum;
 import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
 import com.qmth.teachcloud.common.util.DateDisposeUtils;
+import com.qmth.teachcloud.common.util.ExamTaskUtil;
 import com.qmth.teachcloud.common.util.RedisUtil;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
@@ -56,6 +59,8 @@ public class JobServiceImpl implements JobService {
     @Resource
     BasicMessageService basicMessageService;
     @Resource
+    private ExamTaskDetailService examTaskDetailService;
+    @Resource
     MarkPaperService markPaperService;
     @Resource
     MarkGroupService markGroupService;
@@ -161,7 +166,9 @@ public class JobServiceImpl implements JobService {
             for (String paperType : dto.getPaperType().split(",")) {
                 TBSyncTask tbSyncTask = tbSyncTaskService.saveTask(dto.getSchoolId(), dto.getSemesterId(), dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), paperType, PushTypeEnum.INIT_MARK_DATA, "");
                 try {
-                    printFinishService.insertMarkPaper(dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), dto.getPackageCodes(), dto.getCreateId(), paperType);
+                    ExamTaskDetail examTaskDetail = examTaskDetailService.getByExamIdAndCourseCodeAndPaperNumber(dto.getExamId(), dto.getCourseCode(),dto.getPaperNumber());
+                    List<PaperInfoVo> paperInfoVos = ExamTaskUtil.parsePaperAttachmentPath(examTaskDetail.getPaperAttachmentIds(), paperType);
+                    printFinishService.insertMarkPaper(dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), dto.getPackageCodes(), dto.getCreateId(), paperType, paperInfoVos);
                     printFinishService.insertMarkStudent(dto, paperType);
                     printFinishService.insertScanAnswerCardAndMarkQuestion(dto, paperType);
                     tbSyncTask.setResult(TaskResultEnum.SUCCESS);

+ 3 - 1
teachcloud-task/src/main/java/com/qmth/teachcloud/task/service/PrintFinishService.java

@@ -3,12 +3,14 @@ package com.qmth.teachcloud.task.service;
 import com.qmth.distributed.print.business.bean.dto.initMarkData.ExamDetailCourseInitMarkDto;
 import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
 
+import java.util.List;
+
 /**
  * 打印结束后操作服务类
  */
 public interface PrintFinishService {
 
-    void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType);
+    void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType, List<PaperInfoVo> paperInfoVos);
 
     void insertMarkStudent(ExamDetailCourseInitMarkDto examDetail, String paperType);
 

+ 8 - 1
teachcloud-task/src/main/java/com/qmth/teachcloud/task/service/impl/PrintFinishServiceImpl.java

@@ -83,14 +83,21 @@ public class PrintFinishServiceImpl implements PrintFinishService {
      * @param courseName
      * @param paperNumber
      * @param packageCode
+     * @param paperInfoVos
      */
     @Transactional
     @Override
-    public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType) {
+    public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber, String coursePaperId, String packageCode, Long userId, String paperType, List<PaperInfoVo> paperInfoVos) {
         try {
             MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumberAndPaperType(examId, paperNumber, paperType);
             if (markPaper == null) {
                 MarkPaper insertMarkPaper = new MarkPaper(examId, courseCode, courseName, paperNumber, coursePaperId, userId, paperType);
+                if (CollectionUtils.isNotEmpty(paperInfoVos)) {
+                    BasicAttachment basicAttachment = basicAttachmentService.getById(paperInfoVos.get(0).getAttachmentId());
+                    if (basicAttachment != null) {
+                        insertMarkPaper.setPaperFilePath(basicAttachment.getPath());
+                    }
+                }
                 markPaperService.save(insertMarkPaper);
             }
             List<MarkPaperPackage> markPaperPackages = new ArrayList<>();