allen 11 months ago
parent
commit
6f8db6d71d

+ 21 - 0
taais-common/taais-common-core/src/main/java/com/taais/common/core/utils/file/FileUtils.java

@@ -2,6 +2,7 @@ package com.taais.common.core.utils.file;
 
 import cn.hutool.core.io.FileUtil;
 import com.taais.common.core.config.TaaisConfig;
+import com.taais.common.core.constant.Constants;
 import com.taais.common.core.utils.DateUtils;
 import com.taais.common.core.utils.StringUtils;
 import com.taais.common.core.utils.uuid.IdUtils;
@@ -294,4 +295,24 @@ public class FileUtils extends FileUtil {
 
         return fileNamesAndExtensions;
     }
+
+    public static Path getTxtPath(String pathFileName) {
+        Path path = Paths.get(TaaisConfig.getProfile()+StringUtils.substringAfter(pathFileName, Constants.RESOURCE_PREFIX));
+
+        // 获取文件名并替换后缀
+        String newFileName = path.getFileName().toString().replaceFirst("[.][^.]+$", "") + ".txt";
+
+        // 创建新的Path对象
+        return path.resolveSibling(newFileName);
+    }
+    public static String getTxtPathStr(String pathFileName) {
+        Path path = Paths.get(TaaisConfig.getProfile()+pathFileName);
+
+        // 获取文件名并替换后缀
+        String newFileName = path.getFileName().toString().replaceFirst("[.][^.]+$", "") + ".txt";
+
+        // 创建新的Path对象
+        Path newPath = path.resolveSibling(newFileName);
+        return newPath.toAbsolutePath().toString();
+    }
 }

+ 2 - 2
taais-modules/taais-biz/src/main/java/com/taais/biz/constant/BizConstant.java

@@ -22,8 +22,8 @@ public class BizConstant {
 
     public static final String TASK_FOLDER_PATH_LOG= "log/";
     public static final String TASK_FOLDER_LOG_PATH= TASK_FOLDER_PATH_LOG+"log.log";
-    public static final String IMAGE = "image";
-    public static final String LABEL = "label";
+    public static final String IMAGE = "images/";
+    public static final String LABEL = "labels/";
 
     public static final String STEP1_SELECT_TASK = "1";
     public static final String STEP2_TRAIN_DATA_SELECT = "2";

+ 2 - 7
taais-modules/taais-biz/src/main/java/com/taais/biz/controller/DataController.java

@@ -217,15 +217,10 @@ public class DataController extends BaseController {
 
     // 检查有没有标注信息有的话把标注数据置为已标注
     private boolean checkLabeled(String pathFileName) {
-        Path path = Paths.get(TaaisConfig.getProfile()+StringUtils.substringAfter(pathFileName, Constants.RESOURCE_PREFIX));
-
-        // 获取文件名并替换后缀
-        String newFileName = path.getFileName().toString().replaceFirst("[.][^.]+$", "") + ".txt";
-
-        // 创建新的Path对象
-        Path newPath = path.resolveSibling(newFileName);
+        Path newPath = FileUtils.getTxtPath(pathFileName);
 
         // 检查替换后的文件是否存在
         return Files.exists(newPath);
     }
+
 }

+ 2 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/AlgorithmSubtaskServiceImpl.java

@@ -72,6 +72,8 @@ public class AlgorithmSubtaskServiceImpl extends BaseServiceImpl<AlgorithmSubtas
         (algorithmSubtaskBo.getStartTime()));
         queryWrapper.and(ALGORITHM_SUBTASK.END_TIME.eq
         (algorithmSubtaskBo.getEndTime()));
+        queryWrapper.and(ALGORITHM_SUBTASK.TASK_ID.eq
+        (algorithmSubtaskBo.getTaskId()));
         return queryWrapper;
     }
 

+ 26 - 7
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/AlgorithmTaskServiceImpl.java

@@ -18,6 +18,8 @@ import com.taais.biz.domain.vo.AlgorithmTaskVo;
 import com.taais.biz.domain.vo.DataVo;
 import com.taais.biz.mapper.AlgorithmTaskMapper;
 import com.taais.biz.service.*;
+import com.taais.common.core.config.TaaisConfig;
+import com.taais.common.core.constant.Constants;
 import com.taais.common.core.core.page.PageResult;
 import com.taais.common.core.utils.MapstructUtils;
 import com.taais.common.core.utils.StringUtils;
@@ -36,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
 import java.lang.reflect.Type;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -660,19 +663,30 @@ public class AlgorithmTaskServiceImpl extends BaseServiceImpl<AlgorithmTaskMappe
     }
 
     private void copyToDestinationFolder(List<DataVo> trainDataList, String destinationPath) {
-        SysDictDataVo sysDictDataVo = dictDataService.selectDictDataByTypeAndLabel("biz_algorithm_config", "path");
-        String destinationBase = "d:\\taais\\common\\";
-        if (sysDictDataVo!= null && StringUtils.isNotEmpty(sysDictDataVo.getDictValue())) {
-            destinationBase = sysDictDataVo.getDictValue();
-        }
+//        SysDictDataVo sysDictDataVo = dictDataService.selectDictDataByTypeAndLabel("biz_algorithm_config", "path");
+//        if (sysDictDataVo!= null && StringUtils.isNotEmpty(sysDictDataVo.getDictValue())) {
+//            destinationBase = sysDictDataVo.getDictValue();
+//        }
         int errorCount = 0;
         for (DataVo dataVo : trainDataList) {
+            // 复制图片
+            String imagePath = StringUtils.substringAfter(dataVo.getUrl(), Constants.RESOURCE_PREFIX);
             try {
-                FileUtils.copyFile(dataVo.getDataSource(),destinationBase + destinationPath);
+                FileUtils.copyFile(TaaisConfig.getProfile() + imagePath, TaaisConfig.getProfile() + destinationPath+BizConstant.IMAGE);
             } catch (IOException e) {
                 errorCount++;
-                log.error("复制文件出错source:{},target:{}", dataVo.getDataSource(), destinationBase + destinationPath);
+                log.error("复制图片文件出错source:{},target:{}", dataVo.getDataSource(), TaaisConfig.getProfile() + destinationPath);
+            }
+            if(dataVo.getLabeled()){
+                try {
+                    String txtPathStr = FileUtils.getTxtPathStr(imagePath);
+                    FileUtils.copyFile(txtPathStr, TaaisConfig.getProfile() + destinationPath+BizConstant.LABEL);
+                } catch (IOException e) {
+                    errorCount++;
+                    log.error("复制标注文件出错source:{},target:{}", dataVo.getDataSource(), TaaisConfig.getProfile() + destinationPath);
+                }
             }
+
         }
         if(errorCount != 0){
             log.warn("复制文件失败了{}个!!",errorCount);
@@ -690,4 +704,9 @@ public class AlgorithmTaskServiceImpl extends BaseServiceImpl<AlgorithmTaskMappe
             return MapstructUtils.convert(data, DataVo. class);
         }
     }
+
+    public static void main(String[] args) throws IOException {
+        String profile = "D:/taais/uploadPath";
+        FileUtils.copyFile(profile + StringUtils.substringAfter("/profile/upload\\2024\\07\\13\\101953322/3.jpg", Constants.RESOURCE_PREFIX), profile + "/task/169578890091683840/train/original/0/"+BizConstant.IMAGE);
+    }
 }