Files
notes/work/移动杭研/问题处理/2024-01/0130-BPM关单接口返回异常.md
2026-03-01 01:43:46 +08:00

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

这次问题主要是因为个人观察响应结构疏忽,后边个人对响应结构的判断也要更加严谨。

问题日志