Pārlūkot izejas kodu

文件增加remark

caozj 1 gadu atpakaļ
vecāks
revīzija
44f7d1631b

+ 18 - 0
hx-file/src/main/java/com/fjhx/file/service/FileInfoService.java

@@ -36,6 +36,15 @@ public interface FileInfoService extends BaseService<FileInfo> {
     void saveFile(List<ObsFile> obsFileList, Long businessId, Integer businessType);
 
     /**
+     * 保存文件
+     *
+     * @param obsFileList  文件列表
+     * @param businessId   业务id
+     * @param businessType 业务文件类型
+     */
+    void saveAllFile(List<ObsFile> obsFileList, Long businessId, Integer businessType);
+
+    /**
      * 更新文件
      *
      * @param obsFileList  文件列表
@@ -59,4 +68,13 @@ public interface FileInfoService extends BaseService<FileInfo> {
      */
     void removeFile(Long businessId);
 
+
+
+    /**
+     * 交换业务ID
+     * @param  newBusinessId 新业务id
+     * @param  oldBusinessId 旧业务id
+     */
+    void exchangeBusinessId(Long oldBusinessId,Long newBusinessId);
+
 }

+ 47 - 0
hx-file/src/main/java/com/fjhx/file/service/impl/FileInfoServiceImpl.java

@@ -7,6 +7,9 @@ import cn.hutool.core.io.IoUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.file.entity.*;
 import com.fjhx.file.mapper.FileInfoMapper;
@@ -20,7 +23,9 @@ import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.io.File;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -162,6 +167,27 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
     }
 
     /**
+     * 保存文件--直接插入
+     * @param obsFileList  文件列表
+     * @param businessId   业务id
+     * @param businessType 业务文件类型
+     */
+    @DS(BaseSourceConstant.BASE)
+    @Override
+    public void saveAllFile(List<ObsFile> obsFileList, Long businessId, Integer businessType) {
+        if (obsFileList == null || obsFileList.size() == 0) {
+            return;
+        }
+        List<FileInfo> fileInfoList = BeanUtil.copyToList(obsFileList, FileInfo.class);
+        for (FileInfo fileInfo : fileInfoList) {
+            fileInfo.setId(IdWorker.getId());
+            fileInfo.setBusinessId(businessId);
+            fileInfo.setBusinessType(businessType);
+        }
+        this.saveBatch(fileInfoList);
+    }
+
+    /**
      *
      * @param obsFileList  文件列表
      * @param businessId   业务id
@@ -210,6 +236,27 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
     }
 
     /**
+     * 交换业务ID
+     * @param  oldBusinessId 旧业务id
+     * @param  newBusinessId 新业务id
+     */
+    @DS(BaseSourceConstant.BASE)
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void exchangeBusinessId(Long oldBusinessId, Long newBusinessId) {
+        List<FileInfo> oldFile = this.list(Wrappers.<FileInfo>query().lambda().select(FileInfo::getId).eq(FileInfo::getBusinessId,oldBusinessId));
+        List<FileInfo> newFile = this.list(Wrappers.<FileInfo>query().lambda().select(FileInfo::getId).eq(FileInfo::getBusinessId,newBusinessId));
+        if(CollectionUtils.isNotEmpty(oldFile)){
+            List<Long> ids = oldFile.stream().map(FileInfo::getId).collect(Collectors.toList());
+            this.update(Wrappers.<FileInfo>update().lambda().set(FileInfo::getBusinessId,newBusinessId).in(FileInfo::getId,ids));
+        }
+        if(CollectionUtils.isNotEmpty(newFile)){
+            List<Long> ids = newFile.stream().map(FileInfo::getId).collect(Collectors.toList());
+            this.update(Wrappers.<FileInfo>update().lambda().set(FileInfo::getBusinessId,oldBusinessId).in(FileInfo::getId,ids));
+        }
+    }
+
+    /**
      * 获取oss链接客户端
      */
     private ObsClient getObsClient() {

+ 18 - 0
hx-file/src/main/java/com/fjhx/file/utils/ObsFileUtil.java

@@ -67,6 +67,24 @@ public class ObsFileUtil {
     }
 
     /**
+     * 交换ID
+     * @param oldBusinessId   旧业务id
+     * @param newBusinessId 新业务id
+     */
+    public static void exchangeBusinessId(Long oldBusinessId,Long newBusinessId) {
+        fileInfoService.exchangeBusinessId(oldBusinessId, newBusinessId);
+    }
+
+    /**
+     * 保存所有文件
+     * @param obsFileList
+     * @param businessId
+     */
+    public static void saveAllFile(List<ObsFile> obsFileList, Long businessId,Integer type) {
+        fileInfoService.saveAllFile(obsFileList, businessId,type);
+    }
+
+    /**
      * 删除文件
      *
      * @param businessId 业务id