caozixuan 4 éve
szülő
commit
4d31591480

+ 22 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncExaminationImportTemplateService.java

@@ -1,22 +1,29 @@
 package com.qmth.distributed.print.business.templete.execute;
 
 import com.qmth.boot.api.exception.ApiException;
+import com.qmth.distributed.print.business.entity.SysUser;
 import com.qmth.distributed.print.business.entity.TBTask;
 import com.qmth.distributed.print.business.enums.TaskResultEnum;
 import com.qmth.distributed.print.business.enums.TaskStatusEnum;
+import com.qmth.distributed.print.business.service.ExamTaskService;
 import com.qmth.distributed.print.business.templete.importData.AsyncImportTaskTemplete;
 import com.qmth.distributed.print.business.templete.service.TaskLogicService;
 import com.qmth.distributed.print.common.contant.SpringContextHolder;
 import com.qmth.distributed.print.common.contant.SystemConstant;
+import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import com.qmth.distributed.print.common.util.Result;
 import com.qmth.distributed.print.common.util.ResultUtil;
+import jdk.internal.dynalink.linker.LinkerServices;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.io.InputStream;
 import java.text.MessageFormat;
+import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.StringJoiner;
 
 /**
@@ -26,6 +33,9 @@ import java.util.StringJoiner;
  */
 @Service
 public class AsyncExaminationImportTemplateService extends AsyncImportTaskTemplete {
+    @Resource
+    private ExamTaskService examTaskService;
+
     private final static Logger log = LoggerFactory.getLogger(AsyncExaminationImportTemplateService.class);
 
     public static final String OBJ_TITLE = "考务数据";
@@ -43,6 +53,18 @@ public class AsyncExaminationImportTemplateService extends AsyncImportTaskTemple
         try {
             TaskLogicService taskLogicService = SpringContextHolder.getBean(TaskLogicService.class);
             Map<String,Object> result = taskLogicService.executeImportExaminationLogic(map);
+
+            // 检测是否去生成pdf
+            if (Objects.isNull(map.get("examDetailIdList"))){
+                throw ExceptionResultEnum.ERROR.exception("不能获取考务-场次id集合");
+            }
+            List<Long> examDetailIdList = (List<Long>) map.get("examDetailIdList");
+            // 按照考场检验命题任务是否全部完成,完成生成pdf
+            SysUser user = (SysUser) map.get(SystemConstant.USER);
+            for (Long examDetailId : examDetailIdList) {
+                examTaskService.checkDataByExamination(examDetailId, user);
+            }
+
             stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}", FORMAT_TIME, FINISH_TITLE, Long.valueOf(String.valueOf(result.get("dataCount"))), FINISH_SIZE));
             tbTask.setResult(TaskResultEnum.SUCCESS);
         }catch (Exception e){

+ 1 - 21
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -541,27 +541,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             // 组装exam_student数据
             examDetailService.disposeExamStudentByExaminationExcel(dataList, userId);
 
-            // 按照考场检验命题任务是否全部完成,完成生成pdf
-            SysUser user = (SysUser) map.get(SystemConstant.USER);
-            for (Long examDetailId : examDetailIdList) {
-                examTaskService.checkDataByExamination(examDetailId, user);
-            }
-
-//            List<Map<String, Object>> checkList = dataList.stream().flatMap(e -> {
-//                Map<String, Object> tmp = new HashMap<>();
-//                tmp.put("schoolId", e.get("schoolId"));
-//                tmp.put("courseCode", e.get("courseCode"));
-//                tmp.put("paperNumber", e.get("paperNumber"));
-//                return Stream.of(tmp);
-//            }).distinct().collect(Collectors.toList());
-//            for (Map<String, Object> stringObjectMap : checkList) {
-//                Long checkSchoolId = SystemConstant.convertIdToLong(String.valueOf(stringObjectMap.get("schoolId")));
-//                String checkCourseCode = String.valueOf(stringObjectMap.get("courseCode"));
-//                String checkPaperNumber = String.valueOf(stringObjectMap.get("paperNumber"));
-//                SysUser user = (SysUser) map.get(SystemConstant.USER);
-//                user.setSchoolId(schoolId);
-//                commonService.checkData(checkSchoolId, checkCourseCode, checkPaperNumber, user);
-//            }
+            map.put("examDetailIdList",examDetailIdList);
             map.put("dataCount", dataList.size());
         } catch (Exception e) {
             redisTemplate.opsForValue().set(key, value);

+ 12 - 0
distributed-print/src/test/java/com/qmth/distributed/print/ServiceTest.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print;
 
+import com.aliyun.oss.common.utils.BinaryUtil;
 import com.qmth.distributed.print.api.ExamDetailController;
 import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.ExamDetail;
@@ -7,6 +8,8 @@ import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
 import com.qmth.distributed.print.business.service.ExamDetailService;
 import com.qmth.distributed.print.business.service.ExamPrintPlanService;
 import com.qmth.distributed.print.business.util.ConvertUtil;
+import com.qmth.distributed.print.business.util.OssUtil;
+import com.qmth.distributed.print.common.util.HexUtils;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -33,6 +36,8 @@ public class ServiceTest {
     private ExamDetailService examDetailService;
     @Resource
     private ExamDetailController examDetailController;
+    @Resource
+    OssUtil ossUtil;
 
 
     @Test
@@ -69,4 +74,11 @@ public class ServiceTest {
 
     }
 
+    @Test
+    public void uploadOss(){
+//        String pdfDirName = "upload/2021/04/20/test1.pdf";
+//        String pdfFilePath = "E:\\qiming\\qiming_dev\\distribution-print\\v2.0\\dev\\pdf-temp\\upload/2021/04/20/1eacef5479f74d72ab4a924468e80d73.pdf"
+//        ossUtil.ossUpload(pdfDirName, pdfFile, BinaryUtil.toBase64String(HexUtils.decodeHex(fileMd5)));
+    }
+
 }