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