package com.ruoyi.account.api.factory; import com.ruoyi.account.api.feignClient.AppUserWhitelistClient; import com.ruoyi.account.api.model.TAppUserWhitelist; import com.ruoyi.account.api.vo.AppUserWhitelistMatchVO; 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.math.BigDecimal; import java.util.List; /** * 白名单用户服务降级处理 */ @Component public class AppUserWhitelistFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(AppUserWhitelistFallbackFactory.class); @Override public AppUserWhitelistClient create(Throwable throwable) { log.error("白名单用户服务调用失败:{}", throwable.getMessage()); return new AppUserWhitelistClient() { @Override public R matchWhitelist(Long appUserId, Integer siteId) { return R.fail("白名单用户服务调用失败:" + throwable.getMessage()); } @Override public R> listByCompany(Integer companyId) { return R.fail("白名单用户服务调用失败:" + throwable.getMessage()); } @Override public R lockBalance(Long whitelistId, BigDecimal amount) { return R.fail("白名单用户服务调用失败:" + throwable.getMessage()); } @Override public R settleBalance(Long whitelistId, BigDecimal lockedAmount, BigDecimal actualAmount) { return R.fail("白名单用户服务调用失败:" + throwable.getMessage()); } @Override public R unlockBalance(Long whitelistId, BigDecimal amount) { return R.fail("白名单用户服务调用失败:" + throwable.getMessage()); } }; } }