From a6ac90e29e513b80b7ad881da8e319338021ef8b Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Thu, 25 Sep 2025 22:41:40 +0800
Subject: [PATCH] 生产环境配置
---
oying-tools/src/main/java/com/oying/service/impl/BucketStorageServiceImpl.java | 84 ++++++++++++++++++++++++-----------------
1 files changed, 49 insertions(+), 35 deletions(-)
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..3d13bca 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,20 +1,22 @@
package com.oying.service.impl;
+import cn.hutool.core.util.IdUtil;
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;
import com.oying.service.BucketStorageService;
import com.oying.domain.dto.BucketStorageQueryCriteria;
import com.oying.mapper.BucketStorageMapper;
+import org.springframework.beans.factory.annotation.Value;
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 +25,46 @@
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;
+ @Value("${oying.enabled}")
+ private Boolean oyingEnabled;
@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);
+ if (oyingEnabled) {
+ objectKey = "test/" +objectKey;
+ }
+ PutObjectResult result = ObsUtils.putObject(properties, file, objectKey, AccessControlList.REST_CANNED_PUBLIC_READ);
if (ObjectUtil.isNull(result)) {
throw new BadRequestException("上传失败");
}
@@ -70,18 +77,22 @@
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 reaName = IdUtil.getSnowflake(1, 1).nextId() + "." + suffix;
String objectKey = type + "/" + reaName;
- PutObjectResult result = ObsUtils.putObject(config, FileUtil.toFile(file), objectKey,AccessControlList.REST_CANNED_PUBLIC_READ);
+ if (oyingEnabled) {
+ objectKey = "test/" +objectKey;
+ }
+ PutObjectResult result = ObsUtils.putObject(properties, FileUtil.toFile(file), objectKey, AccessControlList.REST_CANNED_PUBLIC_READ);
if (ObjectUtil.isNull(result)) {
throw new BadRequestException("上传失败");
}
@@ -94,21 +105,26 @@
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);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteById(String path) {
+ BucketStorage storage = bucketStorageMapper.findByPath(path);
+ ObsUtils.deleteObject(properties, storage.getPath());
+ bucketStorageMapper.deleteById(storage.getBucketId());
}
@Override
@@ -116,16 +132,14 @@
List<Map<String, Object>> list = new ArrayList<>();
for (BucketStorage bucketStorage : all) {
Map<String, Object> map = new LinkedHashMap<>();
- map.put("文件真实的名称", bucketStorage.getRealName());
- map.put("文件名", bucketStorage.getName());
- map.put("后缀", bucketStorage.getSuffix());
- map.put("路径", bucketStorage.getPath());
- map.put("类型", bucketStorage.getType());
- map.put("大小", bucketStorage.getSize());
+ map.put("文件名称", bucketStorage.getRealName());
+ map.put("备注名称", bucketStorage.getName());
+ map.put("文件类型", bucketStorage.getSuffix());
+ map.put("文件路径", bucketStorage.getPath());
+ map.put("文件分类", bucketStorage.getType());
+ map.put("文件大小", bucketStorage.getSize());
map.put("创建人", bucketStorage.getCreateBy());
map.put("创建时间", bucketStorage.getCreateTime());
- map.put("修改者", bucketStorage.getUpdateBy());
- map.put("修改时间", bucketStorage.getUpdateTime());
list.add(map);
}
FileUtil.downloadExcel(list, response);
--
Gitblit v1.9.3