|
@@ -1,14 +1,18 @@
|
|
|
package cn.tr.module.sys.storage.service.impl;
|
|
package cn.tr.module.sys.storage.service.impl;
|
|
|
|
|
|
|
|
import cn.hutool.core.codec.Base64;
|
|
import cn.hutool.core.codec.Base64;
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
|
+import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.core.util.URLUtil;
|
|
import cn.hutool.core.util.URLUtil;
|
|
|
import cn.tr.core.utils.JsonUtils;
|
|
import cn.tr.core.utils.JsonUtils;
|
|
|
|
|
+import cn.tr.module.api.sys.storage.StoragePojo;
|
|
|
import cn.tr.module.sys.storage.dto.SysStorageConfigDTO;
|
|
import cn.tr.module.sys.storage.dto.SysStorageConfigDTO;
|
|
|
import cn.tr.module.sys.storage.dto.SysStorageRecordDTO;
|
|
import cn.tr.module.sys.storage.dto.SysStorageRecordDTO;
|
|
|
|
|
+import cn.tr.module.sys.storage.mapper.SysStorageRecordMapper;
|
|
|
import cn.tr.module.sys.storage.properties.TrStorageProperties;
|
|
import cn.tr.module.sys.storage.properties.TrStorageProperties;
|
|
|
import cn.tr.module.sys.storage.service.IStorageFileService;
|
|
import cn.tr.module.sys.storage.service.IStorageFileService;
|
|
|
import cn.tr.module.sys.storage.service.ISysStorageConfigService;
|
|
import cn.tr.module.sys.storage.service.ISysStorageConfigService;
|
|
@@ -127,6 +131,17 @@ public class StorageFileServiceImpl implements IStorageFileService {
|
|
|
return storageProperties.getPreviewUrl()+URLUtil.encode(Base64.encode(obtainDownloadPath(recordId)));
|
|
return storageProperties.getPreviewUrl()+URLUtil.encode(Base64.encode(obtainDownloadPath(recordId)));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Map<String, StoragePojo> findStorageByIds(Collection<String> storageIds) {
|
|
|
|
|
+ List<SysStorageRecordDTO> storageRecords= this.storageRecordService.selectSysStorageRecordByIds(storageIds);
|
|
|
|
|
+ if (CollectionUtil.isEmpty(storageRecords)) {
|
|
|
|
|
+ return MapUtil.empty();
|
|
|
|
|
+ }
|
|
|
|
|
+ return SysStorageRecordMapper.INSTANCE.convertPOJOList(storageRecords)
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .collect(Collectors.groupingBy(StoragePojo::getId,Collectors.collectingAndThen(Collectors.toList(),CollectionUtil::getFirst)));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
private FileClient getClient(SysStorageConfigDTO storageConfig){
|
|
private FileClient getClient(SysStorageConfigDTO storageConfig){
|
|
|
return fileClientFactory.createOrUpdateFileClient(storageConfig.getId(), storageConfig.getType(),parseClientConfig(storageConfig.getType(), storageConfig.getConfig()));
|
|
return fileClientFactory.createOrUpdateFileClient(storageConfig.getId(), storageConfig.getType(),parseClientConfig(storageConfig.getType(), storageConfig.getConfig()));
|