diff --git a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/controller/PortalTodoController.java b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/controller/PortalTodoController.java index b311fd8..5317fef 100644 --- a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/controller/PortalTodoController.java +++ b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/controller/PortalTodoController.java @@ -39,4 +39,16 @@ public class PortalTodoController extends BaseController { return CommonResult.success(portalTodoService.pushDoneRiskHazardWorkflow(workflowId)); } + /** + * 风险隐患推送待办取消 + * + * @param workflowId 待办id + * @return boolean 推送结果 + */ + @Operation(summary = "风险隐患推送待办取消") + @RequestMapping(value = "/risk-hazard/{workflowId}", method = RequestMethod.DELETE) + public CommonResult pushCancelRiskHazardWorkflow(@PathVariable("workflowId") Long workflowId) { + return CommonResult.success(portalTodoService.pushCancelRiskHazardWorkflow(workflowId)); + } + } diff --git a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/service/IPortalTodoService.java b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/service/IPortalTodoService.java index a1fee7b..d9b40d3 100644 --- a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/service/IPortalTodoService.java +++ b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/service/IPortalTodoService.java @@ -10,9 +10,17 @@ public interface IPortalTodoService { /** * 风险隐患推送待办完成 * - * @param workflowId 流程id + * @param id 流程id * @return boolean 推送结果 */ - boolean pushDoneRiskHazardWorkflow(Long workflowId); + boolean pushDoneRiskHazardWorkflow(Long id); + + /** + * 风险隐患推送待办取消 + * + * @param id 待办id + * @return boolean 推送结果 + */ + boolean pushCancelRiskHazardWorkflow(Long id); } diff --git a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/service/impl/PortalTodoServiceImpl.java b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/service/impl/PortalTodoServiceImpl.java index 1c858fd..05f92ae 100644 --- a/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/service/impl/PortalTodoServiceImpl.java +++ b/jeelowcode-module/jeelowcode-module-biz/src/main/java/com/jeelowcode/module/biz/service/impl/PortalTodoServiceImpl.java @@ -9,6 +9,7 @@ import com.jeelowcode.framework.utils.tool.spring.SpringUtils; import com.jeelowcode.module.biz.service.IPortalTodoService; import com.jeelowcode.module.biz.service.IRiskService; import com.jeelowcode.service.bpm.config.framework.portal.core.PortalRequest; +import com.jeelowcode.service.bpm.config.framework.portal.core.dto.DeleteRequestInfoDTO; import com.jeelowcode.service.bpm.config.framework.portal.core.dto.ReceiveRequestInfoDTO; import com.jeelowcode.service.system.api.IApiAdminUserApi; import com.jeelowcode.service.system.dto.AdminUserRespDTO; @@ -109,4 +110,26 @@ public class PortalTodoServiceImpl implements IPortalTodoService { return true; } + @Override + public boolean pushCancelRiskHazardWorkflow(Long id) { + // 0.1.查找风险隐患数据,如果查不到则放弃推送 + Map risk = riskService.getRiskById(id); + if (MapUtil.isEmpty(risk)) return false; + // 0.2.从容器中获取 PortalRequest 对象,如果没有配置则放弃通知 + PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class); + if (ObjectUtil.isNull(portalRequest)) return false; + + // 1.构建请求参数,准备推送待办信息 + DeleteRequestInfoDTO deleteRequestInfoDTO = new DeleteRequestInfoDTO() + .setFlowId(Base64.encode(String.valueOf(id))); + // 2.推送待办信息,使用try-catch避免影响上层调用方法的事务回滚 + try { + portalRequest.deleteRequestInfo(deleteRequestInfoDTO); + } catch (Exception e) { + log.error("删除待办信息失败", e); + return false; + } + return true; + } + }