forked from kidgrow-microservices-platform

luliqiang
2020-06-11 4dd862607e527036f08bf27615ba0adc2bd86c9b
FileCenter增加feign接口
2 files added
1 files modified
65 ■■■■■ changed files
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java 27 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java 34 ●●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java 4 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java
New file
@@ -0,0 +1,27 @@
package com.kidgrow.filecenter.feign;
import com.kidgrow.common.constant.ServiceNameConstants;
import com.kidgrow.filecenter.feign.fallback.FileServiceFallbackFactory;
import com.kidgrow.filecenter.model.FileInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 *
 * @Description: <br>
 * @Project: <br>
 * @CreateDate: Created in 2020/2/22 14:33 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 */
@FeignClient(name = ServiceNameConstants.FILE_CENTER_SERVER, fallbackFactory = FileServiceFallbackFactory.class, decode404 = true)
public interface FileService {
    /**
     * 根据条件查询
     * @param file
     */
    @PostMapping(value = "/files-anon")
    FileInfo upload(@RequestPart("file") MultipartFile file);
}
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java
New file
@@ -0,0 +1,34 @@
package com.kidgrow.filecenter.feign.fallback;
import com.kidgrow.filecenter.feign.FileService;
import com.kidgrow.filecenter.model.FileInfo;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 *
 * @Description: <br>
 * @Project: <br>
 * @CreateDate: Created in 2020/2/22 14:33 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 */
@Slf4j
@Component
public class FileServiceFallbackFactory implements FallbackFactory<FileService> {
    @Override
    public FileService create(Throwable throwable) {
        return  new FileService() {
            @Override
            public FileInfo upload(@RequestParam("file") MultipartFile file) {
                return null;
            }
        };
    }
}
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java
@@ -37,4 +37,8 @@
     * 短信服务名
     */
    String SMS_SERVICE_SERVER = "sms-service-server";
    /**
     * 文件服务名
     */
    String FILE_CENTER_SERVER="filecenter-server";
}