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/service/impl/BucketStorageServiceImpl.java | 50 ++++++++++++-------------
oying-tools/src/main/java/com/oying/domain/BucketStorage.java | 9 ++++
oying-tools/src/main/java/com/oying/rest/BucketStorageController.java | 24 +++++++-----
3 files changed, 47 insertions(+), 36 deletions(-)
diff --git a/oying-tools/src/main/java/com/oying/domain/BucketStorage.java b/oying-tools/src/main/java/com/oying/domain/BucketStorage.java
index 9baedd1..e9a4a35 100644
--- a/oying-tools/src/main/java/com/oying/domain/BucketStorage.java
+++ b/oying-tools/src/main/java/com/oying/domain/BucketStorage.java
@@ -46,4 +46,13 @@
public void copy(BucketStorage source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
+
+ public BucketStorage(String realName,String name, String suffix, String path, String type, String size) {
+ this.realName = realName;
+ this.name = name;
+ this.suffix = suffix;
+ this.path = path;
+ this.type = type;
+ this.size = size;
+ }
}
diff --git a/oying-tools/src/main/java/com/oying/rest/BucketStorageController.java b/oying-tools/src/main/java/com/oying/rest/BucketStorageController.java
index c0873e0..1c81b58 100644
--- a/oying-tools/src/main/java/com/oying/rest/BucketStorageController.java
+++ b/oying-tools/src/main/java/com/oying/rest/BucketStorageController.java
@@ -6,26 +6,30 @@
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 com.oying.utils.PageResult;
import org.springframework.web.multipart.MultipartFile;
/**
-* @author lixin
-* @date 2025-06-03
-**/
+ * @author lixin
+ * @date 2025-06-03
+ **/
@RestController
@RequiredArgsConstructor
-@Api(tags = "存储桶")
+@Api(tags = "工具:存储桶")
@RequestMapping("/api/bucketStorage")
public class BucketStorageController {
@@ -41,9 +45,9 @@
@GetMapping
@ApiOperation("查询存储桶")
@PreAuthorize("@el.check('bucketStorage:list')")
- public ResponseEntity<PageResult<BucketStorage>> queryBucketStorage(BucketStorageQueryCriteria criteria){
+ public ResponseEntity<Object> queryBucketStorage(BucketStorageQueryCriteria criteria) {
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
- return new ResponseEntity<>(bucketStorageService.queryAll(criteria,page),HttpStatus.OK);
+ return new ResponseEntity<>(R.success(bucketStorageService.queryAll(criteria, page)), HttpStatus.OK);
}
@PostMapping
@@ -51,7 +55,7 @@
@ApiOperation("上传存储桶文件")
@PreAuthorize("@el.check('bucketStorage:add')")
public ResponseEntity<Object> create(@RequestParam String name, @RequestParam("file") MultipartFile file) {
- return new ResponseEntity<>(bucketStorageService.create(name, file), HttpStatus.CREATED);
+ return new ResponseEntity<>(R.success(bucketStorageService.create(name, file)), HttpStatus.CREATED);
}
@PostMapping("/pictures")
@@ -64,7 +68,7 @@
throw new BadRequestException("只能上传图片");
}
BucketStorage bucketStorage = bucketStorageService.create(null, file);
- return new ResponseEntity<>(bucketStorage, HttpStatus.OK);
+ return new ResponseEntity<>(R.success(bucketStorage), HttpStatus.OK);
}
@DeleteMapping
@@ -73,6 +77,6 @@
@PreAuthorize("@el.check('bucketStorage:del')")
public ResponseEntity<Object> deleteBucketStorage(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
bucketStorageService.deleteAll(ids);
- return new ResponseEntity<>(HttpStatus.OK);
+ return new ResponseEntity<>(R.success(), HttpStatus.OK);
}
}
diff --git a/oying-tools/src/main/java/com/oying/service/impl/BucketStorageServiceImpl.java b/oying-tools/src/main/java/com/oying/service/impl/BucketStorageServiceImpl.java
index 6d60979..8e652c7 100644
--- a/oying-tools/src/main/java/com/oying/service/impl/BucketStorageServiceImpl.java
+++ b/oying-tools/src/main/java/com/oying/service/impl/BucketStorageServiceImpl.java
@@ -1,11 +1,12 @@
package com.oying.service.impl;
import cn.hutool.core.util.ObjectUtil;
-import com.obs.services.internal.ObsProperties;
import com.obs.services.model.AccessControlList;
import com.obs.services.model.PutObjectResult;
+import com.oying.config.properties.FileProperties;
import com.oying.domain.BucketStorage;
-import com.oying.utils.FileUtil;
+import com.oying.exception.BadRequestException;
+import com.oying.utils.*;
import lombok.RequiredArgsConstructor;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -14,7 +15,6 @@
import com.oying.mapper.BucketStorageMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import com.oying.utils.PageUtil;
import java.io.File;
import java.util.List;
@@ -23,41 +23,41 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
-import com.oying.utils.PageResult;
+
import org.springframework.web.multipart.MultipartFile;
/**
-* @description 服务实现
-* @author lixin
-* @date 2025-06-03
-**/
+ * @author lixin
+ * @description 服务实现
+ * @date 2025-06-03
+ **/
@Service
@RequiredArgsConstructor
public class BucketStorageServiceImpl extends ServiceImpl<BucketStorageMapper, BucketStorage> implements BucketStorageService {
private final BucketStorageMapper bucketStorageMapper;
- private final ObsProperties
+ private final ObsProperties properties;
+ private final FileProperties fileProperties;
@Override
- public PageResult<BucketStorage> queryAll(BucketStorageQueryCriteria criteria, Page<Object> page){
+ public PageResult<BucketStorage> queryAll(BucketStorageQueryCriteria criteria, Page<Object> page) {
return PageUtil.toPage(bucketStorageMapper.findAll(criteria, page));
}
@Override
- public List<BucketStorage> queryAll(BucketStorageQueryCriteria criteria){
+ public List<BucketStorage> queryAll(BucketStorageQueryCriteria criteria) {
return bucketStorageMapper.findAll(criteria);
}
@Override
@Transactional(rollbackFor = Exception.class)
public BucketStorage createFile(String name, File file) {
- ObsConfig config = obsConfigService.findById(1L);
- FileUtil.checkSize(properties.getMaxSize(), file.length());
+ FileUtil.checkSize(fileProperties.getMaxSize(), file.length());
String suffix = FileUtil.getExtensionName(file.getName());
String type = FileUtil.getFileType(suffix);
String reaName = System.currentTimeMillis() + "." + suffix;
String objectKey = type + "/" + reaName;
- PutObjectResult result = ObsUtils.putObject(config, file, objectKey, AccessControlList.REST_CANNED_PUBLIC_READ);
+ PutObjectResult result = ObsUtils.putObject(properties, file, objectKey, AccessControlList.REST_CANNED_PUBLIC_READ);
if (ObjectUtil.isNull(result)) {
throw new BadRequestException("上传失败");
}
@@ -70,18 +70,19 @@
type,
FileUtil.getSize(file.length())
);
- return bucketStorageRepository.save(bucketStorage);
+ bucketStorageMapper.insert(bucketStorage);
+ return bucketStorage;
}
@Override
@Transactional(rollbackFor = Exception.class)
public BucketStorage create(String name, MultipartFile file) {
- FileUtil.checkSize(properties.getMaxSize(), file.getSize());
+ FileUtil.checkSize(fileProperties.getMaxSize(), file.getSize());
String suffix = FileUtil.getExtensionName(file.getOriginalFilename());
String type = FileUtil.getFileType(suffix);
String reaName = System.currentTimeMillis() + "." + suffix;
String objectKey = type + "/" + reaName;
- PutObjectResult result = ObsUtils.putObject(config, FileUtil.toFile(file), objectKey,AccessControlList.REST_CANNED_PUBLIC_READ);
+ PutObjectResult result = ObsUtils.putObject(properties, FileUtil.toFile(file), objectKey, AccessControlList.REST_CANNED_PUBLIC_READ);
if (ObjectUtil.isNull(result)) {
throw new BadRequestException("上传失败");
}
@@ -94,20 +95,17 @@
type,
FileUtil.getSize(file.getSize())
);
- return bucketStorageRepository.save(bucketStorage);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void update(BucketStorage resources) {
- BucketStorage bucketStorage = getById(resources.getBucketId());
- bucketStorage.copy(resources);
- bucketStorageMapper.updateById(bucketStorage);
+ bucketStorageMapper.insert(bucketStorage);
+ return bucketStorage;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(List<Long> ids) {
+ for(Long id : ids) {
+ BucketStorage storage = bucketStorageMapper.selectById(id);
+ ObsUtils.deleteObject(properties, storage.getPath());
+ }
bucketStorageMapper.deleteBatchIds(ids);
}
--
Gitblit v1.9.3