package com.kidgrow.filecenter.feign;
import com.kidgrow.common.constant.ServiceNameConstants;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.filecenter.config.FeignMultipartConfig;
import com.kidgrow.filecenter.feign.fallback.FileServiceFallbackFactory;
import com.kidgrow.filecenter.model.FileInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
*
* @Description:
* @Project:
* @CreateDate: Created in 2020/2/22 14:33
* @Author: liuke
*/
@FeignClient(name = ServiceNameConstants.FILE_CENTER_SERVER, configuration = FeignMultipartConfig.class,fallbackFactory = FileServiceFallbackFactory.class, decode404 = true)
public interface FileService {
/**
* 根据条件查询
* @param file
*/
@PostMapping(value = "/files-anon",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
FileInfo upload(@RequestPart("file") MultipartFile file);
/**
* 根据条件查询
* @param file
* @param imgType 文件类型:X光片/医院Logo[Xray/Logo]
*/
@PostMapping(value = "/files-upload",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
FileInfo feignUpload(@RequestPart("file") MultipartFile file,@RequestParam("imgType") String imgType);
/**
* base64上传图片
* @param file,imgType
* @param imgType 文件类型:X光片/医院Logo[Xray/Logo]
*/
@PostMapping(value = "/baseUplaod",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
FileInfo baseUplaod(@RequestParam("file") String file,@RequestParam("imgType") String imgType,@RequestParam("hospitalId") String hospitalId,@RequestParam("departmentId") String departmentId);
/**
* base64 下载图片
* @param map
*/
@PostMapping(value = "/baseDownLoad",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
ResultBody baseDownLoad(@RequestBody Map map) throws Exception;
}