|
@@ -0,0 +1,97 @@
|
|
|
+package com.fjhx.file.util;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.extra.spring.SpringUtil;
|
|
|
+import com.fjhx.file.entity.FileInfo;
|
|
|
+import com.fjhx.file.entity.ObsFile;
|
|
|
+import com.fjhx.file.service.FileInfoService;
|
|
|
+import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+public class ObsFileUtil {
|
|
|
+
|
|
|
+ private static final FileInfoService fileInfoService = SpringUtil.getBean(FileInfoService.class);
|
|
|
+ private static int defaultFileType = 0;
|
|
|
+
|
|
|
+
|
|
|
+ * 保存文件
|
|
|
+ *
|
|
|
+ * @param obsFileList 文件列表
|
|
|
+ * @param businessId 业务id
|
|
|
+ * @param businessType 业务文件类型
|
|
|
+ */
|
|
|
+ private void saveFile(List<ObsFile> obsFileList, Long businessId, Integer businessType) {
|
|
|
+ if (obsFileList.size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<FileInfo> fileInfoList = BeanUtil.copyToList(obsFileList, FileInfo.class);
|
|
|
+ for (FileInfo fileInfo : fileInfoList) {
|
|
|
+ fileInfo.setBusinessId(businessId);
|
|
|
+ fileInfo.setBusinessType(businessType);
|
|
|
+ }
|
|
|
+ fileInfoService.updateBatchById(fileInfoList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 保存文件
|
|
|
+ *
|
|
|
+ * @param obsFileList 文件列表
|
|
|
+ * @param businessId 业务id
|
|
|
+ */
|
|
|
+ private void saveFile(List<ObsFile> obsFileList, Long businessId) {
|
|
|
+ this.saveFile(obsFileList, businessId, defaultFileType);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 更新文件
|
|
|
+ *
|
|
|
+ * @param obsFileList 文件列表
|
|
|
+ * @param businessId 业务id
|
|
|
+ * @param businessType 业务文件类型
|
|
|
+ */
|
|
|
+ private void editFile(List<ObsFile> obsFileList, Long businessId, Integer businessType) {
|
|
|
+ if (obsFileList.size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ List<Long> obsFileId = obsFileList.stream().map(ObsFile::getId).collect(Collectors.toList());
|
|
|
+ fileInfoService.remove(q -> q.notIn(BaseIdPo::getId, obsFileId).eq(FileInfo::getBusinessId, businessId));
|
|
|
+
|
|
|
+
|
|
|
+ this.saveFile(obsFileList, businessId, businessType);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 更新文件
|
|
|
+ *
|
|
|
+ * @param obsFileList 文件列表
|
|
|
+ * @param businessId 业务id
|
|
|
+ */
|
|
|
+ private void editFile(List<ObsFile> obsFileList, Long businessId) {
|
|
|
+ this.editFile(obsFileList, businessId, defaultFileType);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 删除文件
|
|
|
+ *
|
|
|
+ * @param businessId 业务id
|
|
|
+ * @param businessType 业务文件类型
|
|
|
+ */
|
|
|
+ private void removeFile(Long businessId, Integer businessType) {
|
|
|
+ fileInfoService.remove(q -> q.eq(FileInfo::getBusinessId, businessId).eq(FileInfo::getBusinessType, businessType));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 删除文件
|
|
|
+ *
|
|
|
+ * @param businessId 业务id
|
|
|
+ */
|
|
|
+ private void removeFile(Long businessId) {
|
|
|
+ fileInfoService.remove(q -> q.eq(FileInfo::getBusinessId, businessId));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|