|
@@ -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() {
|