Ver código fonte

Merge remote-tracking branch 'origin/dev-lzy' into dev-lzy

Eureka 8 meses atrás
pai
commit
a145ae54aa

+ 76 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/DataAmplificationTask.java

@@ -0,0 +1,76 @@
+package com.taais.biz.domain;
+
+import com.mybatisflex.annotation.Column;
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.Table;
+import com.taais.common.orm.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 目标识别子任务对象 target_identification_subtask
+ *
+ * @author Allen
+ * 2024-08-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Table(value = "data_amplification_task")
+public class DataAmplificationTask extends BaseEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /** 主键ID */
+    @Id
+    private Long id;
+
+    /** 任务名称 */
+    private String name;
+
+    /** 任务状态 */
+    private String status;
+
+    /**
+     * 数据批次号
+     */
+    private String dataBatchNums;
+
+    /**
+     * 调用算法时所用的参数
+     */
+    private String parameters;
+
+    /**
+     * 开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 耗时
+     */
+    private Integer costSecond;
+
+    /**
+     * 日志
+     */
+    private String log;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /** 逻辑删除标志(0代表存在 1代表删除) */
+    @Column(isLogicDelete = true)
+    private Integer delFlag;
+
+}

+ 78 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/DataAmplificationTaskBo.java

@@ -0,0 +1,78 @@
+package com.taais.biz.domain.bo;
+
+import com.mybatisflex.annotation.Column;
+import com.mybatisflex.annotation.Id;
+import com.taais.biz.domain.TargetIdentificationSubtask;
+import com.taais.common.orm.core.domain.BaseEntity;
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 目标识别子任务业务对象 target_identification_subtask
+ *
+ * @author Allen
+ * @date 2024-08-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = TargetIdentificationSubtask.class, reverseConvertGenerate = false)
+public class DataAmplificationTaskBo extends BaseEntity{
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /** 主键ID */
+    @Id
+    private Long id;
+
+    /** 任务名称 */
+    private String name;
+
+    /** 任务状态 */
+    private String status;
+
+    /**
+     * 数据批次号
+     */
+    private String dataBatchNums;
+
+    /**
+     * 调用算法时所用的参数
+     */
+    private String parameters;
+
+    /**
+     * 开始时间
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+
+    /**
+     * 耗时
+     */
+    private Integer costSecond;
+
+    /**
+     * 日志
+     */
+    private String log;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /** 逻辑删除标志(0代表存在 1代表删除) */
+    @Column(isLogicDelete = true)
+    private Integer delFlag;
+
+}

+ 7 - 5
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/dto/DataAmplifyDto.java

@@ -1,10 +1,12 @@
 package com.taais.biz.domain.dto;
 
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.experimental.Accessors;
 
+import java.util.List;
 import java.util.Map;
 
 
@@ -19,19 +21,19 @@ import java.util.Map;
 @Accessors(chain = true)
 public class DataAmplifyDto {
 
-    @NotEmpty(message = "批次不能为空")
+    @NotBlank(message = "批次不能为空")
     private String batchNum;
 
-    @NotEmpty(message = "任务名称")
+    @NotBlank(message = "任务名称")
     private String taskName;
 
-    @NotEmpty(message = "扩充方式不能为空")
+    @NotBlank(message = "扩充方式不能为空")
     private String augmentationType;
 
     private String inputImagePath;
 
     private String outputImagePath;
 
-    @NotNull(message = "扩充算法配置不能为空")
-    private Map<String, String> otherParams;
+    @NotEmpty(message = "扩充算法配置不能为空")
+    private List<Map<String, String>> otherParams;
 }

+ 2 - 1
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/dto/task/CreateTargetIdentificationTaskDto.java

@@ -1,5 +1,6 @@
 package com.taais.biz.domain.dto.task;
 
+import com.taais.biz.domain.dto.DataAmplifyDto;
 import lombok.Data;
 
 import java.util.List;
@@ -36,5 +37,5 @@ public class CreateTargetIdentificationTaskDto {
     private Boolean hasTrainAugmentation;
 
     // 训练扩增的超参
-    private String trainAugmentationParams;
+    private DataAmplifyDto trainAugmentationParams;
 }

+ 2 - 1
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/DataServiceImpl.java

@@ -36,6 +36,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
@@ -291,7 +292,7 @@ public class DataServiceImpl extends BaseServiceImpl<DataMapper, Data> implement
         String formattedDate = currentDate.format(formatter);
         filePath = filePath + File.separator + formattedDate;
         String finalFilePath = filePath;
-        dataListInfo.forEach(dataInfo -> {
+            dataListInfo.forEach(dataInfo -> {
             try {
                 //循环调用Python扩增接口
                 Map<String, Object> bodyJson = new HashMap<>();

+ 22 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/TargetIdentificationTaskServiceImpl.java

@@ -12,6 +12,7 @@ import com.taais.biz.constant.BizConstant;
 import com.taais.biz.domain.TargetIdentificationSubtask;
 import com.taais.biz.domain.bo.TargetIdentificationSubtaskBo;
 import com.taais.biz.domain.bo.TargetIdentificationSubtaskDetailsBo;
+import com.taais.biz.domain.dto.DataAmplifyDto;
 import com.taais.biz.domain.dto.task.CreateTargetIdentificationTaskDto;
 import com.taais.biz.domain.dto.task.TaskDto;
 import com.taais.biz.domain.vo.AlgorithmModelVo;
@@ -211,6 +212,11 @@ public class TargetIdentificationTaskServiceImpl extends BaseServiceImpl<TargetI
         if (taskDto.getTaskItemList().contains("2")){
             createTestTask(taskBo.getId(),taskDto, records);
         }
+
+        // 创建扩增子任务
+        if (taskDto.getHasTrainAugmentation()) {
+            createDataAmplifyTask(taskBo.getId(), taskDto);
+        }
         return null;
     }
 
@@ -501,6 +507,22 @@ public class TargetIdentificationTaskServiceImpl extends BaseServiceImpl<TargetI
         }
     }
 
+    private void createDataAmplifyTask(Long taskId, CreateTargetIdentificationTaskDto taskDto) {
+
+        DataAmplifyDto dataAmplifyDto = taskDto.getTrainAugmentationParams();
+        if (StringUtils.isBlank(dataAmplifyDto.getBatchNum())) {
+            return;
+        }
+        TargetIdentificationSubtaskBo subtask = new TargetIdentificationSubtaskBo();
+        subtask.setName("数据扩增");
+        subtask.setStatus(BizConstant.TASK_STATUS_PENDING);
+        subtask.setTaskId(taskId);
+        subtask.setRemarks("DEFAULT_REMARK");
+        subtaskService.insertSubtask(subtask);
+
+
+    }
+
 
     // todo 检查数据是否有问题
     private String checkTask(CreateTargetIdentificationTaskDto taskDto) {