package com.ruoyi.system.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.RemoteFileService; import com.ruoyi.system.api.domain.SysFile; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; /** * 文件服务降级处理 * * @author ruoyi */ @Component public class RemoteFileFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class); @Override public RemoteFileService create(Throwable throwable) { log.error("文件服务调用失败:{}", throwable.getMessage()); return new RemoteFileService() { @Override public R upload(MultipartFile file) { return R.fail("上传文件失败:" + throwable.getMessage()); } @Override public R obsUpload(MultipartFile file) { return R.fail("obs上传文件失败:" + throwable.getMessage()); } }; } }