话不多说,直接上代码,这是项目目录结构,DDD领域驱动模型,任务实例单独一个package
查询我的待办代码如下,如要传入参数为用户id,
@PostMapping("listTodo") public ResultDTO<TaskInstanceDTO> listTodo(String userId){ ResultDTO<TaskInstanceDTO> resultDTO = new ResultDTO<>(ReturnCode.SUCCESS, "查询成功"); List<Task> taskList = taskInstanceApplicationService.listTodo(userId); if (CollUtil.isEmpty(taskList)) { return new ResultDTO<>(ReturnCode.FAIL, "查询无数据"); } List<HistoricProcessInstance> historicProcessInstanceList = processInstanceApplicationService.listHistoryProcessInstanceByTaskList(taskList); if (CollUtil.isEmpty(historicProcessInstanceList)) { return new ResultDTO<>(ReturnCode.FAIL, "查询无数据"); } resultDTO.setDataList(TaskInstanceAssembler.convertToTaskInstanceDTO(taskList, historicProcessInstanceList)); return resultDTO; }
下面是swagger接口测试:
根据我们之前配置的流程定义,第一个任务节点应该是张三
查询张三的待办任务,可以查询到张三有一个刚刚发起的流程实例下面的待办,因为我有很多测试数据,这边就只截了一个
完成待办代码如下:
@PostMapping("complete") public ResultDTO<TaskInstanceDTO> complete(String taskId, String userId){ ResultDTO<TaskInstanceDTO> resultDTO = new ResultDTO<>(ReturnCode.SUCCESS, "审批成功"); Boolean flag = taskInstanceApplicationService.complete(taskId, userId); if(!flag){ return new ResultDTO<>(ReturnCode.FAIL, "审批失败"); } return resultDTO; }
下面是swagger接口测试,把刚刚查到的taskId当做参数传入:
点击execute
接口调用成功,完成待办。
原文:https://www.cnblogs.com/songci/p/14616646.html