From 51df6e262c2d625e700a8194cbe0ec1e40b80843 Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Tue, 03 Jun 2025 19:23:31 +0800
Subject: [PATCH] 存储桶

---
 oying-tools/src/main/java/com/oying/rest/BucketStorageController.java |   82 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/oying-tools/src/main/java/com/oying/rest/BucketStorageController.java b/oying-tools/src/main/java/com/oying/rest/BucketStorageController.java
new file mode 100644
index 0000000..1c81b58
--- /dev/null
+++ b/oying-tools/src/main/java/com/oying/rest/BucketStorageController.java
@@ -0,0 +1,82 @@
+package com.oying.rest;
+
+import com.oying.annotation.Log;
+import com.oying.domain.BucketStorage;
+import com.oying.exception.BadRequestException;
+import com.oying.service.BucketStorageService;
+import com.oying.domain.dto.BucketStorageQueryCriteria;
+import com.oying.utils.FileUtil;
+import com.oying.utils.R;
+import lombok.RequiredArgsConstructor;
+
+import java.util.List;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * @author lixin
+ * @date 2025-06-03
+ **/
+@RestController
+@RequiredArgsConstructor
+@Api(tags = "工具:存储桶")
+@RequestMapping("/api/bucketStorage")
+public class BucketStorageController {
+
+    private final BucketStorageService bucketStorageService;
+
+    @ApiOperation("导出数据")
+    @GetMapping(value = "/download")
+    @PreAuthorize("@el.check('bucketStorage:list')")
+    public void exportBucketStorage(HttpServletResponse response, BucketStorageQueryCriteria criteria) throws IOException {
+        bucketStorageService.download(bucketStorageService.queryAll(criteria), response);
+    }
+
+    @GetMapping
+    @ApiOperation("查询存储桶")
+    @PreAuthorize("@el.check('bucketStorage:list')")
+    public ResponseEntity<Object> queryBucketStorage(BucketStorageQueryCriteria criteria) {
+        Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
+        return new ResponseEntity<>(R.success(bucketStorageService.queryAll(criteria, page)), HttpStatus.OK);
+    }
+
+    @PostMapping
+    @Log("上传存储桶文件")
+    @ApiOperation("上传存储桶文件")
+    @PreAuthorize("@el.check('bucketStorage:add')")
+    public ResponseEntity<Object> create(@RequestParam String name, @RequestParam("file") MultipartFile file) {
+        return new ResponseEntity<>(R.success(bucketStorageService.create(name, file)), HttpStatus.CREATED);
+    }
+
+    @PostMapping("/pictures")
+    @ApiOperation("上传图片")
+    public ResponseEntity<Object> upload(@RequestParam MultipartFile file) {
+        // 判断文件是否为图片
+        String suffix = FileUtil.getExtensionName(file.getOriginalFilename());
+        FileUtil.checkSize(5, file.getSize());
+        if (!FileUtil.IMAGE.equals(FileUtil.getFileType(suffix))) {
+            throw new BadRequestException("只能上传图片");
+        }
+        BucketStorage bucketStorage = bucketStorageService.create(null, file);
+        return new ResponseEntity<>(R.success(bucketStorage), HttpStatus.OK);
+    }
+
+    @DeleteMapping
+    @Log("删除存储桶")
+    @ApiOperation("删除存储桶")
+    @PreAuthorize("@el.check('bucketStorage:del')")
+    public ResponseEntity<Object> deleteBucketStorage(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
+        bucketStorageService.deleteAll(ids);
+        return new ResponseEntity<>(R.success(), HttpStatus.OK);
+    }
+}

--
Gitblit v1.9.3