package com.xiaopeng.api.factory.vehicleConvoy; import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetVehicleClient; 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.util.Collections; import java.util.List; /** * 车队车辆Feign客户端降级工厂 * * @author mitao */ @Slf4j @Component public class XpFleetVehicleClientFallbackFactory implements FallbackFactory { @Override public XpFleetVehicleClient create(Throwable cause) { log.error("车队车辆服务调用失败: {}", cause.getMessage()); return new XpFleetVehicleClient() { @Override public R getFleetIdByVehicleId(Long vehicleId) { log.error("根据车辆ID查询车队ID失败,车辆ID: {},原因: {}", vehicleId, cause.getMessage()); // 降级返回null,让调用方自行处理 return R.ok(null); } @Override public R> listVehicleIdsByFleetId(Long fleetId) { log.error("根据车队ID查询车辆ID列表失败,车队ID: {},原因: {}", fleetId, cause.getMessage()); return R.ok(Collections.emptyList()); } }; } }