[考勤对接]忽略保存file的appCode配置

This commit is contained in:
xudawei 2024-07-29 16:19:01 +08:00
parent 36ee7c5439
commit 28609963f2

View File

@ -59,6 +59,7 @@ import cn.axzo.oss.service.api.FileService;
import cn.axzo.oss.service.metafile.WithFileFactory;
import cn.axzo.oss.service.metafile.WithFileService;
import cn.azxo.framework.common.model.CommonResponse;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@ -886,7 +887,33 @@ public class FileServiceImpl implements FileService {
List<FileBusinessScene> fileBusinessSceneList = fileBusinessSceneManager.queryByBucketNoAndScene(fileList.stream().map(File::getAppChannelBucketNo).collect(Collectors.toSet()), bizScene);
Map<String, Long> bizSceneExpireMap = fileBusinessSceneList.stream().collect(Collectors.toMap(FileBusinessScene::getAppChannelBucketNo, FileBusinessScene::getDownloadExpiration, (x, y) -> y));
//构建返回集合
return this.buildFileKeyRespByFile(fileList, bucketTypeMap, bizSceneExpireMap, style, hasFileName, expiration);
List<SignUrlDownloadResponse> responseList = this.buildFileKeyRespByFile(fileList, bucketTypeMap, bizSceneExpireMap, style, hasFileName, expiration);
//获取不在dbFile中但是在默认axzo-obs-private中的key
responseList.addAll(fetchNoFileAndObsPrivate(fileKeys, fileList));
return responseList;
}
/**
* 获取不在dbFile中但是在默认axzo-obs-private中的key
*/
private List<SignUrlDownloadResponse> fetchNoFileAndObsPrivate(List<String> fileKeys, List<File> fileList) {
if (CollectionUtil.isEmpty(fileKeys)) {
return Lists.newArrayList();
}
List<String> fileDbList = Lists.newArrayList();
if (CollectionUtil.isNotEmpty(fileList)) {
fileDbList = fileList.stream().map(File::getFileUuid).collect(Collectors.toList());
}
List<String> subtractToList = CollUtil.subtractToList(fileKeys, fileDbList);
List<SignUrlDownloadResponse> collect = Lists.newArrayList();
if (CollectionUtil.isNotEmpty(subtractToList)) {
collect = subtractToList.stream().map(item -> this.buildSignUrlDownloadResponse(BucketTypeEnum.PRIVATE_BUCKET.getCode(),
"axzo-obs-private", item, ChannelTypeEnum.OBS.getChannelCode()
, item, null))
.collect(Collectors.toList());
}
return collect;
}
/**