--- 日期: 2024-01-30 12:29 来源: 联调 --- # 问题详情 ![](../../../../attachment/images-uuid/288fffe8b76e4e76a22276dacbdb498b.jpg) ![](../../../../attachment/images-uuid/4b8b5688343d418bbf2002ec8e6982d7.png) # 处理过程 先考虑了 feign 日志。 ![](../../../../attachment/images-uuid/6dff7becbc5244e18cf9cb9548a2cbc7.png) ![](../../../../attachment/images-paste/image-20240130123420932.png) BPM 开放后 ![](../../../../attachment/images-uuid/4c6703df0e474f93a0a902dbbefc6c73.png) # 代码位置 com.cmcc.cdn.platform.selfservice.service.bpm.impl.BpmManageServiceImpl#closeBpmOrder 修改前备份 ```java /* 6.17.0版本需求:esop来源现网验收去掉只能选择验收通过的限制 * 因联调过程中发现,域名配置需求工单业务结束回滚后,无法修改重提下发BPM。暂时启用客户经理直接关单重提方案。 * 但业务结束回滚后关单此处BPM异常。故此处注释异常抛出,通过任务表记录状态,优化需求更新后再启用校验。 */ BaseResponse response = null; try { BpmService bpmService = bpmManageTrancService.getBpmService(); response = bpmService.closeBpmOrder(closeOrderRequest); } catch (Exception e) { log.error("通知bpm关单失败: {}", e.getMessage(), e); bpmTaskPO.setErrorMsg("通知bpm关单失败"); // throw new PlatformException("通知bpm关单失败"); } log.info("close order response:{}", JSONObject.toJSONString(response)); if (ObjectUtils.isEmpty(response)) { log.error("bpm关单响应为空"); bpmTaskPO.setErrorMsg("bpm关单响应为空"); } if (!ObjectUtils.isEmpty(response) && 0 != response.getError_code()) { log.error("bpm关单响应异常: {}", response.getError_msg()); bpmTaskPO.setErrorMsg("bpm关单响应异常"); // throw new PlatformException("BPM侧关单失败"); } else { bpmTaskPO.setTaskState(BpmTaskStateEnum.SUCCESS.name()); bpmTaskPO.setErrorMsg("通知bpm关单成功"); } bpmTaskDao.save(bpmTaskPO); ``` ![](../../../../attachment/images-paste/image-20240130123600024.png) ![](../../../../attachment/images-paste/image-20240130123636689.png) # 总结 直接 curl 发起关停重试 ```shell curl --location 'https://stgbpm-uops.cdn.10086.cn/runtime/v1/cdn/business/change/adaptation/closeOrder' \ --header 'AccessKey: Mlvb2EWP' \ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJpYnNmcm9tenciLCJleHAiOjE3MDY2NjYzOTIsImlhdCI6MTcwNjU3OTk5Mn0.-eXR8-W0iyFXhYx7riDSyCTfTcC3MN5JMpto0Ww7IbFok2OwMatIlphw08prba_uTZciyRmjNDLZXNZn9j-moQ' \ --header 'Content-Type: application/json' \ --data '{"message":"手动终止","ibs_code":"001-20240130001","user_id":"840"}' \ --insecure ``` 这次问题主要是因为个人观察响应结构疏忽,后边个人对响应结构的判断也要更加严谨。 # 问题日志