liujie
2026-02-13 ad4bd752850aee2ef13cc4c9efaaacee9fdbbd07
feat(fallback): 添加订单出队和地理查询实体保存的降级处理

- 在XpOrderClientFallbackFactory中添加PopOrderDto导入
- 实现popOrder方法的降级逻辑并记录错误日志
- 在XpPricingClientFallbackFactory中添加XpGeoQueryEntity导入
- 实现saveXpGeoQueryEntity方法的降级逻辑并记录错误日志
- 完善熔断降级机制以提高系统稳定性
2个文件已修改
14 ■■■■■ 已修改文件
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpPricingClientFallbackFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/operation/XpPricingClientFallbackFactory.java
@@ -4,6 +4,7 @@
import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
import com.xiaopeng.api.feignClient.operation.XpPointClient;
import com.xiaopeng.api.feignClient.operation.XpPricingClient;
import com.xiaopeng.api.model.operation.XpGeoQueryEntity;
import com.xiaopeng.api.model.operation.XpPricing;
import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
import com.xiaopeng.common.core.domain.R;
@@ -31,6 +32,12 @@
                log.error("根据开通城市获取定价失败", cause);
                return R.ok(null);
            }
            @Override
            public R<?> saveXpGeoQueryEntity(XpGeoQueryEntity xpGeoQueryEntity) {
                log.error("保存XpGeoQueryEntity失败", cause);
                return R.fail();
            }
        };
    }
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java
@@ -1,6 +1,7 @@
package com.xiaopeng.api.factory.order;
import com.xiaopeng.api.dto.order.GetOrderNumDto;
import com.xiaopeng.api.dto.order.PopOrderDto;
import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
import com.xiaopeng.api.feignClient.order.XpOrderClient;
@@ -75,6 +76,12 @@
                log.error("获取订单数量失败,原因: {}", cause.getMessage());
                return R.fail();
            }
            @Override
            public R<?> popOrder(PopOrderDto dto) {
                log.error("订单出队失败,原因: {}", cause.getMessage());
                return R.fail();
            }
        };
    }
}