package com.xiaopeng.api.factory.order; import com.xiaopeng.api.dto.order.AddCruiseMissionDto; 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.XpCruiseOrderClient; import com.xiaopeng.api.feignClient.order.XpOrderClient; import com.xiaopeng.api.model.order.XpCruiseOrder; import com.xiaopeng.api.model.order.XpOrder; import com.xiaopeng.common.core.domain.R; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.ArrayList; /** * 订单Feign客户端降级工厂 * * @author mitao */ @Slf4j @Component public class XpCruiseOrderClientFallbackFactory implements FallbackFactory { @Override public XpCruiseOrderClient create(Throwable cause) { log.error("订单服务调用失败: {}", cause.getMessage()); return new XpCruiseOrderClient() { @Override public R addCruiseOrder(XpCruiseOrder order) { log.error("订单服务调用失败: {}", cause.getMessage()); return null; } @Override public R addCruiseMission(AddCruiseMissionDto dto) { log.error("订单服务调用失败: {}", cause.getMessage()); return null; } @Override public R updateCruiseOrder(String vin) { log.error("订单服务调用失败: {}", cause.getMessage()); return R.fail("根据车辆VIN查询取消订单失败:" + cause.getMessage()); } @Override public R updateCruiseOrderId(Long orderId) { return R.fail("根据订单ID查询取消订单失败:" + cause.getMessage()); } @Override public R closeCruiseOrder(String vin) { log.error("订单服务调用失败: {}", cause.getMessage()); return R.fail("根据VIN码关闭巡游单失败"); } @Override public R getCruiseOrder(Long orderId) { log.error("订单服务调用失败: {}", cause.getMessage()); return null; } }; } }