Explorar o código

Merge branch 'dev_lsk_fix_v1' of www/taais into develop

Sk18834839360 hai 9 meses
pai
achega
a23d6014b2

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

@@ -73,4 +73,6 @@ public class BizConstant {
     public static final String ORIGINAL_IMAGE= "原始图片";
     public static final String DOCKER_BASE_PATH= "/home/ObjectDetection_Web";
     public static final String DOCKER_PT_PATH= "weights/best.pt";
+
+    public static final String REMARK_PREFIX = "__URL__";
 }

+ 8 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/controller/AlgorithmTaskConfigurationController.java

@@ -2,6 +2,7 @@ package com.taais.biz.controller;
 
 import java.util.List;
 
+import com.taais.biz.domain.bo.AlgorithmTaskConfigurationParam;
 import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import cn.dev33.satoken.annotation.SaCheckPermission;
@@ -106,4 +107,11 @@ public class AlgorithmTaskConfigurationController extends BaseController {
         }
         return CommonResult.success();
     }
+
+    @PostMapping("/importModel")
+    public CommonResult<Boolean> insertExistedModel(@RequestBody AlgorithmTaskConfigurationParam param) {
+        System.out.println("assert-model: " + param.toString());
+        boolean res = algorithmTaskConfigurationService.insertExistedModel(param);
+        return CommonResult.success(res);
+    }
 }

+ 14 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/controller/TargetIdentificationSubtaskDetailsController.java

@@ -8,6 +8,8 @@ import java.util.Map;
 import com.taais.biz.constant.BizConstant;
 import com.taais.biz.domain.TargetIdentificationSubtaskDetails;
 import com.taais.biz.service.impl.TargetIdentificationSubtaskServiceImpl;
+import com.taais.biz.service.impl.TargetIdentificationTaskServiceImpl;
+import com.taais.biz.utils.ZipDirectory;
 import com.taais.common.core.utils.StringUtils;
 import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
@@ -151,4 +153,16 @@ public class TargetIdentificationSubtaskDetailsController extends BaseController
         }
         return CommonResult.success(res);
     }
+
+    @GetMapping("/resultZip")
+    public CommonResult<String> genResultZip(String taskId) {
+        TargetIdentificationSubtaskDetails details = targetIdentificationSubtaskDetailsService.getById(Long.parseLong(taskId));
+        String sourcePath = TargetIdentificationTaskServiceImpl.PATH_PREFIX + details.getResultPath();
+        String targetFile = sourcePath + ".zip";
+        if (!new File(targetFile).exists()) {
+            ZipDirectory.zipDirectory(new File(sourcePath), targetFile);
+        }
+        String url = "/api/profile/task" + details.getResultPath() + ".zip";
+        return CommonResult.success(url);
+    }
 }

+ 35 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/AlgorithmTaskConfigurationParam.java

@@ -0,0 +1,35 @@
+package com.taais.biz.domain.bo;
+
+import lombok.Data;
+
+/**
+ * @author SukangLee
+ * @version 1.0
+ * @date 2024/9/20 00:23
+ * @description
+ */
+@Data
+public class AlgorithmTaskConfigurationParam {
+    String modelName;
+    String modelAddress;
+    String trainUrl;
+    String trainParams;
+    String testUrl;
+    String testParams;
+    String valUrl;
+    String valParams;
+
+    @Override
+    public String toString() {
+        return "AlgorithmTaskConfigurationParam{" +
+            "modelName='" + modelName + '\'' +
+            ", modelAddress='" + modelAddress + '\'' +
+            ", trainUrl='" + trainUrl + '\'' +
+            ", trainParams='" + trainParams + '\'' +
+            ", testUrl='" + testUrl + '\'' +
+            ", testParams='" + testParams + '\'' +
+            ", valUrl='" + valUrl + '\'' +
+            ", valParams='" + valParams + '\'' +
+            '}';
+    }
+}

+ 2 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/mapper/AlgorithmTaskConfigurationMapper.java

@@ -1,6 +1,7 @@
 package com.taais.biz.mapper;
 
 import com.mybatisflex.core.BaseMapper;
+import com.taais.biz.domain.bo.AlgorithmTaskConfigurationParam;
 import org.apache.ibatis.annotations.Mapper;
 import com.taais.biz.domain.AlgorithmTaskConfiguration;
 
@@ -13,4 +14,5 @@ import com.taais.biz.domain.AlgorithmTaskConfiguration;
 @Mapper
 public interface AlgorithmTaskConfigurationMapper extends BaseMapper<AlgorithmTaskConfiguration> {
 
+    int insertExistedModel(AlgorithmTaskConfigurationParam param);
 }

+ 3 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/IAlgorithmTaskConfigurationService.java

@@ -3,8 +3,10 @@ package com.taais.biz.service;
 import java.util.List;
 
 import com.taais.biz.domain.AlgorithmTaskConfiguration;
+import com.taais.biz.domain.bo.AlgorithmTaskConfigurationParam;
 import com.taais.biz.domain.vo.AlgorithmTaskConfigurationVo;
 import com.taais.biz.domain.bo.AlgorithmTaskConfigurationBo;
+import com.taais.common.core.core.domain.CommonResult;
 import com.taais.common.orm.core.service.IBaseService;
 import com.taais.common.core.core.page.PageResult;
 
@@ -63,4 +65,5 @@ public interface IAlgorithmTaskConfigurationService extends IBaseService<Algorit
      */
     boolean deleteByIds(Long[] ids);
 
+    boolean insertExistedModel(AlgorithmTaskConfigurationParam param);
 }

+ 16 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/AlgorithmTaskConfigurationServiceImpl.java

@@ -6,6 +6,8 @@ import java.util.List;
 import cn.hutool.core.util.ObjectUtil;
 import com.mybatisflex.core.paginate.Page;
 import com.mybatisflex.core.query.QueryWrapper;
+import com.taais.biz.constant.BizConstant;
+import com.taais.biz.domain.bo.AlgorithmTaskConfigurationParam;
 import com.taais.common.core.utils.MapstructUtils;
 import com.taais.common.core.utils.StringUtils;
 import com.taais.common.orm.core.page.PageQuery;
@@ -135,4 +137,18 @@ public class AlgorithmTaskConfigurationServiceImpl extends BaseServiceImpl<Algor
         return this.removeByIds(Arrays.asList(ids));
     }
 
+    @Override
+    public boolean insertExistedModel(AlgorithmTaskConfigurationParam param) {
+        //int res = algorithmTaskConfigurationMapper.insertExistedModel(param);
+        AlgorithmTaskConfiguration bo = new AlgorithmTaskConfiguration();
+        bo.setName(param.getModelName());
+        bo.setTestUrl(param.getTestUrl());
+        bo.setTestParams(param.getTestParams());
+        bo.setTrainUrl(param.getTrainUrl());
+        bo.setTrainParams(param.getTrainParams());
+        bo.setVerifyParams(param.getValParams());
+        bo.setVerifyUrl(param.getValUrl());
+        bo.setRemark(BizConstant.REMARK_PREFIX + param.getModelAddress());
+        return this.save(bo);
+    }
 }

+ 52 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/utils/ZipDirectory.java

@@ -0,0 +1,52 @@
+package com.taais.biz.utils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+/**
+ * @author SukangLee
+ * @version 1.0
+ * @date 2024/9/20 01:28
+ * @description
+ */
+public class ZipDirectory {
+
+    public static void zipDirectory(File folder, String outputZip) {
+        try {
+            FileOutputStream fos = new FileOutputStream(outputZip);
+            ZipOutputStream zos = new ZipOutputStream(fos);
+            addFolderToZip("", folder, zos);
+            zos.flush();
+            zos.close();
+            fos.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static void addFolderToZip(String path, File srcFile, ZipOutputStream zos) throws IOException {
+        File[] files = srcFile.listFiles();
+
+        for (File file : files) {
+            if (file.isDirectory()) {
+                addFolderToZip(path + file.getName() + "/", file, zos);
+            } else {
+                byte[] buffer = new byte[1024];
+                FileInputStream fis = new FileInputStream(file);
+                zos.putNextEntry(new ZipEntry(path + file.getName()));
+
+                int length;
+                while ((length = fis.read(buffer)) > 0) {
+                    zos.write(buffer, 0, length);
+                }
+
+                zos.closeEntry();
+                fis.close();
+            }
+        }
+    }
+}

+ 6 - 0
taais-modules/taais-biz/src/main/resources/mapper/task/AlgorithmTaskConfigurationMapper.xml

@@ -4,4 +4,10 @@
     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.taais.biz.mapper.AlgorithmTaskConfigurationMapper">
 
+    <insert id="insertExistedModel">
+        insert into algorithm_task_configuration
+            (name, test_params, test_url, train_params, train_url, verify_params, verify_url, remark)
+        values
+            (#{modelName}, #{testParams}, #{testUrl}, #{trainParams}, #{trainUrl}, #{valParams}, #{valUrl}, #{modelAddress})
+    </insert>
 </mapper>