diff --git a/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java b/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java index 95630ac5..a0ef7dec 100644 --- a/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java +++ b/blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java @@ -53,202 +53,202 @@ import org.springframework.web.multipart.MultipartFile; @Tag(name = "对象存储端点", description = "对象存储端点") public class OssEndpoint { - /** - * 对象存储构建类 - */ - private final OssBuilder ossBuilder; - - /** - * 附件表服务 - */ - private final IAttachService attachService; - - /** - * 创建存储桶 - * - * @param bucketName 存储桶名称 - * @return Bucket - */ - @SneakyThrows - @IsAdmin - @PostMapping("/make-bucket") - public R makeBucket(@RequestParam String bucketName) { - ossBuilder.template().makeBucket(bucketName); - return R.success("创建成功"); - } - - /** - * 创建存储桶 - * - * @param bucketName 存储桶名称 - * @return R - */ - @SneakyThrows - @IsAdmin - @PostMapping("/remove-bucket") - public R removeBucket(@RequestParam String bucketName) { - ossBuilder.template().removeBucket(bucketName); - return R.success("删除成功"); - } - - /** - * 拷贝文件 - * - * @param fileName 存储桶对象名称 - * @param destBucketName 目标存储桶名称 - * @param destFileName 目标存储桶对象名称 - * @return R - */ - @SneakyThrows - @PostMapping("/copy-file") - public R copyFile(@RequestParam String fileName, @RequestParam String destBucketName, String destFileName) { - ossBuilder.template().copyFile(fileName, destBucketName, destFileName); - return R.success("操作成功"); - } - - /** - * 获取文件信息 - * - * @param fileName 存储桶对象名称 - * @return InputStream - */ - @SneakyThrows - @GetMapping("/stat-file") - public R statFile(@RequestParam String fileName) { - return R.data(ossBuilder.template().statFile(fileName)); - } - - /** - * 获取文件相对路径 - * - * @param fileName 存储桶对象名称 - * @return String - */ - @SneakyThrows - @GetMapping("/file-path") - public R filePath(@RequestParam String fileName) { - return R.data(ossBuilder.template().filePath(fileName)); - } - - - /** - * 获取文件外链 - * - * @param fileName 存储桶对象名称 - * @return String - */ - @SneakyThrows - @GetMapping("/file-link") - public R fileLink(@RequestParam String fileName) { - return R.data(ossBuilder.template().fileLink(fileName)); - } - - /** - * 上传文件 - * - * @param file 文件 - * @return ObjectStat - */ - @SneakyThrows - @PostMapping("/put-file") - public R putFile(@RequestParam MultipartFile file) { - BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream()); - return R.data(bladeFile); - } - - /** - * 上传文件 - * - * @param fileName 存储桶对象名称 - * @param file 文件 - * @return ObjectStat - */ - @SneakyThrows - @PostMapping("/put-file-by-name") - public R putFile(@RequestParam String fileName, @RequestParam MultipartFile file) { - BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); - return R.data(bladeFile); - } - - /** - * 上传文件并保存至附件表 - * - * @param file 文件 - * @return ObjectStat - */ - @SneakyThrows - @PostMapping("/put-file-attach") - public R putFileAttach(@RequestParam MultipartFile file) { - String fileName = file.getOriginalFilename(); - BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); - Long attachId = buildAttach(fileName, file.getSize(), bladeFile); - bladeFile.setAttachId(attachId); - return R.data(bladeFile); - } - - /** - * 上传文件并保存至附件表 - * - * @param fileName 存储桶对象名称 - * @param file 文件 - * @return ObjectStat - */ - @SneakyThrows - @PostMapping("/put-file-attach-by-name") - public R putFileAttach(@RequestParam String fileName, @RequestParam MultipartFile file) { - BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); - Long attachId = buildAttach(fileName, file.getSize(), bladeFile); - bladeFile.setAttachId(attachId); - return R.data(bladeFile); - } - - /** - * 构建附件表 - * - * @param fileName 文件名 - * @param fileSize 文件大小 - * @param bladeFile 对象存储文件 - * @return attachId - */ - private Long buildAttach(String fileName, Long fileSize, BladeFile bladeFile) { - String fileExtension = FileUtil.getFileExtension(fileName); - Attach attach = new Attach(); - attach.setDomainUrl(bladeFile.getDomain()); - attach.setLink(bladeFile.getLink()); - attach.setName(bladeFile.getName()); - attach.setOriginalName(bladeFile.getOriginalName()); - attach.setAttachSize(fileSize); - attach.setExtension(fileExtension); - attachService.save(attach); - return attach.getId(); - } - - /** - * 删除文件 - * - * @param fileName 存储桶对象名称 - * @return R - */ - @SneakyThrows - @IsAdmin - @PostMapping("/remove-file") - public R removeFile(@RequestParam String fileName) { - ossBuilder.template().removeFile(fileName); - return R.success("操作成功"); - } - - /** - * 批量删除文件 - * - * @param fileNames 存储桶对象名称集合 - * @return R - */ - @SneakyThrows - @IsAdmin - @PostMapping("/remove-files") - public R removeFiles(@RequestParam String fileNames) { - ossBuilder.template().removeFiles(Func.toStrList(fileNames)); - return R.success("操作成功"); - } + /** + * 对象存储构建类 + */ + private final OssBuilder ossBuilder; + + /** + * 附件表服务 + */ + private final IAttachService attachService; + + /** + * 创建存储桶 + * + * @param bucketName 存储桶名称 + * @return Bucket + */ + @SneakyThrows + @IsAdmin + @PostMapping("/make-bucket") + public R makeBucket(@RequestParam String bucketName) { + ossBuilder.template().makeBucket(bucketName); + return R.success("创建成功"); + } + + /** + * 创建存储桶 + * + * @param bucketName 存储桶名称 + * @return R + */ + @SneakyThrows + @IsAdmin + @PostMapping("/remove-bucket") + public R removeBucket(@RequestParam String bucketName) { + ossBuilder.template().removeBucket(bucketName); + return R.success("删除成功"); + } + + /** + * 拷贝文件 + * + * @param fileName 存储桶对象名称 + * @param destBucketName 目标存储桶名称 + * @param destFileName 目标存储桶对象名称 + * @return R + */ + @SneakyThrows + @PostMapping("/copy-file") + public R copyFile(@RequestParam String fileName, @RequestParam String destBucketName, String destFileName) { + ossBuilder.template().copyFile(fileName, destBucketName, destFileName); + return R.success("操作成功"); + } + + /** + * 获取文件信息 + * + * @param fileName 存储桶对象名称 + * @return InputStream + */ + @SneakyThrows + @GetMapping("/stat-file") + public R statFile(@RequestParam String fileName) { + return R.data(ossBuilder.template().statFile(fileName)); + } + + /** + * 获取文件相对路径 + * + * @param fileName 存储桶对象名称 + * @return String + */ + @SneakyThrows + @GetMapping("/file-path") + public R filePath(@RequestParam String fileName) { + return R.data(ossBuilder.template().filePath(fileName)); + } + + + /** + * 获取文件外链 + * + * @param fileName 存储桶对象名称 + * @return String + */ + @SneakyThrows + @GetMapping("/file-link") + public R fileLink(@RequestParam String fileName) { + return R.data(ossBuilder.template().fileLink(fileName)); + } + + /** + * 上传文件 + * + * @param file 文件 + * @return ObjectStat + */ + @SneakyThrows + @PostMapping("/put-file") + public R putFile(@RequestParam MultipartFile file) { + BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream()); + return R.data(bladeFile); + } + + /** + * 上传文件 + * + * @param fileName 存储桶对象名称 + * @param file 文件 + * @return ObjectStat + */ + @SneakyThrows + @PostMapping("/put-file-by-name") + public R putFile(@RequestParam String fileName, @RequestParam MultipartFile file) { + BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); + return R.data(bladeFile); + } + + /** + * 上传文件并保存至附件表 + * + * @param file 文件 + * @return ObjectStat + */ + @SneakyThrows + @PostMapping("/put-file-attach") + public R putFileAttach(@RequestParam MultipartFile file) { + String fileName = file.getOriginalFilename(); + BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); + Long attachId = buildAttach(fileName, file.getSize(), bladeFile); + bladeFile.setAttachId(attachId); + return R.data(bladeFile); + } + + /** + * 上传文件并保存至附件表 + * + * @param fileName 存储桶对象名称 + * @param file 文件 + * @return ObjectStat + */ + @SneakyThrows + @PostMapping("/put-file-attach-by-name") + public R putFileAttach(@RequestParam String fileName, @RequestParam MultipartFile file) { + BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream()); + Long attachId = buildAttach(fileName, file.getSize(), bladeFile); + bladeFile.setAttachId(attachId); + return R.data(bladeFile); + } + + /** + * 构建附件表 + * + * @param fileName 文件名 + * @param fileSize 文件大小 + * @param bladeFile 对象存储文件 + * @return attachId + */ + private Long buildAttach(String fileName, Long fileSize, BladeFile bladeFile) { + String fileExtension = FileUtil.getFileExtension(fileName); + Attach attach = new Attach(); + attach.setDomainUrl(bladeFile.getDomain()); + attach.setLink(bladeFile.getLink()); + attach.setName(bladeFile.getName()); + attach.setOriginalName(bladeFile.getOriginalName()); + attach.setAttachSize(fileSize); + attach.setExtension(fileExtension); + attachService.save(attach); + return attach.getId(); + } + + /** + * 删除文件 + * + * @param fileName 存储桶对象名称 + * @return R + */ + @SneakyThrows + @IsAdmin + @PostMapping("/remove-file") + public R removeFile(@RequestParam String fileName) { + ossBuilder.template().removeFile(fileName); + return R.success("操作成功"); + } + + /** + * 批量删除文件 + * + * @param fileNames 存储桶对象名称集合 + * @return R + */ + @SneakyThrows + @IsAdmin + @PostMapping("/remove-files") + public R removeFiles(@RequestParam String fileNames) { + ossBuilder.template().removeFiles(Func.toStrList(fileNames)); + return R.success("操作成功"); + } }