3.0 KiB
3.0 KiB
日期, 来源
| 日期 | 来源 |
|---|---|
| 2024-01-30 12:29 | 联调 |
问题详情
处理过程
先考虑了 feign 日志。
BPM 开放后
代码位置
com.cmcc.cdn.platform.selfservice.service.bpm.impl.BpmManageServiceImpl#closeBpmOrder
修改前备份
/* 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);
总结
直接 curl 发起关停重试
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
这次问题主要是因为个人观察响应结构疏忽,后边个人对响应结构的判断也要更加严谨。






