package com.xiaopeng.api.factory.maintenance; import com.xiaopeng.api.feignClient.maintenance.XpTaskClient; import com.xiaopeng.api.model.maintenance.XpTask; import com.xiaopeng.common.core.domain.R; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; @Slf4j @Component public class XpTaskClientFallbackFactory implements FallbackFactory { @Override public XpTaskClient create(Throwable cause) { return new XpTaskClient() { @Override public R queryInfoByVehicleId(Long vehicleId) { log.error("通过车辆id查询上一次保养记录失败, vehicleId={}, 异常: {}", vehicleId, cause.getMessage(), cause); // 降级策略: 返回 false (未上班状态) return R.fail("通过车辆id查询上一次保养记录失败,"+cause.getMessage()); } @Override public R saveVehicleAccidentError(Long vehicleId) { log.error("添加车辆事故任务失败, vehicleId={}, 错误信息: {}", vehicleId, cause.getMessage(), cause); return R.fail("添加车辆事故任务失败:" + cause.getMessage()); } }; } }