package com.common.workflow.web.rest; import com.common.workflow.service.activiti.ActivitiService; import com.common.workflow.service.dto.ActiHistoricTaskDTO; import com.common.workflow.web.rest.vm.ActiCompleteVM; import com.common.workflow.web.rest.vm.ActiMyTaskVM; import com.common.workflow.web.rest.vm.ActiProcessVM; import com.common.workflow.web.rest.vm.MultiActiCompleteVM; import org.activiti.engine.task.Task; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.List; import java.util.Map; /** * Created by gyue on 2018-12-31. */ @RestController @RequestMapping("/api/acti") public class ActivitiResource { private final Logger log = LoggerFactory.getLogger(ActivitiResource.class); private final ActivitiService activitiService; public ActivitiResource(ActivitiService activitiService) { this.activitiService = activitiService; } @PostMapping("/start-process") public ResponseEntity startProcess(@Valid @RequestBody ActiProcessVM actiVm) { String processInstanceId = activitiService.startProcesses(actiVm.getProcessKey(), actiVm.getBusinessKey(), actiVm.getUserNames()); return ResponseEntity.ok(processInstanceId); } @PostMapping("/task-complete") public ResponseEntity taskComplete(@Valid @RequestBody ActiCompleteVM actiVm) { activitiService.completeTask(actiVm); return ResponseEntity.ok("true"); } @PostMapping("/multi-task-complete") public ResponseEntity MultiTaskComplete(@Valid @RequestBody MultiActiCompleteVM actiVm) { activitiService.multiCompleteTask(actiVm); return ResponseEntity.ok("true"); } @PostMapping("/my-tasks") public ResponseEntity getMyTasks(@Valid @RequestBody ActiMyTaskVM actiVm) { String businessKeys = activitiService.findTasksByUserId(actiVm.getProcessKey(), actiVm.getUserId()); return ResponseEntity.ok(businessKeys); } @PostMapping("/my-tasks-finished") public ResponseEntity getMyTasksFinished(@Valid @RequestBody ActiMyTaskVM actiVm) { String businessKeys = activitiService.findTaskHistByUserId(actiVm.getProcessKey(), actiVm.getUserId()); return ResponseEntity.ok(businessKeys); } @PostMapping("/historic-tasks") public ResponseEntity> getHistoricTasks(@Valid @RequestBody ActiProcessVM actiVm) { List taskDTOS = activitiService.getHistoricTasks(actiVm.getProcessKey(), actiVm.getBusinessKey(), actiVm.getProcessInstanceId()); return ResponseEntity.ok(taskDTOS); } @PostMapping("/historic-tasks-image") public void getActivitiProccessImage(@Valid @RequestBody ActiProcessVM actiVm, HttpServletResponse response) { activitiService.getActivitiProccessImage(actiVm.getProcessInstanceId(), response); } }