package com.ruoyi.account.api.factory; import com.ruoyi.account.api.dto.ChargingCardAuthDTO; import com.ruoyi.account.api.dto.ChargingCardDeductDTO; import com.ruoyi.account.api.feignClient.ChargingCardClient; import com.ruoyi.account.api.model.TChargingCard; import com.ruoyi.account.api.vo.ChargingCardDeductVO; import com.ruoyi.common.core.domain.R; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import java.util.List; /** * 充电卡内部服务降级处理 */ @Component public class ChargingCardFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(ChargingCardFallbackFactory.class); @Override public ChargingCardClient create(Throwable throwable) { log.error("充电卡服务调用失败:{}", throwable.getMessage(), throwable); return new ChargingCardClient() { @Override public R verifyCharging(ChargingCardAuthDTO dto) { return R.fail("充电卡服务调用失败:" + throwable.getMessage()); } @Override public R lockForCharging(Long cardId, String orderCode) { return R.fail("充电卡服务调用失败:" + throwable.getMessage()); } @Override public R unlockForCharging(Long cardId, String orderCode) { return R.fail("充电卡服务调用失败:" + throwable.getMessage()); } @Override public R deductForCharging(ChargingCardDeductDTO dto) { return R.fail("充电卡服务调用失败:" + throwable.getMessage()); } @Override public R> listDeductedOrderCodes(List orderCodes) { return R.fail("充电卡服务调用失败:" + throwable.getMessage()); } }; } }