ソースを参照

数据导入更新问题修改

Gaokun Wang 7 ヶ月 前
コミット
6d8e3e4e03

+ 11 - 7
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/DataImportServiceImpl.java

@@ -2,6 +2,7 @@ package org.eco.als.service.impl;
 
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.mybatisflex.core.paginate.Page;
 import com.mybatisflex.core.query.QueryWrapper;
 import jakarta.annotation.Resource;
@@ -162,13 +163,16 @@ public class DataImportServiceImpl extends BaseServiceImpl<DataImportMapper, Dat
      */
     @Override
     public boolean update(DataImportBo dataImportBo) {
-        SysOssVo ossVo = ossService.getById(dataImportBo.getOssId());
-        String path = StringUtils.substringAfter(ossVo.getFileName(), Constants.RESOURCE_PREFIX);
-        String pathCsv = EcoConfig.getTempPath() + "/" + CsvUtils.getName(FileUtils.getNameNotSuffix(ossVo.getOriginalName()));
-        File file = CsvUtils.excelToFileCsv(EcoConfig.getProfile() + path, pathCsv);
-        ossVo = ossService.upload(file);
-        FileUtil.del(pathCsv);
-        dataImportBo.setOssId(ossVo.getOssId());
+        DataImportVo dataImportVo = this.selectById(dataImportBo.getId());
+        if(!ObjectUtil.equals(dataImportVo.getOssId(),dataImportBo.getOssId())) {
+            SysOssVo ossVo = ossService.getById(dataImportBo.getOssId());
+            String path = StringUtils.substringAfter(ossVo.getFileName(), Constants.RESOURCE_PREFIX);
+            String pathCsv = EcoConfig.getTempPath() + "/" + CsvUtils.getName(FileUtils.getNameNotSuffix(ossVo.getOriginalName()));
+            File file = CsvUtils.excelToFileCsv(EcoConfig.getProfile() + path, pathCsv);
+            ossVo = ossService.upload(file);
+            FileUtil.del(pathCsv);
+            dataImportBo.setOssId(ossVo.getOssId());
+        }
         DataImport dataImport = MapstructUtils.convert(dataImportBo, DataImport.class);
         if (ObjectUtil.isNotNull(dataImport) && ObjectUtil.isNotNull(dataImport.getId())) {
             return this.updateById(dataImport);