| | |
| | | package com.oying.service.impl; |
| | | |
| | | import cn.hutool.core.util.IdUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import com.obs.services.model.AccessControlList; |
| | | import com.obs.services.model.PutObjectResult; |
| | |
| | | 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; |
| | | |
| | |
| | | private final BucketStorageMapper bucketStorageMapper; |
| | | private final ObsProperties properties; |
| | | private final FileProperties fileProperties; |
| | | @Value("${oying.enabled}") |
| | | private Boolean oyingEnabled; |
| | | |
| | | @Override |
| | | public PageResult<BucketStorage> queryAll(BucketStorageQueryCriteria criteria, Page<Object> page) { |
| | |
| | | String type = FileUtil.getFileType(suffix); |
| | | String reaName = System.currentTimeMillis() + "." + suffix; |
| | | String objectKey = type + "/" + reaName; |
| | | if (oyingEnabled) { |
| | | objectKey = "test/" +objectKey; |
| | | } |
| | | PutObjectResult result = ObsUtils.putObject(properties, file, objectKey, AccessControlList.REST_CANNED_PUBLIC_READ); |
| | | if (ObjectUtil.isNull(result)) { |
| | | throw new BadRequestException("上传失败"); |
| | |
| | | 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; |
| | | 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("上传失败"); |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void deleteAll(List<Long> ids) { |
| | | for(Long id : ids) { |
| | | for (Long id : ids) { |
| | | BucketStorage storage = bucketStorageMapper.selectById(id); |
| | | ObsUtils.deleteObject(properties, storage.getPath()); |
| | | } |
| | |
| | | } |
| | | |
| | | @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 |
| | | public void download(List<BucketStorage> all, HttpServletResponse response) throws IOException { |
| | | 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); |