wangliang 4 سال پیش
والد
کامیت
b688624bd0

+ 13 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TBTask.java

@@ -32,7 +32,7 @@ public class TBTask implements Serializable {
     @TableId(value = "id")
     private Long id;
 
-    @ApiModelProperty(value = "任务类型,USER_IMPORT:用户导入,QUESTION_MISSION_BATCH_CREATE:批量新建命题任务,SAMPLE_EXPORT:导出审核样本,PAPER_DOWNLOAD:卷库下载,EXAMINATION_IMPORT:考务数据导入,EXAMINATION_EXPORT:考务数据导出,PRINT_PDF_DOWNLOAD:批量下载pdf,CREATE_PDF:生成pdf")
+    @ApiModelProperty(value = "任务类型,QUESTION_MISSION_BATCH_CREATE:批量新建命题任务,SAMPLE_EXPORT:导出审核样本,EXAMINATION_IMPORT:考务数据导入,EXAMINATION_EXPORT:考务数据导出,PRINT_PDF_DOWNLOAD:批量下载pdf,CREATE_PDF:生成pdf")
     @TableField(value = "type")
     private TaskTypeEnum type;
 
@@ -101,6 +101,18 @@ public class TBTask implements Serializable {
     @TableField("create_id")
     private Long createId;
 
+    @ApiModelProperty(value = "备注")
+    @TableField(value = "remark")
+    private String remark;
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
     public Long getPrintPlanId() {
         return printPlanId;
     }

+ 0 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/enums/TaskTypeEnum.java

@@ -11,14 +11,10 @@ import java.util.Objects;
  */
 public enum TaskTypeEnum {
 
-    USER_IMPORT("用户导入"),
-
     QUESTION_MISSION_BATCH_CREATE("批量新建命题任务"),
 
     SAMPLE_EXPORT("导出审核样本"),
 
-    PAPER_DOWNLOAD("卷库下载"),
-
     EXAMINATION_IMPORT("考务数据导入"),
 
     EXAMINATION_EXPORT("考务数据导出"),

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TBTaskService.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.params.ArraysParams;
 import com.qmth.distributed.print.business.bean.result.TaskListResult;
 import com.qmth.distributed.print.business.entity.SysUser;
 import com.qmth.distributed.print.business.entity.TBTask;
@@ -99,6 +100,16 @@ public interface TBTaskService extends IService<TBTask> {
      */
     public Map<String, Object> saveTask(TaskTypeEnum taskTypeEnum, Long printPlanId, SysUser sysUser);
 
+    /**
+     * 保存任务
+     *
+     * @param taskTypeEnum
+     * @param arraysParams
+     * @param sysUser
+     * @return
+     */
+    public Map<String, Object> saveTask(TaskTypeEnum taskTypeEnum, ArraysParams arraysParams, SysUser sysUser);
+
     /**
      * 查询任务列表
      *

+ 28 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBTaskServiceImpl.java

@@ -3,6 +3,7 @@ package com.qmth.distributed.print.business.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
+import com.qmth.distributed.print.business.bean.params.ArraysParams;
 import com.qmth.distributed.print.business.bean.result.TaskListResult;
 import com.qmth.distributed.print.business.entity.BasicAttachment;
 import com.qmth.distributed.print.business.entity.SysUser;
@@ -17,6 +18,7 @@ import com.qmth.distributed.print.business.service.TBTaskService;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
+import com.qmth.distributed.print.common.util.JacksonUtil;
 import com.qmth.distributed.print.common.util.ResultUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -219,6 +221,32 @@ public class TBTaskServiceImpl extends ServiceImpl<TBTaskMapper, TBTask> impleme
         return map;
     }
 
+    /**
+     * 保存任务
+     *
+     * @param taskTypeEnum
+     * @param arraysParams
+     * @param sysUser
+     * @return
+     */
+    @Override
+    public Map<String, Object> saveTask(TaskTypeEnum taskTypeEnum, ArraysParams arraysParams, SysUser sysUser) {
+        Map<String, Object> map = new HashMap<>();
+        try {
+            TBTask tbTask = saveTaskCommon(null, taskTypeEnum, map, sysUser);
+            tbTask.setRemark(JacksonUtil.parseJson(arraysParams));
+            this.save(tbTask);
+        } catch (Exception e) {
+            log.error("请求出错", e);
+            if (e instanceof ApiException) {
+                ResultUtil.error((ApiException) e, e.getMessage());
+            } else {
+                ResultUtil.error(e.getMessage());
+            }
+        }
+        return map;
+    }
+
     /**
      * 查询任务列表
      *

+ 38 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncDownloadPdfTempleteService.java

@@ -0,0 +1,38 @@
+package com.qmth.distributed.print.business.templete.execute;
+
+import com.qmth.distributed.print.business.templete.export.AsyncExportTaskTemplete;
+import com.qmth.distributed.print.common.util.Result;
+import com.qmth.distributed.print.common.util.ResultUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * @Description: 异步下载pdf模版
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/4/19
+ */
+@Service
+public class AsyncDownloadPdfTempleteService extends AsyncExportTaskTemplete {
+
+    /**
+     * 下载pdf
+     *
+     * @param map
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public Result exportTask(Map<String, Object> map) throws Exception {
+        try {
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+
+        }
+        return ResultUtil.ok(map);
+    }
+}

+ 26 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamPrintPlanController.java

@@ -9,17 +9,19 @@ import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
 import com.qmth.distributed.print.business.bean.dto.PrintTaskDto;
 import com.qmth.distributed.print.business.bean.dto.PrintTaskTotalDto;
 import com.qmth.distributed.print.business.bean.dto.RelatePaperDto;
+import com.qmth.distributed.print.business.bean.params.ArraysParams;
 import com.qmth.distributed.print.business.bean.params.DeleteParams;
 import com.qmth.distributed.print.business.bean.params.PrintPlanParams;
 import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
+import com.qmth.distributed.print.business.bean.result.EditResult;
+import com.qmth.distributed.print.business.bean.result.LoginResult;
 import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
 import com.qmth.distributed.print.business.entity.SysUser;
+import com.qmth.distributed.print.business.entity.TBTask;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
-import com.qmth.distributed.print.business.service.ExamDetailService;
-import com.qmth.distributed.print.business.service.ExamPrintPlanService;
-import com.qmth.distributed.print.business.service.ExamTaskDetailService;
-import com.qmth.distributed.print.business.service.ExamTaskService;
+import com.qmth.distributed.print.business.enums.TaskTypeEnum;
+import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
 import com.qmth.distributed.print.common.util.Result;
@@ -34,6 +36,8 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 /**
  * <p>
@@ -59,6 +63,8 @@ public class ExamPrintPlanController {
     @Autowired
     private ExamDetailService examDetailService;
 
+    @Resource
+    TBTaskService tbTaskService;
 
     @ApiOperation(value = "印刷计划查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
@@ -195,6 +201,7 @@ public class ExamPrintPlanController {
 
     /**
      * 提交印刷
+     *
      * @param examDetail
      * @return
      */
@@ -207,6 +214,7 @@ public class ExamPrintPlanController {
 
     /**
      * 撤回
+     *
      * @param examDetail
      * @return
      */
@@ -220,6 +228,7 @@ public class ExamPrintPlanController {
 
     /**
      * 重新提交
+     *
      * @param examDetail
      * @return
      */
@@ -269,5 +278,18 @@ public class ExamPrintPlanController {
         String path = examDetailService.taskViewPDF(examDetailId);
         return ResultUtil.ok(path);
     }
+
+    @ApiOperation(value = "印刷任务管理-批量下载PDF")
+    @RequestMapping(value = "/task_download_pdf", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "用户信息", response = EditResult.class)})
+    public Result taskDownloadPdf(@ApiParam(value = "id数组", required = true) @Valid @RequestBody ArraysParams arraysParams, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.PRINT_PDF_DOWNLOAD, arraysParams, (SysUser) ServletUtil.getRequestUser());
+//        asyncUserImportTempleteService.importTask(map);
+        TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
+        return Objects.nonNull(tbTask) ? ResultUtil.ok(new EditResult(tbTask.getId())) : ResultUtil.error("创建任务失败");
+    }
 }