//package com.sckw.example.controller;
//
//import com.sckw.core.web.response.HttpResult;
//import com.sckw.example.service.FileService;
//import com.sckw.file.api.dubbo.FileApiDubboService;
//import com.sckw.file.api.feign.FileApiFeignService;
//import lombok.AllArgsConstructor;
//import org.apache.dubbo.config.annotation.DubboReference;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * @author lfdc
// * @version 1.0
// * @className FileApiController
// * @description alibaba-oss测试用例
// * z
// * @company sckw
// * @date 2023-06-02 16:06:43
// */
//@RestController
//@RequestMapping("/file")
//@AllArgsConstructor
//public class FileApiController {
//
//    @Autowired
//    private FileApiFeignService fileApiFeignService;
//
//    @DubboReference(version = "1.0.0", group = "design", check = false)
//    private FileApiDubboService fileApiDubboService;
//
//    @Autowired
//    private FileService fileService;
//
//    /**
//     * 上传文件至OSS
//     *
//     * @param file
//     * @return
//     */
//    @RequestMapping(value = "/fileUpload", method = RequestMethod.POST)
//    public HttpResult fileUpload(@RequestParam("file") MultipartFile file) {
//        //获取上传文件
//        String url = fileService.uploadFile(file);
//        return HttpResult.ok(url);
//
//    }
//
//    /**
//     * OSS下载文件/获取文件地址
//     *
//     * @return
//     */
//    @GetMapping("/fileDownload")
//    public HttpResult fileDownload() {
//        String fileName = "测试=JPEG.webp";
//        //获取上传文件
//        String url = fileService.fileDownload(fileName);
//        return HttpResult.ok(url);
//    }
//
//
//    /**
//     * 基于feign调用
//     *
//     * @param file
//     * @return
//     */
//    @RequestMapping(value = "/fileFeignUpload", method = RequestMethod.POST)
//    public HttpResult fileFeignUpload(@RequestParam("file") MultipartFile file) {
//        //example 服务 调用 file服务提供的feign接口
//        HttpResult result = fileApiFeignService.fileFeignUpload(file);
//        return result;
//    }
//
//    /**
//     * 基于feign调用
//     *
//     * @param
//     * @return
//     */
//    @RequestMapping(value = "/fileFeignDemo", method = RequestMethod.GET)
//    //@RequestParam("file") MultipartFile file
//    public String fileFeignDemo() {
//        //example 服务 调用 file服务提供的feign接口
//        return fileApiFeignService.fileFeignDemo("userName");
//    }
//
//    /**
//     * 基于feign调用
//     *
//     * @param
//     * @return
//     */
//    @RequestMapping(value = "/fileFeignDemo1", method = RequestMethod.POST)
//    public String fileFeignDemo1() {
//        Map<String, String> map = new HashMap<>();
//        map.put("123", "456");
//        map.put("asd", "asd");
//        return fileApiFeignService.fileFeignDemo1(map);
//    }
//
//
//    /**
//     * 基于dubbo调用
//     *
//     * @param file
//     * @return
//     */
//    @GetMapping("/fileDubboUpload")
//    public HttpResult fileDubboUpload(@RequestParam("file") MultipartFile file) throws IOException {
//        // 调用 file服务提供的dubbo接口
//        //需要将文件转换成byte否则为空
//        //获取文件类型
//        String contentType = file.getContentType();
//        //获取上传文件的原始文件名
//        String oFileName = file.getOriginalFilename();
//        //把文件转化成byte[]
//        byte[] bytes = file.getBytes();
////        BigDecimal fileSize = FileUtils.getFileSize(file, "KB");
////        FileInfo fileInfo = new FileInf0;
////        fileInfo.setOriginalName(oFileName);
////        //获取文件后缀
////        fileInfo.setFileSuffix(FilenameUtils.getExtension(oFileName));
////        fileInfo.setFileSize(StringUtils.isBlank(fileSize) ? new BigDecimal("0") : fileSize);
////        HttpResult result = fileApiDubboService.fileUpload(JSONObject.toJSONString(fileInfo), bytes);
//        HttpResult result = fileApiDubboService.fileUploadTodubbo(file);
//        return result;
//    }
//
//
//}
