puzhibing
2026-05-16 b3d1411517baca17d92dcfe3a0933cdc342b3145
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java
@@ -11,9 +11,11 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
 * 订单Feign客户端降级工厂
@@ -48,6 +50,12 @@
            }
            @Override
            public R<Long> hasUnPayOrder(String uid) {
                log.error("查询未支付订单失败,原因: {}", cause.getMessage());
                return R.ok(0L);
            }
            @Override
            public R<XpOrder> queryOrderById(Long orderId) {
                log.error("根据订单id查询订单信息查询失败,原因: {}", cause.getMessage());
                return R.fail("根据订单id查询订单信息查询失败" + cause.getMessage());
@@ -79,6 +87,18 @@
            }
            @Override
            public R<Integer> todayCancellationCount(Long userId) {
                log.error("获取当日取消订单次数失败,原因: {}", cause.getMessage());
                return R.fail("获取当日取消订单次数失败");
            }
            @Override
            public R<Integer> countActiveOrdersByCityId(Long cityId) {
                log.error("查询进行中订单数量失败,原因: {}", cause.getMessage());
                return R.ok(0);
            }
            @Override
            public R<?> popOrder(PopOrderDto dto) {
                log.error("订单出队失败,原因: {}", cause.getMessage());
                return R.fail();
@@ -96,12 +116,47 @@
                return R.fail("更新订单状态失败");
            }
            @Override
            public R<String> carAbnormalUpdateOrderStatus(Long orderId) {
                return null;
            }
            @Override
            public R<String> saveVehicleLocation(OrderTrajectoryVo orderTrajectory) {
                log.error("保存订单轨迹数据失败,原因: {}", cause.getMessage());
                return R.fail("保存订单轨迹数据失败");
            }
            @Override
            public R<Integer> determineUserType(Long userId) {
                log.error("确定用户类型失败,原因: {}", cause.getMessage());
                return R.fail("确定用户类型失败");
            }
            @Override
            public R<Long> getUserOrderNum(Long userId) {
                log.error("获取用户订单数量失败,原因: {}", cause.getMessage());
                return R.fail("获取用户订单数量失败");
            }
            @Override
            public R<List<Long>> getUserTypeIdList(Integer userType) {
                return R.fail("获取各类型用户数据失败");
            }
            @Override
            public R<?> addNewCruiseMission(String orderId) {
                return R.fail("生成巡游单失败");
            }
            @Override
            public R<?> againPushOrder(String orderId) {
                return R.fail("再次推送订单失败");
            }
        };
    }
}