kongzy
2024-07-05 14821e28286d773ad5ff2c13510e39c5eb117daf
exam-admin/src/main/java/com/gkhy/exam/admin/system/SysCommonController.java
@@ -5,6 +5,8 @@
import com.gkhy.exam.system.domain.vo.UploadObjectVO;
import com.gkhy.exam.system.service.SysCommonService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -18,29 +20,57 @@
    private SysCommonService commonService;
    @RepeatSubmit
    @ApiOperation(value = "上传图片/文件")
    @ApiOperation(value = "上传图片/文件(存本地)")
    @PostMapping("/uploadFile")
    public CommonResult<UploadObjectVO> uploadFile(MultipartFile file){
        return CommonResult.success(commonService.uploadFile(file));
    }
    @ApiOperation(value = "删除图片")
    @ApiOperation(value = "删除图片(存本地)")
    @DeleteMapping("/removeFile")
    public CommonResult removeFile(@RequestParam(required = true) String path){
        return CommonResult.success(commonService.removeFile(path));
    }
    /**
     * 整个文件上传
     * 上传视频文件转m3u8
     *@param file 文件
     *@return  String: 路径
     */
    @PostMapping("/uploadVideo")
    public CommonResult uploadVideo(@RequestPart("file") MultipartFile file) throws Exception { ;
        return CommonResult.success(commonService.uploadVideo2M3u8(file));
//    @ApiOperation(value = "资源管理视频文件上传(不分片)")
//    @PostMapping("/uploadVideo")
//    public CommonResult uploadVideo(@RequestPart("file") MultipartFile file) throws Exception { ;
//        return CommonResult.success(commonService.uploadVideo2M3u8(file));
//    }
    @ApiOperation(value = "资源管理文件上传(分片)(存minio)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "fileMd5", dataType = "int", required = true, value = "文件md5"),
            @ApiImplicitParam(paramType = "body", name = "chunkName", dataType = "int", required = true, value = "分片文件名"),
            @ApiImplicitParam(paramType = "body", name = "file", dataType = "file", required = true, value = "文件对象")
    })
    @PostMapping("/uploadSlice")
    public CommonResult uploadSlice(@RequestParam(value = "fileMd5",required = true) String fileMd5,@RequestParam(value = "chunkName",required = true) String chunkName,@RequestParam(value = "file",required = true) MultipartFile file){
        commonService.uploadSlice(fileMd5,chunkName,file);
        return CommonResult.success();
    }
    @ApiOperation(value = "资源管理文件分片合并(存minio)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "fileMd5", dataType = "int", required = true, value = "文件md5"),
            @ApiImplicitParam(paramType = "body", name = "fileName", dataType = "int", required = true, value = "文件名称(必须有后缀名)")
    })
    @PostMapping("/uploadMerge")
    public CommonResult uploadMerge(@RequestParam(value = "fileMd5",required = true) String fileMd5,@RequestParam(value = "fileName",required = true)String fileName) throws Exception {
        return CommonResult.success(commonService.uploadMerge(fileMd5,fileName));
    }
    @ApiOperation(value = "删除视频/文件(minio)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "resourceId", dataType = "long", required = false, value = "资源id(已创建资源后进行删除,需要传id)"),
            @ApiImplicitParam(paramType = "query", name = "path", dataType = "int", required = true, value = "文件路径")
    })
    @DeleteMapping("/removeMinioFile")
    public CommonResult removeMinioFile(@RequestParam(required = false) Long resourceId,@RequestParam(required = true) String path){
        commonService.removeMinioFile(resourceId,path);
        return CommonResult.success();
    }