流程任务feign接口添加
This commit is contained in:
@@ -2,6 +2,8 @@ package com.zt.plat.module.bpm.api.task;
|
|||||||
|
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
||||||
|
import com.zt.plat.module.bpm.api.task.dto.BpmTaskApproveReqDTO;
|
||||||
|
import com.zt.plat.module.bpm.api.task.dto.BpmTaskRejectReqDTO;
|
||||||
import com.zt.plat.module.bpm.enums.ApiConstants;
|
import com.zt.plat.module.bpm.enums.ApiConstants;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
@@ -9,6 +11,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
@@ -24,4 +27,13 @@ public interface BpmProcessInstanceApi {
|
|||||||
CommonResult<String> createProcessInstance(@RequestParam("userId") Long userId,
|
CommonResult<String> createProcessInstance(@RequestParam("userId") Long userId,
|
||||||
@Valid @RequestBody BpmProcessInstanceCreateReqDTO reqDTO);
|
@Valid @RequestBody BpmProcessInstanceCreateReqDTO reqDTO);
|
||||||
|
|
||||||
|
|
||||||
|
@PutMapping(PREFIX + "/approveTask")
|
||||||
|
@Operation(summary = "通过任务")
|
||||||
|
CommonResult<Boolean> approveTask(@Valid @RequestBody BpmTaskApproveReqDTO reqVO);
|
||||||
|
|
||||||
|
@PutMapping(PREFIX + "/rejectTask")
|
||||||
|
@Operation(summary = "不通过任务")
|
||||||
|
CommonResult<Boolean> rejectTask(@Valid @RequestBody BpmTaskRejectReqDTO reqVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.zt.plat.module.bpm.api.task.dto;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Schema(description = "RPC 服务 - 通过流程任务的 Request DTO")
|
||||||
|
@Data
|
||||||
|
public class BpmTaskApproveReqDTO {
|
||||||
|
|
||||||
|
@Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||||
|
@NotEmpty(message = "任务编号不能为空")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "审批意见", example = "不错不错!")
|
||||||
|
private String reason;
|
||||||
|
|
||||||
|
@Schema(description = "签名", example = "https://www.iocoder.cn/sign.png")
|
||||||
|
private String signPicUrl;
|
||||||
|
|
||||||
|
@Schema(description = "变量实例(动态表单)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private Map<String, Object> variables;
|
||||||
|
|
||||||
|
@Schema(description = "下一个节点审批人", example = "{nodeId:[1, 2]}")
|
||||||
|
private Map<String, List<Long>> nextAssignees; // 为什么是 Map,而不是 List 呢?因为下一个节点可能是多个,例如说并行网关的情况
|
||||||
|
|
||||||
|
// 新增任务变量实例,业务表单
|
||||||
|
@Schema(description = "任务变量实例,业务表单", example = "{'formField1': 'value1', 'formField2': 'value2'}")
|
||||||
|
private Map<String, String> taskVariables;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.zt.plat.module.bpm.api.task.dto;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Schema(description = "RPC 服务 - 不通过流程任务的 Request DTO")
|
||||||
|
@Data
|
||||||
|
public class BpmTaskRejectReqDTO {
|
||||||
|
|
||||||
|
@Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||||
|
@NotEmpty(message = "任务编号不能为空")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!")
|
||||||
|
private String reason;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,14 +1,21 @@
|
|||||||
package com.zt.plat.module.bpm.api.task;
|
package com.zt.plat.module.bpm.api.task;
|
||||||
|
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
|
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||||
import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
||||||
|
import com.zt.plat.module.bpm.api.task.dto.BpmTaskApproveReqDTO;
|
||||||
|
import com.zt.plat.module.bpm.api.task.dto.BpmTaskRejectReqDTO;
|
||||||
|
import com.zt.plat.module.bpm.controller.admin.task.vo.task.BpmTaskApproveReqVO;
|
||||||
|
import com.zt.plat.module.bpm.controller.admin.task.vo.task.BpmTaskRejectReqVO;
|
||||||
import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService;
|
import com.zt.plat.module.bpm.service.task.BpmProcessInstanceService;
|
||||||
|
import com.zt.plat.module.bpm.service.task.BpmTaskService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||||
|
import static com.zt.plat.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flowable 流程实例 Api 实现类
|
* Flowable 流程实例 Api 实现类
|
||||||
@@ -23,9 +30,24 @@ public class BpmProcessInstanceApiImpl implements BpmProcessInstanceApi {
|
|||||||
@Resource
|
@Resource
|
||||||
private BpmProcessInstanceService processInstanceService;
|
private BpmProcessInstanceService processInstanceService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private BpmTaskService taskService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResult<String> createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO reqDTO) {
|
public CommonResult<String> createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO reqDTO) {
|
||||||
return success(processInstanceService.createProcessInstance(userId, reqDTO));
|
return success(processInstanceService.createProcessInstance(userId, reqDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<Boolean> approveTask(BpmTaskApproveReqDTO reqVO) {
|
||||||
|
taskService.approveTask(getLoginUserId(), BeanUtils.toBean(reqVO, BpmTaskApproveReqVO.class));
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<Boolean> rejectTask(BpmTaskRejectReqDTO reqVO) {
|
||||||
|
taskService.rejectTask(getLoginUserId(), BeanUtils.toBean(reqVO, BpmTaskRejectReqVO.class));
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user