Преглед на файлове

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

wangliang преди 3 години
родител
ревизия
1ab4bd4202
променени са 35 файла, в които са добавени 401 реда и са изтрити 834 реда
  1. 0 19
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ActivitiService.java
  2. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskPrintService.java
  3. 8 58
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ActivitiServiceImpl.java
  4. 7 7
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicStudentServiceImpl.java
  5. 3 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskPrintServiceImpl.java
  6. 18 9
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncCreatePdfTempleteService.java
  7. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java
  8. 0 84
      distributed-print/src/main/java/com/qmth/distributed/print/api/ActivitiController.java
  9. 7 0
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicClazzController.java
  10. 2 4
      distributed-print/src/main/java/com/qmth/distributed/print/api/BasicStudentController.java
  11. 0 93
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysPrivilegeController.java
  12. 0 115
      distributed-print/src/main/java/com/qmth/distributed/print/api/SysRoleController.java
  13. 3 3
      distributed-print/src/main/resources/processes/GdykdxPaperApprove.bpmn
  14. 87 95
      teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/SysPrivilegeController.java
  15. 113 113
      teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/SysRoleController.java
  16. 0 171
      teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/SysUserController.java
  17. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/TaskPrintClassDto.java
  18. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/excel/BasicStudentImportDto.java
  19. 1 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicCourseParams.java
  20. 3 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicStudentParams.java
  21. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicClazzResult.java
  22. 16 12
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicCourseResult.java
  23. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicStudentResult.java
  24. 47 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/ClazzDatasourceResult.java
  25. 3 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java
  26. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicStudent.java
  27. 4 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java
  28. 7 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicClazzService.java
  29. 5 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java
  30. 26 17
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicClazzServiceImpl.java
  31. 20 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java
  32. 2 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java
  33. 1 3
      teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml
  34. 3 3
      teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml
  35. 7 0
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/config/RedisMessageListener.java

+ 0 - 19
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ActivitiService.java

@@ -40,18 +40,6 @@ public interface ActivitiService {
      */
     public ProcessInstance startActivity(String processKey, Map<String, Object> map);
 
-    /**
-     * 获取任务列表
-     */
-    void getTaskList();
-
-    /**
-     * 完成流程
-     *
-     * @param taskId
-     */
-    void complete(String taskId);
-
     /**
      * 流程终止
      *
@@ -59,13 +47,6 @@ public interface ActivitiService {
      */
     public void flowEnd(String flowId);
 
-    /**
-     * 流程启动
-     *
-     * @param map
-     */
-    public void flowStart(Map<String, Object> map);
-
     /**
      * 审批任务
      *

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskPrintService.java

@@ -3,11 +3,11 @@ 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.dto.ExamTaskPrintDto;
-import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
+import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintExtendFieldsDto;
 import com.qmth.distributed.print.business.bean.dto.TaskPrintHouseDto;
 import com.qmth.distributed.print.business.bean.params.ExamTaskPrintParams;
-import com.qmth.distributed.print.business.entity.BasicStudent;
+import com.qmth.teachcloud.common.entity.BasicStudent;
 import com.qmth.distributed.print.business.entity.ExamDetail;
 import com.qmth.distributed.print.business.entity.ExamTaskPrint;
 

+ 8 - 58
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ActivitiServiceImpl.java

@@ -90,12 +90,6 @@ public class ActivitiServiceImpl implements ActivitiService {
     @Resource
     SysUserService sysUserService;
 
-    @Resource
-    BasicCourseService basicCourseService;
-
-    @Resource
-    SysOrgService sysOrgService;
-
     /**
      * 注册流程
      *
@@ -120,37 +114,6 @@ public class ActivitiServiceImpl implements ActivitiService {
         builder.deploy();
     }
 
-    /**
-     * 查询待办
-     */
-    @Override
-    public void getTaskList() {
-        //获取待办的一些信息,这里可以传入需要查询的用户,
-        //我这里查询的所有待办
-//        List<Task> tasks = taskService.createTaskQuery().taskAssignee("test123").orderByTaskCreateTime().desc().list();
-        List<Task> tasks = taskService.createTaskQuery().list();
-//        Task task1 = taskService.createTaskQuery().processInstanceId("22531").singleResult();
-//        Task task1 = taskService.createTaskQuery()
-//                .processDefinitionKey("myProcess3")
-//                .taskCandidateUser("赵总")//设置候选用户
-//                .singleResult();
-//        Task task2 = taskService.createTaskQuery()
-//                .processDefinitionKey("myProcess3")
-//                .taskCandidateUser("王总")//设置候选用户
-//                .singleResult();
-//        Task task3 = taskService.createTaskQuery()
-//                .processDefinitionKey("myProcess3")
-//                .taskCandidateUser("王总1")//设置候选用户
-//                .singleResult();
-//        Task task4 = taskService.createTaskQuery()
-//                .processDefinitionKey("myProcess3")
-//                .taskCandidateUser("赵总1")//设置候选用户
-//                .singleResult();
-        for (Task t : tasks) {
-            log.info("assignee:{},createTime:{},id:{},getProcessDefinitionId:{},name:{},processInstanceId:{},taskDefinitionKey:{},parentTaskId:{}", t.getAssignee(), t.getCreateTime(), t.getId(), t.getProcessDefinitionId(), t.getName(), t.getProcessInstanceId(), t.getTaskDefinitionKey(), t.getParentTaskId());
-        }
-    }
-
     /**
      * 根据流程key开启一个流程
      *
@@ -158,6 +121,7 @@ public class ActivitiServiceImpl implements ActivitiService {
      * @param map
      */
     @Override
+    @Transactional
     public ProcessInstance startActivity(String processKey, Map<String, Object> map) {
         ProcessInstance processInstance = null;
         if (Objects.nonNull(map) && map.size() > 0) {
@@ -169,25 +133,10 @@ public class ActivitiServiceImpl implements ActivitiService {
         ProcessInstance finalProcessInstance = processInstance;
         map.computeIfAbsent(SystemConstant.FLOW_ID, v -> finalProcessInstance.getId());
         map.computeIfAbsent(SystemConstant.FLOW_STATUS, v -> FlowStatusEnum.START);
-        ActivitiService activitiService = SpringContextHolder.getBean(ActivitiService.class);
-        activitiService.flowStart(map);
+        this.flowApproveStart(map);
         return processInstance;
     }
 
-    /**
-     * 根据任务id提交任务
-     *
-     * @param taskId
-     */
-    @Override
-    public void complete(String taskId) {
-        Map<String, Object> map = new HashMap<>();
-        map.put("user", 1);
-        map.put("approve", 1);
-        map.put("assignee", 0);
-        taskService.complete(taskId, map);
-    }
-
     /**
      * 根据流程id直接结束流程
      *
@@ -283,13 +232,11 @@ public class ActivitiServiceImpl implements ActivitiService {
     }
 
     /**
-     * 流程启动
+     * 流程审批启动
      *
      * @param map
      */
-    @Override
-    @Transactional
-    public void flowStart(Map<String, Object> map) {
+    public void flowApproveStart(Map<String, Object> map) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
 
         if (Objects.isNull(map.get(SystemConstant.FLOW_ID))) {
@@ -601,6 +548,7 @@ public class ActivitiServiceImpl implements ActivitiService {
      * @return
      */
     @Override
+    @Transactional
     public boolean taskApproverExchange(String userId, String taskId) {
         Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
         if (Objects.isNull(task)) {
@@ -633,7 +581,9 @@ public class ActivitiServiceImpl implements ActivitiService {
             default:
                 break;
         }
-        taskService.setAssignee(taskId, userId);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        taskService.deleteCandidateUser(taskId, String.valueOf(sysUser.getId()));
+        taskService.addCandidateUser(taskId, userId);
         return true;
     }
 

+ 7 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicStudentServiceImpl.java

@@ -5,15 +5,15 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
-import com.qmth.distributed.print.business.bean.dto.excel.BasicStudentImportDto;
-import com.qmth.distributed.print.business.bean.params.BasicStudentParams;
-import com.qmth.distributed.print.business.bean.result.BasicStudentResult;
+import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
+import com.qmth.teachcloud.common.bean.dto.excel.BasicStudentImportDto;
+import com.qmth.teachcloud.common.bean.params.BasicStudentParams;
+import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
 import com.qmth.teachcloud.common.entity.BasicClazz;
-import com.qmth.distributed.print.business.entity.BasicStudent;
-import com.qmth.distributed.print.business.mapper.BasicStudentMapper;
+import com.qmth.teachcloud.common.entity.BasicStudent;
+import com.qmth.teachcloud.common.mapper.BasicStudentMapper;
 import com.qmth.teachcloud.common.service.BasicClazzService;
-import com.qmth.distributed.print.business.service.BasicStudentService;
+import com.qmth.teachcloud.common.service.BasicStudentService;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;

+ 3 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskPrintServiceImpl.java

@@ -18,7 +18,9 @@ import com.qmth.distributed.print.business.mapper.ExamTaskPrintMapper;
 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.dto.TaskPrintClassDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.BasicStudent;
 import com.qmth.teachcloud.common.entity.BasicUserCourse;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.TBTask;
@@ -26,6 +28,7 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.MqTagEnum;
 import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import com.qmth.teachcloud.common.enums.TaskTypeEnum;
+import com.qmth.teachcloud.common.service.BasicStudentService;
 import com.qmth.teachcloud.common.service.BasicUserCourseService;
 import com.qmth.teachcloud.common.service.TBTaskService;
 import com.qmth.teachcloud.common.util.ConvertUtil;

+ 18 - 9
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncCreatePdfTempleteService.java

@@ -45,16 +45,24 @@ public class AsyncCreatePdfTempleteService extends AsyncCreateTaskTemplete {
      */
     @Override
     public Result createPdf(Map<String, Object> map, CallbackCreatePdf callbackCreatePdf) throws IOException {
-        TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
-        Boolean manual = (Boolean) map.get(SystemConstant.MANUAL);
-        StringJoiner stringJoinerSummary = new StringJoiner("\n").add(MessageFormat.format("{0}{1}{2}", DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN), BEGIN_TITLE, OBJ_TITLE));
-        TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
-        TBTask dbTask = tbTaskService.getById(tbTask.getId());
-        if (Objects.isNull(manual) && (Objects.nonNull(dbTask) && dbTask.getStatus() == TaskStatusEnum.FINISH && Objects.nonNull(dbTask.getResult()))) {//无需重新生成pdf
-            return ResultUtil.ok();
+        TBTask tbTask = null;
+        StringJoiner stringJoinerSummary = null;
+        try {
+            tbTask = (TBTask) map.get(SystemConstant.TASK);
+            Boolean manual = (Boolean) map.get(SystemConstant.MANUAL);
+            stringJoinerSummary = new StringJoiner("\n").add(MessageFormat.format("{0}{1}{2}", DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN), BEGIN_TITLE, OBJ_TITLE));
+            TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
+            TBTask dbTask = tbTaskService.getById(tbTask.getId());
+            if (Objects.isNull(manual) && (Objects.nonNull(dbTask) && dbTask.getStatus() == TaskStatusEnum.FINISH && Objects.nonNull(dbTask.getResult()))) {//无需重新生成pdf
+                SystemConstant.REDIS_MQ_LOCK = false;
+                return ResultUtil.ok();
+            }
+            tbTask.setStatus(TaskStatusEnum.RUNNING);
+            tbTaskService.updateById(tbTask);
+        } catch (Exception e) {
+            log.error("请求出错", e);
+            SystemConstant.REDIS_MQ_LOCK = false;
         }
-        tbTask.setStatus(TaskStatusEnum.RUNNING);
-        tbTaskService.updateById(tbTask);
         try {
             TaskLogicService taskLogicService = SpringContextHolder.getBean(TaskLogicService.class);
             taskLogicService.createPdfPrepose(map);
@@ -90,6 +98,7 @@ public class AsyncCreatePdfTempleteService extends AsyncCreateTaskTemplete {
             if (Objects.nonNull(callbackCreatePdf)) {
                 callbackCreatePdf.callback(map);
             }
+            SystemConstant.REDIS_MQ_LOCK = false;
         }
         return ResultUtil.ok(map);
     }

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

@@ -14,7 +14,7 @@ import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.bean.dto.*;
 import com.qmth.teachcloud.common.bean.dto.excel.BasicClazzImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.BasicCourseImportDto;
-import com.qmth.distributed.print.business.bean.dto.excel.BasicStudentImportDto;
+import com.qmth.teachcloud.common.bean.dto.excel.BasicStudentImportDto;
 import com.qmth.distributed.print.business.bean.params.SerialNumberParams;
 import com.qmth.distributed.print.business.cache.CreatePdfCacheUtil;
 import com.qmth.distributed.print.business.entity.*;

+ 0 - 84
distributed-print/src/main/java/com/qmth/distributed/print/api/ActivitiController.java

@@ -1,84 +0,0 @@
-//package com.qmth.distributed.print.api;
-//
-//import com.qmth.boot.api.annotation.Aac;
-//import com.qmth.boot.api.annotation.BOOL;
-//import com.qmth.boot.api.constant.ApiConstant;
-//import com.qmth.distributed.print.business.service.ActivitiService;
-//import com.qmth.teachcloud.common.util.Result;
-//import com.qmth.teachcloud.common.util.ResultUtil;
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiOperation;
-//import io.swagger.annotations.ApiParam;
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RequestMethod;
-//import org.springframework.web.bind.annotation.RequestParam;
-//import org.springframework.web.bind.annotation.RestController;
-//import org.springframework.web.multipart.MultipartFile;
-//
-//import javax.annotation.Resource;
-//import java.io.IOException;
-//import java.util.HashMap;
-//import java.util.Map;
-//
-///**
-// * @Description: activiti demo api
-// * @Param:
-// * @return:
-// * @Author: wangliang
-// * @Date: 2021/7/12
-// */
-//@Api(tags = "工作流Controller")
-//@RestController
-//@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.basic}/activiti")
-//@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
-//public class ActivitiController {
-//
-//    @Resource
-//    private ActivitiService activitiService;
-//
-//    @ApiOperation(value = "注册流程")
-//    @RequestMapping(value = "/createDeployment", method = RequestMethod.POST)
-//    public Result createDeployment(@RequestParam(value = "processFileName") String processFileName) {
-//        activitiService.createDeployment(processFileName);
-//        return ResultUtil.ok();
-//    }
-//
-//    @ApiOperation(value = "上传流程")
-//    @RequestMapping(value = "/updateDeployment", method = RequestMethod.POST)
-//    public Result uploadDeployment(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws IOException {
-//        activitiService.uploadDeployment(file);
-//        return ResultUtil.ok();
-//    }
-//
-//    @ApiOperation(value = "启动流程")
-//    @RequestMapping(value = "/startActivity", method = RequestMethod.POST)
-//    public Result startActivity(@RequestParam(value = "processKey") String processKey) {
-//        Map<String, Object> map = new HashMap<>();
-//        map.put("userId", 1L);
-//        map.put("approveId", 2L);
-//        map.put("assigneeId", 3L);
-//        activitiService.startActivity(processKey, null);
-//        return ResultUtil.ok();
-//    }
-//
-//    @ApiOperation(value = "获取待办")
-//    @RequestMapping(value = "/getTaskList", method = RequestMethod.POST)
-//    public Result getTaskList() {
-//        activitiService.getTaskList();
-//        return ResultUtil.ok();
-//    }
-//
-//    @ApiOperation(value = "提交")
-//    @RequestMapping(value = "/complete", method = RequestMethod.POST)
-//    public Result complete(@RequestParam(value = "taskId") String taskId) {
-//        activitiService.complete(taskId);
-//        return ResultUtil.ok();
-//    }
-//
-//    @ApiOperation(value = "根据流程id直接结束流程")
-//    @RequestMapping(value = "/deleteProcessInstance", method = RequestMethod.POST)
-//    public Result deleteProcessInstance(@RequestParam(value = "flowId") String flowId) {
-//        activitiService.deleteProcessInstance(flowId);
-//        return ResultUtil.ok();
-//    }
-//}

+ 7 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicClazzController.java

@@ -82,4 +82,11 @@ public class BasicClazzController {
         TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
         return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
     }
+
+    @ApiOperation(value = "班级数据源查询")
+    @RequestMapping(value = "/datasource", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    public Result findBasicClazzList() {
+        return ResultUtil.ok(basicClazzService.findClazzDatasource());
+    }
 }

+ 2 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicStudentController.java

@@ -1,12 +1,10 @@
 package com.qmth.distributed.print.api;
 
 
-import com.qmth.boot.api.annotation.Aac;
-import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.distributed.print.business.bean.params.BasicStudentParams;
+import com.qmth.teachcloud.common.bean.params.BasicStudentParams;
 import com.qmth.distributed.print.business.bean.result.EditResult;
-import com.qmth.distributed.print.business.service.BasicStudentService;
+import com.qmth.teachcloud.common.service.BasicStudentService;
 import com.qmth.distributed.print.business.service.PrintCommonService;
 import com.qmth.distributed.print.business.templete.execute.AsyncStudentDataImportService;
 import com.qmth.teachcloud.common.contant.SystemConstant;

+ 0 - 93
distributed-print/src/main/java/com/qmth/distributed/print/api/SysPrivilegeController.java

@@ -1,93 +0,0 @@
-package com.qmth.distributed.print.api;
-
-import com.qmth.boot.api.annotation.Aac;
-import com.qmth.boot.api.annotation.BOOL;
-import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.distributed.print.business.bean.result.EditResult;
-import com.qmth.teachcloud.common.bean.dto.PrivilegeDto;
-import com.qmth.teachcloud.common.entity.SysPrivilege;
-import com.qmth.teachcloud.common.service.SysPrivilegeService;
-import com.qmth.teachcloud.common.util.Result;
-import com.qmth.teachcloud.common.util.ResultUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * <p>
- * 菜单权限表 前端控制器
- * </p>
- *
- * @author xf
- * @since 2021-03-23
- */
-@Api(tags = "菜单权限Controller")
-@RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.sys}/privilege")
-public class SysPrivilegeController {
-
-    @Autowired
-    private SysPrivilegeService sysPrivilegeService;
-
-    /**
-     * 查询
-     *
-     * @return
-     */
-    @ApiOperation(value = "查询")
-    @RequestMapping(value = "/list", method = RequestMethod.POST)
-    public Result list() {
-        return ResultUtil.ok(sysPrivilegeService.listPrivilegeTreeNew());
-    }
-
-    /**
-     * 查询需要授权的菜单
-     *
-     * @return
-     */
-    @ApiOperation(value = "查询需要授权的菜单")
-    @RequestMapping(value = "/list_auth", method = RequestMethod.POST)
-    public Result listAuth() {
-        return ResultUtil.ok(sysPrivilegeService.listPrivilegeTreeAuth());
-    }
-
-    /**
-     * 新增/修改
-     *
-     * @param privilege
-     * @return
-     */
-    @ApiOperation(value = "新增/修改")
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
-    public Result save(@RequestBody SysPrivilege privilege) {
-        return ResultUtil.ok(new EditResult(sysPrivilegeService.savePrivilege(privilege)));
-    }
-
-    /**
-     * 删除
-     *
-     * @param privilege
-     * @return
-     */
-    @ApiOperation(value = "删除")
-    @RequestMapping(value = "/remove", method = RequestMethod.POST)
-    public Result remove(@RequestBody SysPrivilege privilege) {
-        return ResultUtil.ok(sysPrivilegeService.remove(privilege.getId()));
-    }
-
-    /**
-     * 角色已绑定权限列表
-     *
-     * @param roleId
-     * @return
-     */
-    @ApiOperation(value = "角色已绑定权限列表")
-    @RequestMapping(value = "/get_role_privileges", method = RequestMethod.POST)
-    public Result getRolePrivileges(@RequestParam(value = "roleId", required = true) Long roleId) {
-        return ResultUtil.ok(sysPrivilegeService.getRolePrivileges(roleId));
-    }
-}
-

+ 0 - 115
distributed-print/src/main/java/com/qmth/distributed/print/api/SysRoleController.java

@@ -1,115 +0,0 @@
-package com.qmth.distributed.print.api;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.teachcloud.common.entity.SysRole;
-import com.qmth.teachcloud.common.service.SysRoleService;
-import com.qmth.teachcloud.common.util.Result;
-import com.qmth.teachcloud.common.util.ResultUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.security.NoSuchAlgorithmException;
-import java.util.List;
-
-/**
- * <p>
- * 角色表 前端控制器
- * </p>
- *
- * @author xf
- * @since 2021-03-23
- */
-@Api(tags = "角色Controller")
-@RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.sys}/role")
-public class SysRoleController {
-
-    @Autowired
-    private SysRoleService sysRoleService;
-
-    /**
-     * 查询
-     *
-     * @param name
-     * @param enable
-     * @param pageNumber
-     * @param pageSize
-     * @return
-     */
-    @ApiOperation(value = "查询")
-    @RequestMapping(value = "/list", method = RequestMethod.POST)
-    public Result list(@RequestParam(value = "name", required = false) String name,
-                       @RequestParam(value = "enable", required = false) Boolean enable,
-                       @RequestParam(value = "pageNumber", required = true) Integer pageNumber,
-                       @RequestParam(value = "pageSize", required = true) Integer pageSize) {
-        return ResultUtil.ok(sysRoleService.list(name, enable, pageNumber, pageSize));
-    }
-
-    /**
-     * 新增用户时查询角色方法
-     *
-     * @return
-     */
-    @ApiOperation(value = "新增用户时查询角色方法")
-    @RequestMapping(value = "/list_to_user", method = RequestMethod.POST)
-    public Result listToUser() {
-        return ResultUtil.ok(sysRoleService.listToUser());
-    }
-
-    /**
-     * 新增/修改
-     *
-     * @param role
-     * @return
-     */
-    @ApiOperation(value = "新增/修改")
-    @RequestMapping(value = "/save", method = RequestMethod.POST)
-    public Result save(@Valid @RequestBody SysRole role, BindingResult bindingResult) {
-        if (bindingResult.hasErrors()) {
-            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-        }
-        return ResultUtil.ok(sysRoleService.saveRoleNew(role));
-    }
-
-    /**
-     * 启用/禁用
-     *
-     * @param role
-     * @return
-     */
-    @ApiOperation(value = "启用/禁用")
-    @RequestMapping(value = "/enable", method = RequestMethod.POST)
-    public Result enable(@RequestBody SysRole role) throws NoSuchAlgorithmException {
-        return ResultUtil.ok(sysRoleService.enable(role));
-    }
-
-    /**
-     * 删除
-     *
-     * @param id
-     * @return
-     */
-    @ApiOperation(value = "删除")
-    @RequestMapping(value = "/remove", method = RequestMethod.POST)
-    public Result remove(Long id) {
-        return ResultUtil.ok(sysRoleService.remove(id));
-    }
-
-    /**
-     * 用户已绑定角色列表
-     *
-     * @param userId
-     * @return
-     */
-    @ApiOperation(value = "用户已绑定角色列表")
-    @RequestMapping(value = "/get_user_roles", method = RequestMethod.POST)
-    public Result getUserRoles(@RequestParam(value = "userId", required = true) Long userId) {
-        return ResultUtil.ok(sysRoleService.getUserRoles(userId));
-    }
-}
-

+ 3 - 3
distributed-print/src/main/resources/processes/GdykdxPaperApprove.bpmn

@@ -2,9 +2,9 @@
 <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
   <process id="GdykdxPaperApprove" name="GdykdxPaperApprove" isExecutable="true">
     <startEvent id="startevent1" name="Start"></startEvent>
-    <userTask id="usertask1" name="提交试卷(命题老师)" activiti:assignee="${approveId}"></userTask>
+    <userTask id="usertask1" name="提交试卷" activiti:assignee="${approveId}"></userTask>
     <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
-    <userTask id="usertask2" name="审核试卷(教研室主任)">
+    <userTask id="usertask2" name="审核试卷">
       <extensionElements>
         <activiti:taskListener event="create" class="com.qmth.distributed.print.business.activiti.DirectorApproveListener"></activiti:taskListener>
       </extensionElements>
@@ -13,7 +13,7 @@
     <endEvent id="endevent1" name="End"></endEvent>
     <exclusiveGateway id="exclusivegateway1" name="审批"></exclusiveGateway>
     <sequenceFlow id="flow3" sourceRef="usertask2" targetRef="exclusivegateway1"></sequenceFlow>
-    <userTask id="usertask3" name="审核试卷(教学院长)">
+    <userTask id="usertask3" name="审核试卷">
       <extensionElements>
         <activiti:taskListener event="create" class="com.qmth.distributed.print.business.activiti.PresidentApproveListener"></activiti:taskListener>
       </extensionElements>

+ 87 - 95
teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/SysPrivilegeController.java

@@ -1,95 +1,87 @@
-//package com.qmth.teachcloud.common.api.api;
-//
-//import com.qmth.boot.api.constant.ApiConstant;
-//import com.qmth.teachcloud.common.bean.dto.PrivilegeDto;
-//import com.qmth.teachcloud.common.entity.SysPrivilege;
-//import com.qmth.teachcloud.common.service.SysPrivilegeService;
-//import com.qmth.teachcloud.common.util.Result;
-//import com.qmth.teachcloud.common.util.ResultUtil;
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiOperation;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.web.bind.annotation.*;
-//
-//import java.util.List;
-//
-///**
-// * <p>
-// * 菜单权限表 前端控制器
-// * </p>
-// *
-// * @author xf
-// * @since 2021-03-23
-// */
-//@Api(tags = "菜单权限Controller")
-//@RestController
-//@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.sys}/privilege")
-//public class SysPrivilegeController {
-//
-//    @Autowired
-//    private SysPrivilegeService sysPrivilegeService;
-//
-//    /**
-//     * 查询
-//     *
-//     * @return
-//     */
-//    @ApiOperation(value = "查询")
-//    @RequestMapping(value = "/list", method = RequestMethod.POST)
-//    public Result list() {
-//        List<PrivilegeDto> privilegeDtoList = sysPrivilegeService.listPrivilegeTree();
-//        return ResultUtil.ok(privilegeDtoList);
-//    }
-//
-//    /**
-//     * 查询需要授权的菜单
-//     *
-//     * @return
-//     */
-//    @ApiOperation(value = "查询需要授权的菜单")
-//    @RequestMapping(value = "/list_auth", method = RequestMethod.POST)
-//    public Result listAuth() {
-//        List<PrivilegeDto> privilegeDtoList = sysPrivilegeService.listPrivilegeTreeAuth();
-//        return ResultUtil.ok(privilegeDtoList);
-//    }
-//
-//    /**
-//     * 新增/修改
-//     *
-//     * @param privilege
-//     * @return
-//     */
-//    @ApiOperation(value = "新增/修改")
-//    @RequestMapping(value = "/save", method = RequestMethod.POST)
-//    public Result save( @RequestBody SysPrivilege privilege) {
-//        String id = sysPrivilegeService.savePrivilege(privilege);
-//        return ResultUtil.ok(id,"");
-//    }
-//
-//    /**
-//     * 删除
-//     *
-//     * @param privilege
-//     * @return
-//     */
-//    @ApiOperation(value = "删除")
-//    @RequestMapping(value = "/remove", method = RequestMethod.POST)
-//    public Result remove(@RequestBody SysPrivilege privilege) {
-//        boolean isSuccess = sysPrivilegeService.remove(privilege.getId());
-//        return ResultUtil.ok(isSuccess);
-//    }
-//
-//    /**
-//     * 角色已绑定权限列表
-//     *
-//     * @param roleId
-//     * @return
-//     */
-//    @ApiOperation(value = "角色已绑定权限列表")
-//    @RequestMapping(value = "/get_role_privileges", method = RequestMethod.POST)
-//    public Result getRolePrivileges(@RequestParam(value = "roleId", required = true) Long roleId) {
-//        List<String> list = sysPrivilegeService.getRolePrivileges(roleId);
-//        return ResultUtil.ok(list);
-//    }
-//}
-//
+package com.qmth.teachcloud.common.api.api;
+
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.teachcloud.common.entity.SysPrivilege;
+import com.qmth.teachcloud.common.service.SysPrivilegeService;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 菜单权限表 前端控制器
+ * </p>
+ *
+ * @author xf
+ * @since 2021-03-23
+ */
+@Api(tags = "菜单权限Controller")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.sys}/privilege")
+public class SysPrivilegeController {
+
+    @Autowired
+    private SysPrivilegeService sysPrivilegeService;
+
+    /**
+     * 查询
+     *
+     * @return
+     */
+    @ApiOperation(value = "查询")
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    public Result list() {
+        return ResultUtil.ok(sysPrivilegeService.listPrivilegeTreeNew());
+    }
+
+    /**
+     * 查询需要授权的菜单
+     *
+     * @return
+     */
+    @ApiOperation(value = "查询需要授权的菜单")
+    @RequestMapping(value = "/list_auth", method = RequestMethod.POST)
+    public Result listAuth() {
+        return ResultUtil.ok(sysPrivilegeService.listPrivilegeTreeAuth());
+    }
+
+    /**
+     * 新增/修改
+     *
+     * @param privilege
+     * @return
+     */
+    @ApiOperation(value = "新增/修改")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public Result save(@RequestBody SysPrivilege privilege) {
+        return ResultUtil.ok(sysPrivilegeService.savePrivilege(privilege));
+    }
+
+    /**
+     * 删除
+     *
+     * @param privilege
+     * @return
+     */
+    @ApiOperation(value = "删除")
+    @RequestMapping(value = "/remove", method = RequestMethod.POST)
+    public Result remove(@RequestBody SysPrivilege privilege) {
+        return ResultUtil.ok(sysPrivilegeService.remove(privilege.getId()));
+    }
+
+    /**
+     * 角色已绑定权限列表
+     *
+     * @param roleId
+     * @return
+     */
+    @ApiOperation(value = "角色已绑定权限列表")
+    @RequestMapping(value = "/get_role_privileges", method = RequestMethod.POST)
+    public Result getRolePrivileges(@RequestParam(value = "roleId", required = true) Long roleId) {
+        return ResultUtil.ok(sysPrivilegeService.getRolePrivileges(roleId));
+    }
+}
+

+ 113 - 113
teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/SysRoleController.java

@@ -1,113 +1,113 @@
-//package com.qmth.distributed.print.api;
-//
-//import com.baomidou.mybatisplus.core.metadata.IPage;
-//import com.qmth.boot.api.constant.ApiConstant;
-//import com.qmth.teachcloud.common.entity.SysRole;
-//import com.qmth.teachcloud.common.service.SysRoleService;
-//import com.qmth.teachcloud.common.util.Result;
-//import com.qmth.teachcloud.common.util.ResultUtil;
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiOperation;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.validation.BindingResult;
-//import org.springframework.web.bind.annotation.*;
-//
-//import javax.validation.Valid;
-//import java.util.List;
-//
-///**
-// * <p>
-// * 角色表 前端控制器
-// * </p>
-// *
-// * @author xf
-// * @since 2021-03-23
-// */
-//@Api(tags = "角色Controller")
-//@RestController
-//@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.sys}/role")
-//public class SysRoleController {
-//
-//    @Autowired
-//    private SysRoleService sysRoleService;
-//
-//    /**
-//     * 查询
-//     *
-//     * @param name
-//     * @param enable
-//     * @param pageNumber
-//     * @param pageSize
-//     * @return
-//     */
-//    @ApiOperation(value = "查询")
-//    @RequestMapping(value = "/list", method = RequestMethod.POST)
-//    public Result list(@RequestParam(value = "name", required = false) String name,
-//                       @RequestParam(value = "enable", required = false) Boolean enable,
-//                       @RequestParam(value = "pageNumber", required = true) Integer pageNumber,
-//                       @RequestParam(value = "pageSize", required = true) Integer pageSize) {
-//        return ResultUtil.ok(sysRoleService.list(name, enable, pageNumber, pageSize));
-//    }
-//
-//    /**
-//     * 新增用户时查询角色方法
-//     *
-//     * @return
-//     */
-//    @ApiOperation(value = "新增用户时查询角色方法")
-//    @RequestMapping(value = "/list_to_user", method = RequestMethod.POST)
-//    public Result listToUser() {
-//        return ResultUtil.ok(sysRoleService.listToUser());
-//    }
-//
-//    /**
-//     * 新增/修改
-//     *
-//     * @param role
-//     * @return
-//     */
-//    @ApiOperation(value = "新增/修改")
-//    @RequestMapping(value = "/save", method = RequestMethod.POST)
-//    public Result save(@Valid @RequestBody SysRole role, BindingResult bindingResult) {
-//        if (bindingResult.hasErrors()) {
-//            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-//        }
-//        return ResultUtil.ok(sysRoleService.saveRoleNew(role));
-//    }
-//
-//    /**
-//     * 启用/禁用
-//     *
-//     * @param role
-//     * @return
-//     */
-//    @ApiOperation(value = "启用/禁用")
-//    @RequestMapping(value = "/enable", method = RequestMethod.POST)
-//    public Result enable(@RequestBody SysRole role) {
-//        return ResultUtil.ok(sysRoleService.enable(role));
-//    }
-//
-//    /**
-//     * 删除
-//     *
-//     * @param id
-//     * @return
-//     */
-//    @ApiOperation(value = "删除")
-//    @RequestMapping(value = "/remove", method = RequestMethod.POST)
-//    public Result remove(Long id) {
-//        return ResultUtil.ok(sysRoleService.remove(id));
-//    }
-//
-//    /**
-//     * 用户已绑定角色列表
-//     *
-//     * @param userId
-//     * @return
-//     */
-//    @ApiOperation(value = "用户已绑定角色列表")
-//    @RequestMapping(value = "/get_user_roles", method = RequestMethod.POST)
-//    public Result getUserRoles(@RequestParam(value = "userId", required = true) Long userId) {
-//        return ResultUtil.ok(sysRoleService.getUserRoles(userId));
-//    }
-//}
+package com.qmth.teachcloud.common.api.api;
+
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.teachcloud.common.entity.SysRole;
+import com.qmth.teachcloud.common.service.SysRoleService;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.security.NoSuchAlgorithmException;
+
+/**
+ * <p>
+ * 角色表 前端控制器
+ * </p>
+ *
+ * @author xf
+ * @since 2021-03-23
+ */
+@Api(tags = "角色Controller")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.sys}/role")
+public class SysRoleController {
+
+    @Autowired
+    private SysRoleService sysRoleService;
+
+    /**
+     * 查询
+     *
+     * @param name
+     * @param enable
+     * @param pageNumber
+     * @param pageSize
+     * @return
+     */
+    @ApiOperation(value = "查询")
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    public Result list(@RequestParam(value = "name", required = false) String name,
+                       @RequestParam(value = "enable", required = false) Boolean enable,
+                       @RequestParam(value = "pageNumber", required = true) Integer pageNumber,
+                       @RequestParam(value = "pageSize", required = true) Integer pageSize) {
+        return ResultUtil.ok(sysRoleService.list(name, enable, pageNumber, pageSize));
+    }
+
+    /**
+     * 新增用户时查询角色方法
+     *
+     * @return
+     */
+    @ApiOperation(value = "新增用户时查询角色方法")
+    @RequestMapping(value = "/list_to_user", method = RequestMethod.POST)
+    public Result listToUser() {
+        return ResultUtil.ok(sysRoleService.listToUser());
+    }
+
+    /**
+     * 新增/修改
+     *
+     * @param role
+     * @return
+     */
+    @ApiOperation(value = "新增/修改")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public Result save(@Valid @RequestBody SysRole role, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        return ResultUtil.ok(sysRoleService.saveRoleNew(role));
+    }
+
+    /**
+     * 启用/禁用
+     *
+     * @param role
+     * @return
+     */
+    @ApiOperation(value = "启用/禁用")
+    @RequestMapping(value = "/enable", method = RequestMethod.POST)
+    public Result enable(@RequestBody SysRole role) throws NoSuchAlgorithmException {
+        return ResultUtil.ok(sysRoleService.enable(role));
+    }
+
+    /**
+     * 删除
+     *
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "删除")
+    @RequestMapping(value = "/remove", method = RequestMethod.POST)
+    public Result remove(Long id) {
+        return ResultUtil.ok(sysRoleService.remove(id));
+    }
+
+    /**
+     * 用户已绑定角色列表
+     *
+     * @param userId
+     * @return
+     */
+    @ApiOperation(value = "用户已绑定角色列表")
+    @RequestMapping(value = "/get_user_roles", method = RequestMethod.POST)
+    public Result getUserRoles(@RequestParam(value = "userId", required = true) Long userId) {
+        return ResultUtil.ok(sysRoleService.getUserRoles(userId));
+    }
+}
+

+ 0 - 171
teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/SysUserController.java

@@ -1,171 +0,0 @@
-//package com.qmth.teachcloud.common.api.api;
-//
-//import com.baomidou.mybatisplus.core.metadata.IPage;
-//import com.qmth.boot.api.constant.ApiConstant;
-//import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
-//import com.qmth.teachcloud.common.bean.dto.UserDto;
-//import com.qmth.teachcloud.common.bean.params.UserSaveParams;
-//import com.qmth.teachcloud.common.entity.SysUser;
-//import com.qmth.teachcloud.common.service.SysUserService;
-//import com.qmth.teachcloud.common.util.Result;
-//import com.qmth.teachcloud.common.util.ResultUtil;
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiOperation;
-//import io.swagger.annotations.ApiParam;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.validation.BindingResult;
-//import org.springframework.web.bind.annotation.*;
-//
-//import javax.validation.Valid;
-//import java.security.NoSuchAlgorithmException;
-//import java.util.List;
-//
-///**
-// * <p>
-// * 用户表 前端控制器
-// * </p>
-// *
-// * @author xf
-// * @since 2021-03-23
-// */
-//@Api(tags = "用户Controller")
-//@RestController
-//@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.sys}/user")
-//public class SysUserController {
-//    private final static Logger log = LoggerFactory.getLogger(SysUserController.class);
-//
-//    @Autowired
-//    private SysUserService sysUserService;
-//
-//    /**
-//     * 查询
-//     *
-//     * @param loginName
-//     * @param roleId
-//     * @param enable
-//     * @return
-//     */
-//    @ApiOperation(value = "查询")
-//    @RequestMapping(value = "/list", method = RequestMethod.POST)
-//    public Result list(@RequestParam(value = "loginName", required = false) String loginName,
-//                       @RequestParam(value = "roleId", required = false) String roleId,
-//                       @RequestParam(value = "enable", required = false) Boolean enable,
-//                       @RequestParam(value = "pageNumber", required = true) Integer pageNumber,
-//                       @RequestParam(value = "pageSize", required = true) Integer pageSize) {
-//        IPage<UserDto> userDtos = sysUserService.list(loginName, roleId, enable, pageNumber, pageSize);
-//        return ResultUtil.ok(userDtos);
-//    }
-//
-//    /**
-//     * 查询
-//     *
-//     * @param realName
-//     * @param enable
-//     * @return
-//     */
-//    @ApiOperation(value = "查询")
-//    @RequestMapping(value = "/list_customer", method = RequestMethod.POST)
-//    public Result listCustomer(@RequestParam(value = "realName", required = false) String realName,
-//                               @RequestParam(value = "enable", required = false) Boolean enable,
-//                               @RequestParam(value = "pageNumber", required = true) Integer pageNumber,
-//                               @RequestParam(value = "pageSize", required = true) Integer pageSize) {
-//        IPage<UserDto> userDtos = sysUserService.listCustomer(realName, enable, pageNumber, pageSize);
-//        return ResultUtil.ok(userDtos);
-//    }
-//
-//    /**
-//     * 根据科目查询命题老师
-//     *
-//     * @param courseCode
-//     * @param param
-//     * @return
-//     */
-//    @ApiOperation(value = "根据科目查询命题老师")
-//    @RequestMapping(value = "/user_list", method = RequestMethod.POST)
-//    public Result userQuery(@RequestParam(value = "courseCode", required = false) String courseCode,
-//                            @RequestParam(value = "param", required = false) String param) {
-//        List<BlurryUserDto> list = sysUserService.listUser(courseCode, param);
-//        return ResultUtil.ok(list);
-//    }
-//
-//    /**
-//     * 新增/修改
-//     *
-//     * @param userSaveParams
-//     * @return
-//     */
-//    @ApiOperation(value = "新增/修改")
-//    @RequestMapping(value = "/save", method = RequestMethod.POST)
-//    public Result save(@ApiParam(value = "用户信息", required = true) @Valid @RequestBody UserSaveParams userSaveParams, BindingResult bindingResult) {
-//        if (bindingResult.hasErrors()) {
-//            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-//        }
-//        return ResultUtil.ok(sysUserService.saveUser(userSaveParams));
-//    }
-//
-//    /**
-//     * 新增客服
-//     *
-//     * @param userSaveParams
-//     * @return
-//     */
-//    @ApiOperation(value = "新增客服")
-//    @RequestMapping(value = "/save_customer", method = RequestMethod.POST)
-//    public Result saveCustomer(@ApiParam(value = "用户信息", required = true) @Valid @RequestBody UserSaveParams userSaveParams, BindingResult bindingResult) {
-//        if (bindingResult.hasErrors()) {
-//            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
-//        }
-//        return ResultUtil.ok(sysUserService.saveCustomer(userSaveParams));
-//    }
-//
-//    /**
-//     * 启用/禁用
-//     *
-//     * @param user
-//     * @return
-//     */
-//    @ApiOperation(value = "启用/禁用")
-//    @RequestMapping(value = "/enable", method = RequestMethod.POST)
-//    public Result enable(@RequestBody SysUser user) throws NoSuchAlgorithmException {
-//        return ResultUtil.ok(sysUserService.enable(user));
-//    }
-//
-//    /**
-//     * 重置密码
-//     *
-//     * @param user
-//     * @return
-//     */
-//    @ApiOperation(value = "重置密码")
-//    @RequestMapping(value = "/reset_password", method = RequestMethod.POST)
-//    public Result resetPassword(@RequestBody SysUser user) throws NoSuchAlgorithmException {
-//        return ResultUtil.ok(sysUserService.resetPassword(user.getId()));
-//    }
-//
-//    /**
-//     * 修改密码
-//     *
-//     * @return
-//     */
-//    @ApiOperation(value = "修改密码")
-//    @RequestMapping(value = "/update_password", method = RequestMethod.POST)
-//    public Result updatePassword(@RequestBody SysUser user) throws NoSuchAlgorithmException {
-//        return ResultUtil.ok(sysUserService.updatePassword(user));
-//    }
-//
-//    /**
-//     * 绑定角色
-//     *
-//     * @param sysUser
-//     * @return
-//     */
-//    @ApiOperation(value = "绑定角色")
-//    @RequestMapping(value = "/bind_roles", method = RequestMethod.POST)
-//    public Result bindRoles(@RequestBody SysUser sysUser) {
-//        boolean isSuccess = sysUserService.bindRoles(sysUser);
-//        return ResultUtil.ok(isSuccess);
-//    }
-//}
-//

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/TaskPrintClassDto.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/TaskPrintClassDto.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.bean.dto;
+package com.qmth.teachcloud.common.bean.dto;
 
 /**
  * @Date: 2021/3/29.

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/excel/BasicStudentImportDto.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/excel/BasicStudentImportDto.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.bean.dto.excel;
+package com.qmth.teachcloud.common.bean.dto.excel;
 
 import com.qmth.teachcloud.common.annotation.ExcelNote;
 

+ 1 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicCourseParams.java

@@ -37,6 +37,7 @@ public class BasicCourseParams {
     @Range(min = 1L, message = "请选择所属教研室")
     private Long teachingRoomId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "授课班级集合")
     @NotEmpty(message = "请输入班级名称")
     private List<Long> clazzIdList;

+ 3 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/BasicStudentParams.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicStudentParams.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.bean.params;
+package com.qmth.teachcloud.common.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -30,14 +30,12 @@ public class BasicStudentParams {
     private String studentCode;
 
     @ApiModelProperty(value = "手机号码")
-    @NotNull(message = "请输入手机号码")
-    @Length(min = 1,message = "请输入手机号码")
     private String phoneNumber;
 
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "班级信息")
-    @NotNull(message = "请输入班级信息")
-    @Length(min = 1,message = "请输入班级信息")
+    @NotNull(message = "请选择班级")
+    @Range(min = 1L, message = "请选择班级")
     private Long clazzId;
 
     public Long getId() {

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicClazzResult.java

@@ -12,7 +12,7 @@ import io.swagger.annotations.ApiModelProperty;
 public class BasicClazzResult {
 
     @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "学生id")
+    @ApiModelProperty(value = "班级id")
     private Long id;
 
     @JsonSerialize(using = ToStringSerializer.class)

+ 16 - 12
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicCourseResult.java

@@ -1,9 +1,12 @@
 package com.qmth.teachcloud.common.bean.result;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 /**
  * @Description: 课程查询结果
  * @Author: CaoZixuan
@@ -28,11 +31,12 @@ public class BasicCourseResult {
     @ApiModelProperty(value = "所属教研室名称")
     private String teachingRoomName;
 
-    @ApiModelProperty(value = "班级")
-    private String clazz;
+    @JsonIgnore
+    @ApiModelProperty(value = "班级主键集合")
+    private String clazzIds;
 
-    @ApiModelProperty(value = "班级")
-    private String clazzId;
+    @ApiModelProperty(value = "班级信息集合")
+    private List<ClazzDatasourceResult> clazzList;
 
     @ApiModelProperty(value = "是否被逻辑删除")
     private Boolean enable;
@@ -84,12 +88,12 @@ public class BasicCourseResult {
         this.teachingRoomName = teachingRoomName;
     }
 
-    public String getClazz() {
-        return clazz;
+    public List<ClazzDatasourceResult> getClazzList() {
+        return clazzList;
     }
 
-    public void setClazz(String clazz) {
-        this.clazz = clazz;
+    public void setClazzList(List<ClazzDatasourceResult> clazzList) {
+        this.clazzList = clazzList;
     }
 
     public Boolean getEnable() {
@@ -116,11 +120,11 @@ public class BasicCourseResult {
         this.createId = createId;
     }
 
-    public String getClazzId() {
-        return clazzId;
+    public String getClazzIds() {
+        return clazzIds;
     }
 
-    public void setClazzId(String clazzId) {
-        this.clazzId = clazzId;
+    public void setClazzIds(String clazzIds) {
+        this.clazzIds = clazzIds;
     }
 }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/BasicStudentResult.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/BasicStudentResult.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.bean.result;
+package com.qmth.teachcloud.common.bean.result;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 47 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/ClazzDatasourceResult.java

@@ -0,0 +1,47 @@
+package com.qmth.teachcloud.common.bean.result;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 班级数据源返回
+ * @Author: CaoZixuan
+ * @Date: 2021-08-30
+ */
+public class ClazzDatasourceResult {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "班级id")
+    private Long id;
+
+    @ApiModelProperty(value = "班级名称")
+    private String name;
+
+    @ApiModelProperty(value = "班级编号")
+    private String code;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+}

+ 3 - 5
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -31,7 +31,6 @@ public class SystemConstant {
     public static final String USER_DIR = "user.dir";
     public static final String PDF_TEMP = "pdf-temp";
     public static final String FILE_TEMP = "file-temp";
-    public static final String DOWNLOAD_TEMP = "download-temp";
     public static final String SESSION = "session:";
     public static final String TASK = "task";
     public static final String TB_TASK_ID = "tbTaskId";
@@ -42,7 +41,6 @@ public class SystemConstant {
     public static final String ERROR = "/error";
     public static final String METHOD = "post";
     public static final String DEFAULT_PASSWORD = "MTIzNDU2";
-    public static final String DEFAULT_MOBILE_NUMBER = "11111111111";
     public static final String UPDATE_TIME = "updateTime";
     public static final String PATH = "path";
     public static final String PDF_PATH = "pdfPath";
@@ -134,6 +132,7 @@ public class SystemConstant {
     public static final String REDIS_LOCK_MQ_PREFIX = "redis:lock:mq:";
     public static final int REDIS_MQ_MAX_RECONSUME = 5;
     public static final String MQ_TOPIC_BUFFER_LIST = "mq:topic:buffer:list";
+    public static boolean REDIS_MQ_LOCK = false;
 
     /**
      * redis lock
@@ -190,7 +189,6 @@ public class SystemConstant {
     public static final String GDYKDX_FLOW_KEY = "GdykdxPaperApprove";//流程key
     public static final String APPROVE_ID = "approveId";//审批id
     public static final String FLOW_ID = "flowId";//流程id
-    public static final String TASK_ID = "taskId";//命题任务id
     public static final String FLOW_TASK_ID = "flowTaskId";//流程任务id
     public static final String APPROVE = "approve";//流程审核变量
     public static final String APPROVE_SETUP = "approveSetup";//流程节点
@@ -199,7 +197,7 @@ public class SystemConstant {
     public static final String APPROVE_REMARK = "approveRemark";//流程审批意见
     public static final String REDIS_LOCK_FLOW_TASK_PREFIX = "redis:lock:flow:task:";//流程节点锁
     public static final long REDIS_LOCK_FLOW_TASK_TIME_OUT = 60L * 2;
-    public static final String REDIS_LOCK_FLOW_PREFIX = "redis:lock:flow:";//流程节点
+    public static final String REDIS_LOCK_FLOW_PREFIX = "redis:lock:flow:";//流程锁
     public static final long REDIS_LOCK_FLOW_TIME_OUT = 60L * 2;
 
     /**
@@ -314,7 +312,7 @@ public class SystemConstant {
     public static Long getHeadOrUserSchoolId() {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Long schoolId;
-        if(Objects.nonNull(ServletUtil.getRequestHeaderSchoolIdByNotVaild())){
+        if (Objects.nonNull(ServletUtil.getRequestHeaderSchoolIdByNotVaild())) {
             schoolId = Long.parseLong(ServletUtil.getRequestHeaderSchoolIdByNotVaild().toString());
         } else {
             schoolId = sysUser.getSchoolId();

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/BasicStudent.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicStudent.java

@@ -1,4 +1,4 @@
-package com.qmth.distributed.print.business.entity;
+package com.qmth.teachcloud.common.entity;
 
 import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;

+ 4 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicStudentMapper.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/BasicStudentMapper.java

@@ -1,11 +1,11 @@
-package com.qmth.distributed.print.business.mapper;
+package com.qmth.teachcloud.common.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qmth.distributed.print.business.bean.result.BasicStudentResult;
-import com.qmth.distributed.print.business.entity.BasicStudent;
+import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
+import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
+import com.qmth.teachcloud.common.entity.BasicStudent;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;

+ 7 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicClazzService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.bean.params.BasicClazzParams;
 import com.qmth.teachcloud.common.bean.result.BasicClazzResult;
+import com.qmth.teachcloud.common.bean.result.ClazzDatasourceResult;
 import com.qmth.teachcloud.common.entity.BasicClazz;
 import com.qmth.teachcloud.common.entity.SysUser;
 import org.springframework.util.LinkedMultiValueMap;
@@ -49,4 +50,10 @@ public interface BasicClazzService extends IService<BasicClazz> {
      * @return 结果
      */
     Map<String, Object> executeBasicClazzImportLogic(List<LinkedMultiValueMap<Integer, Object>> finalList, Map<String, Object> map);
+
+    /**
+     * 查询班级下拉数据源
+     * @return 班级数据源
+     */
+    List<ClazzDatasourceResult> findClazzDatasource();
 }

+ 5 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/BasicStudentService.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicStudentService.java

@@ -1,12 +1,12 @@
-package com.qmth.distributed.print.business.service;
+package com.qmth.teachcloud.common.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto;
-import com.qmth.distributed.print.business.bean.params.BasicStudentParams;
-import com.qmth.distributed.print.business.bean.result.BasicStudentResult;
-import com.qmth.distributed.print.business.entity.BasicStudent;
+import com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto;
+import com.qmth.teachcloud.common.bean.params.BasicStudentParams;
+import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
+import com.qmth.teachcloud.common.entity.BasicStudent;
 import com.qmth.teachcloud.common.entity.SysUser;
 import org.springframework.util.LinkedMultiValueMap;
 

+ 26 - 17
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicClazzServiceImpl.java

@@ -9,17 +9,12 @@ import com.qmth.teachcloud.common.bean.dto.excel.BasicClazzImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicClazzParams;
 import com.qmth.teachcloud.common.bean.result.BasicClazzResult;
+import com.qmth.teachcloud.common.bean.result.ClazzDatasourceResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.BasicCampus;
-import com.qmth.teachcloud.common.entity.BasicClazz;
-import com.qmth.teachcloud.common.entity.BasicUserCourse;
-import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.BasicClazzMapper;
-import com.qmth.teachcloud.common.service.BasicCampusService;
-import com.qmth.teachcloud.common.service.BasicClazzService;
-import com.qmth.teachcloud.common.service.BasicUserCourseService;
-import com.qmth.teachcloud.common.service.TeachcloudCommonService;
+import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.tomcat.util.buf.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -43,8 +38,8 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
     private BasicClazzMapper basicClazzMapper;
     @Resource
     private TeachcloudCommonService teachcloudCommonService;
-//    @Resource
-//    private BasicStudentService basicStudentService;
+    @Resource
+    private BasicStudentService basicStudentService;
     @Resource
     private BasicUserCourseService basicUserCourseService;
     @Resource
@@ -79,13 +74,12 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
         // 异常处理
         String errorStudent = "";
         String errorCourse = "";
-        // TODO: 2021/8/28  
-//        List<BasicStudent> basicStudentCheck = basicStudentService.list(new QueryWrapper<BasicStudent>().lambda().eq(BasicStudent::getEnable,true).in(BasicStudent::getClazzId,idList));
-//        if (basicStudentCheck.size() > 0){
-//            Set<Long> ids = basicStudentCheck.stream().map(BasicStudent::getClazzId).collect(Collectors.toSet());
-//            List<String> exStudentClazz = this.list(new QueryWrapper<BasicClazz>().lambda().in(BasicClazz::getId,ids)).stream().map(BasicClazz::getClazzName).collect(Collectors.toList());
-//            errorStudent = StringUtils.join(exStudentClazz,',');
-//        }
+        List<BasicStudent> basicStudentCheck = basicStudentService.list(new QueryWrapper<BasicStudent>().lambda().eq(BasicStudent::getEnable,true).in(BasicStudent::getClazzId,idList));
+        if (basicStudentCheck.size() > 0){
+            Set<Long> ids = basicStudentCheck.stream().map(BasicStudent::getClazzId).collect(Collectors.toSet());
+            List<String> exStudentClazz = this.list(new QueryWrapper<BasicClazz>().lambda().in(BasicClazz::getId,ids)).stream().map(BasicClazz::getClazzName).collect(Collectors.toList());
+            errorStudent = StringUtils.join(exStudentClazz,',');
+        }
 
         List<BasicUserCourse> basicUserCourseCheck = basicUserCourseService.list(new QueryWrapper<BasicUserCourse>().lambda().in(BasicUserCourse::getClazzId,idList));
         if (basicUserCourseCheck.size() > 0){
@@ -188,6 +182,21 @@ public class BasicClazzServiceImpl extends ServiceImpl<BasicClazzMapper, BasicCl
         return map;
     }
 
+    @Override
+    public List<ClazzDatasourceResult> findClazzDatasource() {
+        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
+        return this.list(new QueryWrapper<BasicClazz>().lambda()
+                .eq(BasicClazz::getEnable,true)
+                .in(BasicClazz::getOrgId,orgIds)).stream()
+                .map(e -> {
+                    ClazzDatasourceResult clazzDatasourceResult = new ClazzDatasourceResult();
+                    clazzDatasourceResult.setId(e.getId());
+                    clazzDatasourceResult.setName(e.getClazzName());
+                    clazzDatasourceResult.setCode(e.getClazzCode());
+                    return clazzDatasourceResult;
+                }).collect(Collectors.toList());
+    }
+
     /**
      * 基础班级保存助手方法
      *

+ 20 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -10,6 +10,7 @@ import com.qmth.teachcloud.common.bean.dto.excel.BasicCourseImportDto;
 import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
 import com.qmth.teachcloud.common.bean.result.BasicCourseResult;
+import com.qmth.teachcloud.common.bean.result.ClazzDatasourceResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
@@ -17,12 +18,14 @@ import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import com.qmth.teachcloud.common.mapper.BasicCourseMapper;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.LinkedMultiValueMap;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -115,7 +118,23 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
         Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         courseName = SystemConstant.translateSpecificSign(courseName);
-        return basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), courseName, startCreateTime, endCreateTime, schoolId, orgIds);
+        IPage<BasicCourseResult> iPage = basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), courseName, startCreateTime, endCreateTime, schoolId, orgIds);
+        List<BasicCourseResult> list = iPage.getRecords();
+        for (BasicCourseResult basicCourseResult : list) {
+            String clazzIds = basicCourseResult.getClazzIds();
+            String[] clazzIdArr = clazzIds.split(",");
+            List<ClazzDatasourceResult> clazzDatasourceResultList = new ArrayList<>();
+            for (String id : clazzIdArr) {
+                ClazzDatasourceResult clazzDatasourceResult = new ClazzDatasourceResult();
+                BasicClazz clazz = basicClazzService.getById(SystemConstant.convertIdToLong(id));
+                clazzDatasourceResult.setId(clazz.getId());
+                clazzDatasourceResult.setCode(clazz.getClazzCode());
+                clazzDatasourceResult.setName(clazz.getClazzName());
+                clazzDatasourceResultList.add(clazzDatasourceResult);
+            }
+            basicCourseResult.setClazzList(clazzDatasourceResultList);
+        }
+        return iPage;
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 2 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
 import com.qmth.boot.core.enums.Platform;
+import com.qmth.boot.tools.signature.SignatureType;
+import com.qmth.teachcloud.common.SignatureEntityTest;
 import com.qmth.teachcloud.common.bean.auth.AuthBean;
 import com.qmth.teachcloud.common.bean.auth.ExpireTimeBean;
 import com.qmth.teachcloud.common.bean.dto.MenuDto;

+ 1 - 3
teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml

@@ -64,10 +64,8 @@
             MAX(bc.name) AS courseName,
             MAX(teaching_room_id) AS teachingRoomId,
             MAX(org.name) AS teachingRoomName,
-            GROUP_CONCAT(clz.clazz_name
-                         SEPARATOR ',') AS clazz,
             GROUP_CONCAT(clz.id
-                         SEPARATOR ',') AS clazzId,
+                         SEPARATOR ',') AS clazzIds,
             MAX(bc.enable) as enable,
             MAX(bc.create_id) AS createId,
             MAX(bc.create_time) AS createTime

+ 3 - 3
distributed-print-business/src/main/resources/mapper/BasicStudentMapper.xml → teachcloud-common/src/main/resources/mapper/BasicStudentMapper.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.distributed.print.business.mapper.BasicStudentMapper">
+<mapper namespace="com.qmth.teachcloud.common.mapper.BasicStudentMapper">
 
-    <select id="listByClass" resultType="com.qmth.distributed.print.business.bean.dto.TaskPrintClassDto">
+    <select id="listByClass" resultType="com.qmth.teachcloud.common.bean.dto.TaskPrintClassDto">
         SELECT
             s.clazz_id classId,
             clz.clazz_name className,
@@ -23,7 +23,7 @@
     </select>
 
     <select id="findBasicStudentPage"
-            resultType="com.qmth.distributed.print.business.bean.result.BasicStudentResult">
+            resultType="com.qmth.teachcloud.common.bean.result.BasicStudentResult">
         SELECT
             stu.id,
             student_name AS studentName,

+ 7 - 0
teachcloud-task/src/main/java/com/qmth/teachcloud/task/config/RedisMessageListener.java

@@ -12,6 +12,7 @@ import com.qmth.teachcloud.common.entity.TMMqMessage;
 import com.qmth.teachcloud.common.service.TMMqMessageService;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.RedisUtil;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import org.apache.commons.text.StringEscapeUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,6 +49,10 @@ public class RedisMessageListener implements MessageListener {
 
     @Override
     public void onMessage(Message message, byte[] bytes) {
+//        log.info("SystemConstant.REDIS_MQ_LOCK start:{}", SystemConstant.REDIS_MQ_LOCK);
+        if (SystemConstant.REDIS_MQ_LOCK) {
+            return;
+        }
         MqDto mqDto = null;
         AtomicInteger integer = new AtomicInteger(0);
         try {
@@ -77,6 +82,7 @@ public class RedisMessageListener implements MessageListener {
                             finalMap.computeIfAbsent(k, v1 -> finalV);
                         });
                         asyncCreatePdfTempleteService.createPdf(finalMap, null);
+                        SystemConstant.REDIS_MQ_LOCK = true;
                         redisUtil.delete(SystemConstant.MQ_TOPIC_BUFFER_LIST, mqDto.getId());
                         break;
                     } else {
@@ -103,6 +109,7 @@ public class RedisMessageListener implements MessageListener {
                     || mqDto.getAck().intValue() == SystemConstant.POSION_ACK_TYPE)) {
                 redisUtil.releaseLock(SystemConstant.REDIS_LOCK_MQ_PREFIX + mqDto.getId());
             }
+//            log.info("SystemConstant.REDIS_MQ_LOCK end:{}", SystemConstant.REDIS_MQ_LOCK);
         }
     }
 }