浏览代码

Merge branch 'dev_v2.2.1' into release_v2.2.1
merge

wangliang 3 年之前
父节点
当前提交
647ab578fd

+ 27 - 38
distributed-print/src/main/java/com/qmth/distributed/print/api/TSyncExamStudentScoreController.java

@@ -1,6 +1,5 @@
 package com.qmth.distributed.print.api;
 
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
@@ -87,12 +86,7 @@ public class TSyncExamStudentScoreController {
                        @ApiParam(value = "课程编码", required = false) @RequestParam(required = false) String courseCode,
                        @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(tSyncExamStudentScoreService.list(new Page<>(pageNumber, pageSize),
-                SystemConstant.convertIdToLong(semesterId),
-                SystemConstant.convertIdToLong(orgId),
-                SystemConstant.convertIdToLong(majorId),
-                SystemConstant.convertIdToLong(clazzId),
-                courseCode));
+        return ResultUtil.ok(tSyncExamStudentScoreService.list(new Page<>(pageNumber, pageSize), SystemConstant.convertIdToLong(semesterId), SystemConstant.convertIdToLong(orgId), SystemConstant.convertIdToLong(majorId), SystemConstant.convertIdToLong(clazzId), courseCode));
     }
 
     @ApiOperation(value = "成绩导出")
@@ -103,25 +97,7 @@ public class TSyncExamStudentScoreController {
                          @ApiParam(value = "专业id", required = false) @RequestParam(required = false) String majorId,
                          @ApiParam(value = "班级id", required = false) @RequestParam(required = false) String clazzId,
                          @ApiParam(value = "课程编码", required = false) @RequestParam(required = false) String courseCode) {
-        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        int count = tSyncExamStudentScoreService.exportCount(sysUser.getSchoolId()
-                , SystemConstant.convertIdToLong(semesterId)
-                , SystemConstant.convertIdToLong(orgId)
-                , SystemConstant.convertIdToLong(majorId)
-                , SystemConstant.convertIdToLong(clazzId), courseCode);
-        if (count == 0) {
-            throw ExceptionResultEnum.ERROR.exception("没有成绩信息");
-        }
-        Map<String, Object> map = printCommonService.saveTask(TaskTypeEnum.SCORE_EXPORT);
-        map.computeIfAbsent("semesterId", v -> SystemConstant.convertIdToLong(semesterId));
-        map.computeIfAbsent("orgId", v -> SystemConstant.convertIdToLong(orgId));
-        map.computeIfAbsent("majorId", v -> SystemConstant.convertIdToLong(majorId));
-        map.computeIfAbsent("clazzId", v -> SystemConstant.convertIdToLong(clazzId));
-        map.computeIfAbsent("courseCode", v -> courseCode);
-        map.computeIfAbsent(SystemConstant.OSS, v -> dictionaryConfig.sysDomain().isOss());
-        asyncScoreExportService.exportTask(map);
-        TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
-        return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
+        return createScoreTbTask(TaskTypeEnum.SCORE_EXPORT, semesterId, orgId, majorId, clazzId, courseCode);
     }
 
     @ApiOperation(value = "成绩查询同步")
@@ -176,23 +152,36 @@ public class TSyncExamStudentScoreController {
                                 @ApiParam(value = "专业id", required = false) @RequestParam(required = false) String majorId,
                                 @ApiParam(value = "班级id", required = false) @RequestParam(required = false) String clazzId,
                                 @ApiParam(value = "课程编码", required = false) @RequestParam(required = false) String courseCode) {
+        return createScoreTbTask(TaskTypeEnum.SCORE_DOWNLOAD, semesterId, orgId, majorId, clazzId, courseCode);
+    }
+
+    /**
+     * 创建任务公用
+     *
+     * @param taskTypeEnum
+     * @param params
+     * @return
+     */
+    private Result createScoreTbTask(TaskTypeEnum taskTypeEnum, String... params) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        int count = tSyncExamStudentScoreService.exportCount(sysUser.getSchoolId()
-                , SystemConstant.convertIdToLong(semesterId)
-                , SystemConstant.convertIdToLong(orgId)
-                , SystemConstant.convertIdToLong(majorId)
-                , SystemConstant.convertIdToLong(clazzId), courseCode);
+        int count = tSyncExamStudentScoreService.exportCount(sysUser.getSchoolId(), SystemConstant.convertIdToLong(params[0]), SystemConstant.convertIdToLong(params[1]), SystemConstant.convertIdToLong(params[2]), SystemConstant.convertIdToLong(params[3]), params[4]);
         if (count == 0) {
             throw ExceptionResultEnum.ERROR.exception("没有成绩信息");
         }
-        Map<String, Object> map = printCommonService.saveTask(TaskTypeEnum.SCORE_DOWNLOAD);
-        map.computeIfAbsent("semesterId", v -> SystemConstant.convertIdToLong(semesterId));
-        map.computeIfAbsent("orgId", v -> SystemConstant.convertIdToLong(orgId));
-        map.computeIfAbsent("majorId", v -> SystemConstant.convertIdToLong(majorId));
-        map.computeIfAbsent("clazzId", v -> SystemConstant.convertIdToLong(clazzId));
-        map.computeIfAbsent("courseCode", v -> courseCode);
+        Map<String, Object> map = printCommonService.saveTask(TaskTypeEnum.SCORE_EXPORT);
+        map.computeIfAbsent("semesterId", v -> SystemConstant.convertIdToLong(params[0]));
+        map.computeIfAbsent("orgId", v -> SystemConstant.convertIdToLong(params[1]));
+        map.computeIfAbsent("majorId", v -> SystemConstant.convertIdToLong(params[2]));
+        map.computeIfAbsent("clazzId", v -> SystemConstant.convertIdToLong(params[3]));
+        map.computeIfAbsent("courseCode", v -> params[4]);
         map.computeIfAbsent(SystemConstant.OSS, v -> dictionaryConfig.sysDomain().isOss());
-        asyncScoreBatchDownloadService.exportTask(map);
+        if (taskTypeEnum == TaskTypeEnum.SCORE_EXPORT) {
+            asyncScoreExportService.exportTask(map);
+        } else if (taskTypeEnum == TaskTypeEnum.SCORE_DOWNLOAD) {
+            asyncScoreBatchDownloadService.exportTask(map);
+        } else {
+            throw ExceptionResultEnum.ERROR.exception("任务类型错误");
+        }
         TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
         return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
     }