feat(biz): 新增风险隐患待办取消功能- 在 IPortalTodoService 接口中新增 pushCancelRiskHazardWorkflow 方法
- 在 PortalTodoController 中新增 DELETE 接口用于取消待办推送 - 在 PortalTodoServiceImpl 中实现待办取消逻辑,包括参数构建与异常处理 - 引入 DeleteRequestInfoDTO用于封装删除请求参数 - 对接 PortalRequest 删除接口,实现待办信息的取消推送- 增加对风险隐患数据存在性和 PortalRequest 配置的校验逻辑
This commit is contained in:
@@ -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<Boolean> pushCancelRiskHazardWorkflow(@PathVariable("workflowId") Long workflowId) {
|
||||
return CommonResult.success(portalTodoService.pushCancelRiskHazardWorkflow(workflowId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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<String, Object> 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user