瀏覽代碼

fix: bug fix

28968 6 月之前
父節點
當前提交
5eeba63d2d

+ 109 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/controller/CommonAlgorithmConfigController.java

@@ -0,0 +1,109 @@
+package com.taais.biz.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import com.taais.common.core.core.domain.CommonResult;
+import com.taais.common.excel.utils.ExcelUtil;
+import com.taais.common.log.annotation.Log;
+import com.taais.common.log.enums.BusinessType;
+import com.taais.common.web.annotation.RepeatSubmit;
+import com.taais.common.web.core.BaseController;
+import jakarta.annotation.Resource;
+import com.taais.biz.domain.vo.CommonAlgorithmConfigVo;
+import com.taais.biz.domain.bo.CommonAlgorithmConfigBo;
+import com.taais.biz.service.ICommonAlgorithmConfigService;
+
+import com.taais.common.core.core.page.PageResult;
+
+/**
+ * 【请填写功能名称】Controller
+ *
+ * @author km
+ * 2024-12-22
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/demo/algorithmConfig")
+public class CommonAlgorithmConfigController extends BaseController {
+    @Resource
+    private ICommonAlgorithmConfigService commonAlgorithmConfigService;
+
+    /**
+     * 查询【请填写功能名称】列表
+     */
+    @SaCheckPermission("demo:algorithmConfig:list")
+    @GetMapping("/list")
+    public CommonResult<PageResult<CommonAlgorithmConfigVo>> list(CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+        return CommonResult.success(commonAlgorithmConfigService.selectPage(commonAlgorithmConfigBo));
+    }
+
+    /**
+     * 导出【请填写功能名称】列表
+     */
+    @SaCheckPermission("demo:algorithmConfig:export")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+        List<CommonAlgorithmConfigVo> list = commonAlgorithmConfigService.selectList(commonAlgorithmConfigBo);
+        ExcelUtil.exportExcel(list, "【请填写功能名称】", CommonAlgorithmConfigVo.class, response);
+    }
+
+    /**
+     * 获取【请填写功能名称】详细信息
+     */
+    @SaCheckPermission("demo:algorithmConfig:query")
+    @GetMapping(value = "/{id}")
+    public CommonResult<CommonAlgorithmConfigVo> getInfo(@PathVariable Integer id) {
+        return CommonResult.success(commonAlgorithmConfigService.selectById(id));
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     */
+    @SaCheckPermission("demo:algorithmConfig:add")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping
+    public CommonResult<Void> add(@Validated @RequestBody CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+        boolean inserted = commonAlgorithmConfigService.insert(commonAlgorithmConfigBo);
+        if (!inserted) {
+            return CommonResult.fail("新增【请填写功能名称】记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     */
+    @SaCheckPermission("demo:algorithmConfig:edit")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping
+    public CommonResult<Void> edit(@Validated @RequestBody CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+        Boolean updated = commonAlgorithmConfigService.update(commonAlgorithmConfigBo);
+        if (!updated) {
+            return CommonResult.fail("修改【请填写功能名称】记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 删除【请填写功能名称】
+     */
+    @SaCheckPermission("demo:algorithmConfig:remove")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public CommonResult<Void> remove(@PathVariable Integer[] ids) {
+        boolean deleted = commonAlgorithmConfigService.deleteByIds(ids);
+        if (!deleted) {
+            return CommonResult.fail("删除【请填写功能名称】记录失败!");
+        }
+        return CommonResult.success();
+    }
+}

+ 63 - 39
taais-modules/taais-biz/src/main/java/com/taais/biz/controller/DataAugmentationController.java

@@ -16,15 +16,15 @@ import java.util.stream.Stream;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.mybatisflex.core.query.QueryWrapper;
+import com.taais.biz.domain.CommonAlgorithmConfig;
 import com.taais.biz.domain.DataAugmentation;
+import com.taais.biz.domain.bo.CommonAlgorithmConfigBo;
 import com.taais.biz.domain.bo.DataAugmentationBo;
 import com.taais.biz.domain.bo.DataAugmentationResultBo;
 import com.taais.biz.domain.bo.VideoStableStartResultBo;
 import com.taais.biz.domain.dto.Metric;
-import com.taais.biz.domain.vo.DataAugmentationVo;
-import com.taais.biz.domain.vo.ImageUrlPair;
-import com.taais.biz.domain.vo.TaskDictDataVo;
-import com.taais.biz.domain.vo.VideoUrl;
+import com.taais.biz.domain.vo.*;
+import com.taais.biz.service.ICommonAlgorithmConfigService;
 import com.taais.biz.service.IVideoStableService;
 import com.taais.common.core.config.TaaisConfig;
 import com.taais.common.core.service.OssService;
@@ -77,6 +77,9 @@ public class DataAugmentationController extends BaseController {
     private ISysDictDataService sysDictDataService;
     @Autowired
     private IVideoStableService videoStableService;
+
+    @Autowired
+    private ICommonAlgorithmConfigService commonAlgorithmConfigService;
     @GetMapping("/compare/num/{task_id}")
 
     public CommonResult getCompareNum(@PathVariable("task_id") Long taskId) {
@@ -207,27 +210,27 @@ public class DataAugmentationController extends BaseController {
                                 return path.getFileName().toString();
                             }).sorted().collect(Collectors.toList());
                         if ("目标毁伤评估".equals(taskType)) {
-                            QueryWrapper queryWrapper = new QueryWrapper();
-                            queryWrapper.eq("dict_type", "biz_data_augmentation");
-                            queryWrapper.eq("dict_label", "目标毁伤评估必须输出文件名称");
-                            List<SysDictData> list = sysDictDataService.list(queryWrapper);
-                            String[] split = list.get(0).getDictValue().split(",");
-                            if (list.isEmpty()) {
-                                origin.add("未在数据字典中定义目标毁伤评估必须输出文件名称");
-                                origin_list.add(origin);
-                                images.put("error", origin_list);
-                                return ResponseEntity.status(500).body(images);
-                            } else {
-
-                                for (String fileName: split) {
-                                    if (!outputFileList.contains(fileName)) {
-                                        stable.add("输出目录不存在结果文件:" + fileName);
-                                        stable_list.add(stable);
-                                        images.put("error", stable_list);
-                                        return ResponseEntity.status(500).body(images);
-                                    }
+//                            QueryWrapper queryWrapper = new QueryWrapper();
+//                            queryWrapper.eq("dict_type", "biz_data_augmentation");
+//                            queryWrapper.eq("dict_label", "目标毁伤评估必须输出文件名称");
+//                            List<SysDictData> list = sysDictDataService.list(queryWrapper);
+                            String[] split = new String[]{"diffIm.jpg","largest_salient_region.jpg","final_region.jpg"};
+//                            if (list.isEmpty()) {
+//                                origin.add("未在数据字典中定义目标毁伤评估必须输出文件名称");
+//                                origin_list.add(origin);
+//                                images.put("error", origin_list);
+//                                return ResponseEntity.status(500).body(images);
+//                            } else {
+
+                            for (String fileName: split) {
+                                if (!outputFileList.contains(fileName)) {
+                                    stable.add("输出目录不存在结果文件:" + fileName);
+                                    stable_list.add(stable);
+                                    images.put("error", stable_list);
+                                    return ResponseEntity.status(500).body(images);
                                 }
                             }
+
                             outputFileList.sort(Comparator.comparingInt(DataAugmentationController::extractNumber));
                             Map<String, Integer> indexMap = new HashMap<>();
                             for (int i = 0; i < split.length; i++) {
@@ -523,28 +526,49 @@ public class DataAugmentationController extends BaseController {
     }
 
     @SaCheckPermission("demo:dataAugmentation:query")
-    @GetMapping(value = "/getTaskDictData")
-    public CommonResult<List<TaskDictDataVo>> getTaskDictData() {
+    @PostMapping(value = "/getTaskDictData")
+    public CommonResult<List<TaskDictDataVo>> getTaskDictData(@RequestBody String module) {
+        module = module.substring(1, module.length() - 1);  //去除字符串两把的引号
         ArrayList<TaskDictDataVo> taskDictDataVos = new ArrayList<>();
+        //之前从数据字典中获取算法任务及其对应超参配置
+//        QueryWrapper queryWrapper = new QueryWrapper();
+//        queryWrapper.eq("dict_type", "biz_data_augmentation");
+//        queryWrapper.eq("dict_label", "任务类型");
+//        List<SysDictData> taskTypeList = sysDictDataService.list(queryWrapper);
+//        for (SysDictData sysDictData: taskTypeList) {
+//            String dictValue = sysDictData.getDictValue();
+//            queryWrapper.clear();
+//            queryWrapper.eq("dict_type", "biz_data_augmentation");
+//            queryWrapper.eq("dict_label", dictValue + "超参配置");
+//            List<SysDictData> hyparamList = sysDictDataService.list(queryWrapper);
+//            if (hyparamList.isEmpty()) {
+//                return CommonResult.fail("未在type为biz_data_augmentation的字典数据中设置" + dictValue + "的超参配置");
+//            }
+//            TaskDictDataVo taskDictDataVo = new TaskDictDataVo();
+//            taskDictDataVo.setTaskType(dictValue);
+//            taskDictDataVo.setHyperparameterConfiguration(hyparamList.get(0).getDictValue());
+//            taskDictDataVos.add(taskDictDataVo);
+//        }
+        //现在从新建的通用算法配置表中获取
+        //List<CommonAlgorithmConfig> list = commonAlgorithmConfigService.selectAll();
+//        System.out.println("model" + module);
         QueryWrapper queryWrapper = new QueryWrapper();
-        queryWrapper.eq("dict_type", "biz_data_augmentation");
-        queryWrapper.eq("dict_label", "任务类型");
-        List<SysDictData> taskTypeList = sysDictDataService.list(queryWrapper);
-        for (SysDictData sysDictData: taskTypeList) {
-            String dictValue = sysDictData.getDictValue();
-            queryWrapper.clear();
-            queryWrapper.eq("dict_type", "biz_data_augmentation");
-            queryWrapper.eq("dict_label", dictValue + "超参配置");
-            List<SysDictData> hyparamList = sysDictDataService.list(queryWrapper);
-            if (hyparamList.isEmpty()) {
-                return CommonResult.fail("未在type为biz_data_augmentation的字典数据中设置" + dictValue + "的超参配置");
-            }
+        queryWrapper.eq("module", module);
+        List<CommonAlgorithmConfig> list = commonAlgorithmConfigService.list(queryWrapper);
+        if (list.isEmpty()) {
+            return CommonResult.fail("通用算法配置表为空!");
+        }
+        for (CommonAlgorithmConfig commonAlgorithmConfig: list) {
+
             TaskDictDataVo taskDictDataVo = new TaskDictDataVo();
-            taskDictDataVo.setTaskType(dictValue);
-            taskDictDataVo.setHyperparameterConfiguration(hyparamList.get(0).getDictValue());
+            taskDictDataVo.setTaskType(commonAlgorithmConfig.getAlgorithmName());
+            taskDictDataVo.setHyperparameterConfiguration(commonAlgorithmConfig.getParameters());
             taskDictDataVos.add(taskDictDataVo);
+
+
         }
         return CommonResult.success(taskDictDataVos);
+
     }
     private static boolean hasSupportedExtension(String filePath, List<String> extensions) {
         for (String ext : extensions) {

+ 60 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/CommonAlgorithmConfig.java

@@ -0,0 +1,60 @@
+package com.taais.biz.domain;
+
+import com.mybatisflex.annotation.Column;
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.Table;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import com.taais.common.orm.core.domain.BaseEntity;
+
+/**
+ * 【请填写功能名称】对象 common_algorithm_config
+ *
+ * @author km
+ * 2024-12-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Table(value = "common_algorithm_config")
+public class CommonAlgorithmConfig extends BaseEntity
+    {
+@Serial
+private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    @Id
+    private Integer id;
+
+    /** $column.columnComment */
+    private String tool;
+
+    /** $column.columnComment */
+    private String module;
+
+    /** $column.columnComment */
+    private String algorithmName;
+
+    /** $column.columnComment */
+    private String startApi;
+
+    /** $column.columnComment */
+    private String pauseApi;
+
+    /** $column.columnComment */
+    private String terminateApi;
+
+    /** $column.columnComment */
+    private String parameters;
+
+    /** $column.columnComment */
+    private String remarks;
+
+
+    /** $column.columnComment */
+    @Column(isLogicDelete = true)
+    private Integer delFlag;
+
+
+}

+ 75 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/CommonAlgorithmConfigBo.java

@@ -0,0 +1,75 @@
+package com.taais.biz.domain.bo;
+
+import com.taais.biz.domain.CommonAlgorithmConfig;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import com.taais.common.orm.core.domain.BaseEntity;
+
+/**
+ * 【请填写功能名称】业务对象 common_algorithm_config
+ *
+ * @author km
+ * @date 2024-12-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CommonAlgorithmConfig.class, reverseConvertGenerate = false)
+public class CommonAlgorithmConfigBo extends BaseEntity{
+    /**
+     * $column.columnComment
+     */
+    @NotNull(message = "$column.columnComment不能为空")
+    private Integer id;
+
+    /**
+     * $column.columnComment
+     */
+    @NotBlank(message = "$column.columnComment不能为空")
+    private String tool;
+
+    /**
+     * $column.columnComment
+     */
+    @NotBlank(message = "$column.columnComment不能为空")
+    private String module;
+
+    /**
+     * $column.columnComment
+     */
+    @NotBlank(message = "$column.columnComment不能为空")
+    private String algorithmName;
+
+    /**
+     * $column.columnComment
+     */
+    @NotBlank(message = "$column.columnComment不能为空")
+    private String startApi;
+
+    /**
+     * $column.columnComment
+     */
+    @NotBlank(message = "$column.columnComment不能为空")
+    private String pauseApi;
+
+    /**
+     * $column.columnComment
+     */
+    @NotBlank(message = "$column.columnComment不能为空")
+    private String terminateApi;
+
+    /**
+     * $column.columnComment
+     */
+    @NotBlank(message = "$column.columnComment不能为空")
+    private String parameters;
+
+    /**
+     * $column.columnComment
+     */
+    @NotBlank(message = "$column.columnComment不能为空")
+    private String remarks;
+
+
+}

+ 72 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/vo/CommonAlgorithmConfigImportVo.java

@@ -0,0 +1,72 @@
+package com.taais.biz.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.taais.common.excel.annotation.ExcelDictFormat;
+import com.taais.common.excel.convert.ExcelDictConvert;
+import lombok.Data;
+import java.io.Serial;
+import java.io.Serializable;
+import lombok.NoArgsConstructor;
+
+/**
+ * 【请填写功能名称】导入视图对象 common_algorithm_config
+ *
+ * @author km
+ * @date 2024-12-22
+ */
+
+@Data
+@NoArgsConstructor
+public class CommonAlgorithmConfigImportVo implements Serializable
+{
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String tool;
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String module;
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String algorithmName;
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String startApi;
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String pauseApi;
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String terminateApi;
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String parameters;
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String remarks;
+
+     /** $column.columnComment */
+    @ExcelProperty(value = "${column.columnComment}")
+    private Integer delFlag;
+
+
+}

+ 81 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/vo/CommonAlgorithmConfigVo.java

@@ -0,0 +1,81 @@
+package com.taais.biz.domain.vo;
+
+import com.taais.biz.domain.CommonAlgorithmConfig;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.taais.common.excel.annotation.ExcelDictFormat;
+import com.taais.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serial;
+import java.io.Serializable;
+import com.taais.common.orm.core.domain.BaseEntity;
+
+/**
+ * 【请填写功能名称】视图对象 common_algorithm_config
+ *
+ * @author km
+ * @date 2024-12-22
+ */
+@Data
+@ExcelIgnoreUnannotated
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = CommonAlgorithmConfig.class)
+public class CommonAlgorithmConfigVo extends BaseEntity implements Serializable {
+
+@Serial
+private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private Integer id;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String tool;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String module;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String algorithmName;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String startApi;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String pauseApi;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String terminateApi;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String parameters;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
+    private String remarks;
+
+    /** $column.columnComment */
+    @ExcelProperty(value = "${column.columnComment}")
+    private Integer delFlag;
+
+
+
+}

+ 24 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/mapper/CommonAlgorithmConfigMapper.java

@@ -0,0 +1,24 @@
+package com.taais.biz.mapper;
+
+import com.mybatisflex.core.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import com.taais.biz.domain.CommonAlgorithmConfig;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ *
+ * @author km
+ * 2024-12-22
+ */
+@Mapper
+public interface CommonAlgorithmConfigMapper extends BaseMapper<CommonAlgorithmConfig> {
+    @Select("SELECT * FROM common_algorithm_config")
+    List<CommonAlgorithmConfig> selectAll();
+
+    @Select("SELECT * FROM common_algorithm_config WHERE algorithm_name = #{algorithm_name}")
+    List<CommonAlgorithmConfig> selectByName(@Param("algorithm_name")String algorithm_name);
+}

+ 5 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/mapper/DataAugmentationMapper.java

@@ -1,8 +1,13 @@
 package com.taais.biz.mapper;
 
 import com.mybatisflex.core.BaseMapper;
+import com.taais.biz.domain.CommonAlgorithmConfig;
 import com.taais.biz.domain.DataAugmentation;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * 数据增强Mapper接口

+ 69 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/ICommonAlgorithmConfigService.java

@@ -0,0 +1,69 @@
+package com.taais.biz.service;
+
+import java.util.List;
+
+import com.taais.biz.domain.CommonAlgorithmConfig;
+import com.taais.biz.domain.vo.CommonAlgorithmConfigVo;
+import com.taais.biz.domain.bo.CommonAlgorithmConfigBo;
+import com.taais.common.orm.core.service.IBaseService;
+import com.taais.common.core.core.page.PageResult;
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author km
+ * 2024-12-22
+ */
+public interface ICommonAlgorithmConfigService extends IBaseService<CommonAlgorithmConfig> {
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+        CommonAlgorithmConfigVo selectById(Integer id);
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param commonAlgorithmConfigBo 【请填写功能名称】Bo
+     * @return 【请填写功能名称】集合
+     */
+    List<CommonAlgorithmConfigVo> selectList(CommonAlgorithmConfigBo commonAlgorithmConfigBo);
+
+    /**
+     * 分页查询【请填写功能名称】列表
+     *
+     * @param commonAlgorithmConfigBo 【请填写功能名称】Bo
+     * @return 分页【请填写功能名称】集合
+     */
+    PageResult<CommonAlgorithmConfigVo> selectPage(CommonAlgorithmConfigBo commonAlgorithmConfigBo);
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param commonAlgorithmConfigBo 【请填写功能名称】Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    boolean insert(CommonAlgorithmConfigBo commonAlgorithmConfigBo);
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param commonAlgorithmConfigBo 【请填写功能名称】Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    boolean update(CommonAlgorithmConfigBo commonAlgorithmConfigBo);
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的【请填写功能名称】主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+    boolean deleteByIds(Integer[] ids);
+    List<CommonAlgorithmConfig> selectAll();
+
+    CommonAlgorithmConfig selectByAlgorithmName(String algorithm_name);
+
+}

+ 150 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/CommonAlgorithmConfigServiceImpl.java

@@ -0,0 +1,150 @@
+package com.taais.biz.service.impl;
+
+import java.util.Arrays;
+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.common.core.utils.MapstructUtils;
+import com.taais.common.core.utils.StringUtils;
+import com.taais.common.orm.core.page.PageQuery;
+import com.taais.common.core.core.page.PageResult;
+import com.taais.common.orm.core.service.impl.BaseServiceImpl;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.taais.biz.mapper.CommonAlgorithmConfigMapper;
+import com.taais.biz.domain.CommonAlgorithmConfig;
+import com.taais.biz.domain.bo.CommonAlgorithmConfigBo;
+import com.taais.biz.domain.vo.CommonAlgorithmConfigVo;
+import com.taais.biz.service.ICommonAlgorithmConfigService;
+import static com.taais.biz.domain.table.CommonAlgorithmConfigTableDef.COMMON_ALGORITHM_CONFIG;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author km
+ * 2024-12-22
+ */
+@Service
+public class CommonAlgorithmConfigServiceImpl extends BaseServiceImpl<CommonAlgorithmConfigMapper, CommonAlgorithmConfig> implements ICommonAlgorithmConfigService {
+    @Resource
+    private CommonAlgorithmConfigMapper commonAlgorithmConfigMapper;
+
+    @Override
+    public QueryWrapper query() {
+        return super.query().from(COMMON_ALGORITHM_CONFIG);
+    }
+
+    private QueryWrapper buildQueryWrapper(CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+        QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
+        queryWrapper.and(COMMON_ALGORITHM_CONFIG.TOOL.eq
+        (commonAlgorithmConfigBo.getTool()));
+        queryWrapper.and(COMMON_ALGORITHM_CONFIG.MODULE.eq
+        (commonAlgorithmConfigBo.getModule()));
+        queryWrapper.and(COMMON_ALGORITHM_CONFIG.ALGORITHM_NAME.like
+        (commonAlgorithmConfigBo.getAlgorithmName()));
+        queryWrapper.and(COMMON_ALGORITHM_CONFIG.START_API.eq
+        (commonAlgorithmConfigBo.getStartApi()));
+        queryWrapper.and(COMMON_ALGORITHM_CONFIG.PAUSE_API.eq
+        (commonAlgorithmConfigBo.getPauseApi()));
+        queryWrapper.and(COMMON_ALGORITHM_CONFIG.TERMINATE_API.eq
+        (commonAlgorithmConfigBo.getTerminateApi()));
+        queryWrapper.and(COMMON_ALGORITHM_CONFIG.PARAMETERS.eq
+        (commonAlgorithmConfigBo.getParameters()));
+        queryWrapper.and(COMMON_ALGORITHM_CONFIG.REMARKS.eq
+        (commonAlgorithmConfigBo.getRemarks()));
+
+        return queryWrapper;
+    }
+
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param id 【请填写功能名称】主键
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public CommonAlgorithmConfigVo selectById(Integer id) {
+            return this.getOneAs(query().where(COMMON_ALGORITHM_CONFIG.ID.eq(id)), CommonAlgorithmConfigVo.class);
+
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param commonAlgorithmConfigBo 【请填写功能名称】Bo
+     * @return 【请填写功能名称】集合
+     */
+    @Override
+    public List<CommonAlgorithmConfigVo> selectList(CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(commonAlgorithmConfigBo);
+            return this.listAs(queryWrapper, CommonAlgorithmConfigVo.class);
+    }
+
+    /**
+     * 分页查询【请填写功能名称】列表
+     *
+     * @param commonAlgorithmConfigBo 【请填写功能名称】Bo
+     * @return 分页【请填写功能名称】集合
+     */
+    @Override
+    public PageResult<CommonAlgorithmConfigVo> selectPage(CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(commonAlgorithmConfigBo);
+            Page<CommonAlgorithmConfigVo> page = this.pageAs(PageQuery.build(), queryWrapper, CommonAlgorithmConfigVo.class);
+        return PageResult.build(page);
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param commonAlgorithmConfigBo 【请填写功能名称】Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    @Override
+    public boolean insert(CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+    CommonAlgorithmConfig commonAlgorithmConfig =MapstructUtils.convert(commonAlgorithmConfigBo, CommonAlgorithmConfig. class);
+
+        return this.save(commonAlgorithmConfig);//使用全局配置的雪花算法主键生成器生成ID值
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param commonAlgorithmConfigBo 【请填写功能名称】Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    @Override
+    public boolean update(CommonAlgorithmConfigBo commonAlgorithmConfigBo) {
+        CommonAlgorithmConfig commonAlgorithmConfig =MapstructUtils.convert(commonAlgorithmConfigBo, CommonAlgorithmConfig. class);
+        if (ObjectUtil.isNotNull(commonAlgorithmConfig) && ObjectUtil.isNotNull(commonAlgorithmConfig.getId())){
+            boolean updated = this.updateById(commonAlgorithmConfig);
+                return updated;
+        }
+        return false;
+    }
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param ids 需要删除的【请填写功能名称】主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+    @Transactional
+    @Override
+    public boolean deleteByIds(Integer[] ids) {
+        return this.removeByIds(Arrays.asList(ids));
+    }
+
+    @Override
+    public List<CommonAlgorithmConfig> selectAll() {
+        List<CommonAlgorithmConfig> commonAlgorithmConfigs = commonAlgorithmConfigMapper.selectAll();
+        return commonAlgorithmConfigs;
+    }
+    @Override
+    public CommonAlgorithmConfig selectByAlgorithmName(String algorithm_name) {
+        List<CommonAlgorithmConfig> commonAlgorithmConfigs = commonAlgorithmConfigMapper.selectByName(algorithm_name);
+        return commonAlgorithmConfigs.get(0);
+    }
+}

+ 46 - 20
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/DataAugmentationServiceImpl.java

@@ -4,15 +4,15 @@ 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.CommonAlgorithmConfig;
 import com.taais.biz.domain.HttpResponseEntity;
 import com.taais.biz.domain.DataAugmentation;
 import com.taais.biz.domain.TransmissionObject;
-import com.taais.biz.domain.bo.DataAugmentationBo;
-import com.taais.biz.domain.bo.DataAugmentationResultBo;
-import com.taais.biz.domain.bo.DataAugmentationStartResultBo;
-import com.taais.biz.domain.bo.VideoStableStartResultBo;
+import com.taais.biz.domain.bo.*;
+import com.taais.biz.domain.vo.CommonAlgorithmConfigVo;
 import com.taais.biz.domain.vo.DataAugmentationVo;
 import com.taais.biz.mapper.DataAugmentationMapper;
+import com.taais.biz.service.ICommonAlgorithmConfigService;
 import com.taais.biz.service.IDataAugmentationService;
 import com.taais.biz.utils.ZipUtils;
 import com.taais.common.core.config.TaaisConfig;
@@ -76,6 +76,8 @@ public class DataAugmentationServiceImpl extends BaseServiceImpl<DataAugmentatio
     @Autowired
     private ISysOssService ossService;
     @Autowired
+    private ICommonAlgorithmConfigService commonAlgorithmConfigService;
+    @Autowired
     private ISysDictDataService iSysDictDataService;
     @Resource
     private DataAugmentationMapper dataAugmentationMapper;
@@ -289,16 +291,28 @@ public class DataAugmentationServiceImpl extends BaseServiceImpl<DataAugmentatio
             dataAugmentation.setInputPath(inputPath.toString());
             dataAugmentation.setAlgorithmPath(logPath.toString());
             dataAugmentation.setOutputPath(outputPath.toString());
-//            dataAugmentation.setStatus(BizConstant.ModelStatus.RUNNING);
-//            updateById(dataAugmentation);
-            SysDictDataBo sysDictDataBo = new SysDictDataBo();
-            sysDictDataBo.setDictLabel(dataAugmentation.getTaskType() + "开始url");
-            sysDictDataBo.setDictType("biz_data_augmentation");
-            List<SysDictDataVo> sysDictDataVos = iSysDictDataService.selectDictDataList(sysDictDataBo);
-            if (sysDictDataVos.size() == 0) {
-                return CommonResult.fail("未设置" + dataAugmentation.getTaskType() + "算法推理的url!请在数据字典中设置该算法的推理url!");
+            //由数据字典获取开始api
+//            SysDictDataBo sysDictDataBo = new SysDictDataBo();
+//            sysDictDataBo.setDictLabel(dataAugmentation.getTaskType() + "开始url");
+//            sysDictDataBo.setDictType("biz_data_augmentation");
+//            List<SysDictDataVo> sysDictDataVos = iSysDictDataService.selectDictDataList(sysDictDataBo);
+//            if (sysDictDataVos.size() == 0) {
+//                return CommonResult.fail("未设置" + dataAugmentation.getTaskType() + "算法推理的url!请在数据字典中设置该算法的推理url!");
+//            }
+            //由新建的通用算法配置表获取算法开始api
+//            CommonAlgorithmConfigBo commonAlgorithmConfigBo = new CommonAlgorithmConfigBo();
+//            commonAlgorithmConfigBo.setAlgorithmName(dataAugmentation.getTaskType());
+//
+//            List<CommonAlgorithmConfigVo> commonAlgorithmConfigVos = commonAlgorithmConfigService.selectList(commonAlgorithmConfigBo);
+//            if (commonAlgorithmConfigVos.size() == 0) {
+//                return CommonResult.fail("通用算法配置表中无" + dataAugmentation.getTaskType() + "算法配置");
+//            }
+//            String data_augmentation_start_url = commonAlgorithmConfigVos.get(0).getStartApi();
+            CommonAlgorithmConfig commonAlgorithmConfig = commonAlgorithmConfigService.selectByAlgorithmName(dataAugmentation.getTaskType());
+            if (commonAlgorithmConfig == null) {
+                return CommonResult.fail("通用算法配置表中无" + dataAugmentation.getTaskType() + "算法配置");
             }
-            String data_augmentation_start_url = sysDictDataVos.get(0).getDictValue();
+            String data_augmentation_start_url = commonAlgorithmConfig.getStartApi();
             //设置传输对象
             TransmissionObject transmissionObject = new TransmissionObject();
             transmissionObject.setBizId(dataAugmentation.getId());
@@ -441,15 +455,27 @@ public class DataAugmentationServiceImpl extends BaseServiceImpl<DataAugmentatio
 
     @Override
     public CommonResult stop(Long id) {
+        //从数据字典中获取停止api
         DataAugmentation dataAugmentation = getById(id);
-        SysDictDataBo sysDictDataBo = new SysDictDataBo();
-        sysDictDataBo.setDictLabel(dataAugmentation.getTaskType() + "停止url");
-        sysDictDataBo.setDictType("biz_data_augmentation");
-        List<SysDictDataVo> sysDictDataVos = iSysDictDataService.selectDictDataList(sysDictDataBo);
-        if (sysDictDataVos.size() == 0) {
-            return CommonResult.fail("未设置数据增强算法停止推理的url!请在数据字典中设置该算法的停止推理地址!");
+//        SysDictDataBo sysDictDataBo = new SysDictDataBo();
+//        sysDictDataBo.setDictLabel(dataAugmentation.getTaskType() + "停止url");
+//        sysDictDataBo.setDictType("biz_data_augmentation");
+//        List<SysDictDataVo> sysDictDataVos = iSysDictDataService.selectDictDataList(sysDictDataBo);
+//        if (sysDictDataVos.size() == 0) {
+//            return CommonResult.fail("未设置数据增强算法停止推理的url!请在数据字典中设置该算法的停止推理地址!");
+//        }
+//        String data_augmentation_stop_url = sysDictDataVos.get(0).getDictValue();
+        //从通用算法配置表中获取停止api
+//        CommonAlgorithmConfigBo commonAlgorithmConfigBo = new CommonAlgorithmConfigBo();
+//        commonAlgorithmConfigBo.setAlgorithmName(dataAugmentation.getTaskType());
+//
+//        List<CommonAlgorithmConfigVo> commonAlgorithmConfigVos = commonAlgorithmConfigService.selectList(commonAlgorithmConfigBo);
+        CommonAlgorithmConfig commonAlgorithmConfig = commonAlgorithmConfigService.selectByAlgorithmName(dataAugmentation.getTaskType());
+        if (commonAlgorithmConfig == null) {
+            return CommonResult.fail("通用算法配置表中无" + dataAugmentation.getTaskType() + "算法配置");
         }
-        String data_augmentation_stop_url = sysDictDataVos.get(0).getDictValue();
+        String data_augmentation_stop_url = commonAlgorithmConfig.getTerminateApi();
+        //设置传输对象
         TransmissionObject transmissionObject = new TransmissionObject();
         transmissionObject.setBizId(dataAugmentation.getId());
         transmissionObject.setBizType(dataAugmentation.getTaskType());

+ 7 - 0
taais-modules/taais-biz/src/main/resources/mapper/demo/CommonAlgorithmConfigMapper.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.taais.demo.mapper.CommonAlgorithmConfigMapper">
+
+</mapper>