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));
|
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 推送结果
|
* @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.IPortalTodoService;
|
||||||
import com.jeelowcode.module.biz.service.IRiskService;
|
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.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.bpm.config.framework.portal.core.dto.ReceiveRequestInfoDTO;
|
||||||
import com.jeelowcode.service.system.api.IApiAdminUserApi;
|
import com.jeelowcode.service.system.api.IApiAdminUserApi;
|
||||||
import com.jeelowcode.service.system.dto.AdminUserRespDTO;
|
import com.jeelowcode.service.system.dto.AdminUserRespDTO;
|
||||||
@@ -109,4 +110,26 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
|||||||
return true;
|
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