supeng 2 mesi fa
parent
commit
7b7c9b4bfd
15 ha cambiato i file con 178 aggiunte e 79 eliminazioni
  1. 2 2
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/enums/ContentTypeEnum.java
  2. 16 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/ContentDTO.java
  3. 1 1
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/ContentUnderstandingResultDTO.java
  4. 0 27
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/TaskInfoDTO.java
  5. 16 2
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/TaskResultDTO.java
  6. 13 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/VideoResultDTO.java
  7. 17 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/GetVideoUnderstandingResultParam.java
  8. 2 10
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/QueryTasksParam.java
  9. 14 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/vo/ContentUnderstandingResultVO.java
  10. 15 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/vo/TaskResultVO.java
  11. 15 6
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ContentService.java
  12. 6 1
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/PipelineService.java
  13. 46 15
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/ContentServiceImpl.java
  14. 2 1
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/PipelineServiceImpl.java
  15. 13 14
      content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/controller/ContentUnderstandingController.java

+ 2 - 2
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/enums/ContentTypeEnum.java

@@ -14,8 +14,8 @@ public enum ContentTypeEnum {
     VIDEO(2, "视频"),
     INTRODUCTION(3, "简介"),
     AUDIO(4, "音频"),
-    SRT_VTT(5, "字幕");
-//    VTT(6, "字幕");
+    SRT(5, "字幕"),
+    VTT(6, "字幕");
 
     private final Integer value;
     private final String desc;

+ 16 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/ContentDTO.java

@@ -9,8 +9,24 @@ import lombok.Data;
  */
 @Data
 public class ContentDTO {
+    /**
+     * 视频ID
+     * 必需
+     */
     private Long videoId;
+    /**
+     * 输入内容
+     * 必需
+     */
     private String content;
+    /**
+     * 流程ID
+     * 必需
+     */
     private Long pipelineId;
+    /**
+     * 输入内容类型
+     * 非必需
+     */
     private Integer contentType;
 }

+ 1 - 1
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/ContentUnderstandingResultDTO.java

@@ -11,5 +11,5 @@ import lombok.Data;
 public class ContentUnderstandingResultDTO {
     private Long videoId;
     private Long pipelineId;
-    private String info;
+    private String result;
 }

+ 0 - 27
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/TaskInfoDTO.java

@@ -1,27 +0,0 @@
-package com.tzld.piaoquan.content.understanding.model.dto;
-
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * @author supeng
- */
-@Data
-public class TaskInfoDTO {
-    private String taskId;
-    private Long pipelineId;
-    /**
-     * @see com.tzld.piaoquan.content.understanding.common.enums.ContentTypeEnum
-     */
-    private Integer contentType;
-    /**
-     * @see com.tzld.piaoquan.content.understanding.common.enums.TaskStatusEnum
-     */
-    private Integer taskStatus;
-    private String input;
-    private String output;
-    private String reason;
-    private Date createTime;
-    private Date updateTime;
-}

+ 16 - 2
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/TaskResultDTO.java

@@ -2,12 +2,26 @@ package com.tzld.piaoquan.content.understanding.model.dto;
 
 import lombok.Data;
 
-import java.util.List;
+import java.util.Date;
 
 /**
  * @author supeng
  */
 @Data
 public class TaskResultDTO {
-    private List<TaskInfoDTO> taskList;
+    private String taskId;
+    private Long pipelineId;
+//    /**
+//     * @see com.tzld.piaoquan.content.understanding.common.enums.ContentTypeEnum
+//     */
+//    private Integer contentType;
+    /**
+     * @see com.tzld.piaoquan.content.understanding.common.enums.TaskStatusEnum
+     */
+    private Integer taskStatus;
+    private String input;
+    private String output;
+    private String reason;
+    private Date createTime;
+    private Date updateTime;
 }

+ 13 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/dto/VideoResultDTO.java

@@ -0,0 +1,13 @@
+package com.tzld.piaoquan.content.understanding.model.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author supeng
+ */
+@Data
+public class VideoResultDTO {
+    private List<ContentUnderstandingResultDTO> results;
+}

+ 17 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/GetVideoUnderstandingResultParam.java

@@ -0,0 +1,17 @@
+package com.tzld.piaoquan.content.understanding.model.param;
+
+import com.tzld.piaoquan.content.understanding.model.dto.ContentDTO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author supeng
+ */
+@Data
+public class GetVideoUnderstandingResultParam {
+    /**
+     * 
+     */
+    private List<ContentDTO> contents;
+}

+ 2 - 10
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/param/QueryTasksParam.java

@@ -1,8 +1,6 @@
 package com.tzld.piaoquan.content.understanding.model.param;
 
-import com.tzld.piaoquan.content.understanding.model.dto.ContentInfoDTO;
 import lombok.Data;
-
 import java.util.List;
 
 /**
@@ -11,13 +9,7 @@ import java.util.List;
 @Data
 public class QueryTasksParam {
     /**
-     * 内容理解维度
-     *
-     * @see com.tzld.piaoquan.content.understanding.common.enums.ContentTypeEnum
-     */
-    private List<Integer> contentTypes;
-    /**
-     * 内容信息
+     * 任务IDs
      */
-    private ContentInfoDTO contentInfo;
+    private List<String> taskIds;
 }

+ 14 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/vo/ContentUnderstandingResultVO.java

@@ -0,0 +1,14 @@
+package com.tzld.piaoquan.content.understanding.model.vo;
+
+import com.tzld.piaoquan.content.understanding.model.dto.ContentUnderstandingResultDTO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author supeng
+ */
+@Data
+public class ContentUnderstandingResultVO {
+    private List<ContentUnderstandingResultDTO> results;
+}

+ 15 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/vo/TaskResultVO.java

@@ -0,0 +1,15 @@
+package com.tzld.piaoquan.content.understanding.model.vo;
+
+import com.tzld.piaoquan.content.understanding.model.dto.TaskResultDTO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author supeng
+ */
+@Data
+public class TaskResultVO {
+
+    private List<TaskResultDTO> taskResults;
+}

+ 15 - 6
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ContentService.java

@@ -1,9 +1,9 @@
 package com.tzld.piaoquan.content.understanding.service;
 
-import com.tzld.piaoquan.content.understanding.model.dto.TaskResultDTO;
-import com.tzld.piaoquan.content.understanding.model.param.ContentAnalyseParam;
-import com.tzld.piaoquan.content.understanding.model.param.ContentUnderstandParam;
-import com.tzld.piaoquan.content.understanding.model.param.SubmitTasksParam;
+import com.tzld.piaoquan.content.understanding.model.dto.VideoResultDTO;
+import com.tzld.piaoquan.content.understanding.model.param.*;
+import com.tzld.piaoquan.content.understanding.model.vo.ContentUnderstandingResultVO;
+import com.tzld.piaoquan.content.understanding.model.vo.TaskResultVO;
 
 /**
  * @author supeng
@@ -16,6 +16,7 @@ public interface ContentService {
      * @param param
      */
     void analyse(ContentAnalyseParam param);
+
     void understand(ContentUnderstandParam param);
 
     /**
@@ -24,7 +25,7 @@ public interface ContentService {
      * @param param
      * @return
      */
-    TaskResultDTO submitTasks(SubmitTasksParam param);
+    TaskResultVO submitTasks(SubmitTasksParam param);
 
     /**
      * 查询任务
@@ -32,5 +33,13 @@ public interface ContentService {
      * @param param
      * @return
      */
-    TaskResultDTO queryTasks(ContentUnderstandParam param);
+    TaskResultVO queryTasks(QueryTasksParam param);
+
+    /**
+     * 获取视频信息
+     *
+     * @param param
+     * @return
+     */
+    ContentUnderstandingResultVO getVideoUnderstandingResult(GetVideoUnderstandingResultParam param);
 }

+ 6 - 1
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/PipelineService.java

@@ -17,5 +17,10 @@ public interface PipelineService {
 //     */
 //    void execute(ContentUnderstandDTO dto);
 
-    void execute(ContentDTO contentDTO);
+    /**
+     * 执行任务
+     * @param contentDTO
+     * @return taskId
+     */
+    String executeTask(ContentDTO contentDTO);
 }

+ 46 - 15
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/ContentServiceImpl.java

@@ -6,14 +6,17 @@ import com.tzld.piaoquan.content.understanding.common.enums.DataStatusEnum;
 import com.tzld.piaoquan.content.understanding.common.enums.ExceptionEnum;
 import com.tzld.piaoquan.content.understanding.common.exception.CommonException;
 import com.tzld.piaoquan.content.understanding.dao.mapper.CuPipelineMapper;
+import com.tzld.piaoquan.content.understanding.dao.mapper.CuTaskMapper;
 import com.tzld.piaoquan.content.understanding.model.dto.ContentDTO;
-import com.tzld.piaoquan.content.understanding.model.dto.TaskInfoDTO;
 import com.tzld.piaoquan.content.understanding.model.dto.TaskResultDTO;
-import com.tzld.piaoquan.content.understanding.model.param.ContentAnalyseParam;
-import com.tzld.piaoquan.content.understanding.model.param.ContentUnderstandParam;
-import com.tzld.piaoquan.content.understanding.model.param.SubmitTasksParam;
+import com.tzld.piaoquan.content.understanding.model.dto.VideoResultDTO;
+import com.tzld.piaoquan.content.understanding.model.param.*;
 import com.tzld.piaoquan.content.understanding.model.po.CuPipeline;
 import com.tzld.piaoquan.content.understanding.model.po.CuPipelineExample;
+import com.tzld.piaoquan.content.understanding.model.po.CuTask;
+import com.tzld.piaoquan.content.understanding.model.po.CuTaskExample;
+import com.tzld.piaoquan.content.understanding.model.vo.ContentUnderstandingResultVO;
+import com.tzld.piaoquan.content.understanding.model.vo.TaskResultVO;
 import com.tzld.piaoquan.content.understanding.service.ContentService;
 import com.tzld.piaoquan.content.understanding.service.LoghubService;
 import com.tzld.piaoquan.content.understanding.service.PipelineService;
@@ -45,6 +48,8 @@ public class ContentServiceImpl implements ContentService {
     private Map<String, Long> configMap;
     @Autowired
     private CuPipelineMapper cuPipelineMapper;
+    @Autowired
+    private CuTaskMapper cuTaskMapper;
 
     @Override
     public void analyse(ContentAnalyseParam param) {
@@ -79,7 +84,7 @@ public class ContentServiceImpl implements ContentService {
     }
 
     @Override
-    public TaskResultDTO submitTasks(SubmitTasksParam param) {
+    public TaskResultVO submitTasks(SubmitTasksParam param) {
         //参数校验
         if (Objects.isNull(param) || Objects.isNull(param.getContents()) || param.getContents().isEmpty()) {
             throw new CommonException(ExceptionEnum.PARAMS_INVALID);
@@ -87,8 +92,9 @@ public class ContentServiceImpl implements ContentService {
         List<ContentDTO> contentDTOList = param.getContents();
         //数据校验
         for (ContentDTO contentDTO : contentDTOList) {
-            if (Objects.isNull(contentDTO) || Objects.isNull(contentDTO.getPipelineId()) || Objects.isNull(contentDTO.getContent())) {
-                throw new CommonException(ExceptionEnum.PARAMS_INVALID);
+            if (Objects.isNull(contentDTO) || Objects.isNull(contentDTO.getPipelineId())
+                    || Objects.isNull(contentDTO.getContent()) || Objects.isNull(contentDTO.getVideoId())) {
+                throw new CommonException(ExceptionEnum.PARAMS_INVALID, "videoId、pipelineId、content参数不能为空");
             }
             Long pipelineId = contentDTO.getPipelineId();
             CuPipelineExample example = new CuPipelineExample();
@@ -104,19 +110,44 @@ public class ContentServiceImpl implements ContentService {
             contentDTO.setContentType(cuPipeline.getContentType());
         }
         //执行任务
-        TaskResultDTO taskResultDTO = new TaskResultDTO();
-        List<TaskInfoDTO> taskInfoDTOS = new ArrayList<>();
+        TaskResultVO taskResultVO = new TaskResultVO();
+        List<TaskResultDTO> taskResultDTOS = new ArrayList<>();
         for (ContentDTO contentDTO : contentDTOList) {
-            TaskInfoDTO taskInfoDTO = new TaskInfoDTO();
-            BeanUtils.copyProperties(contentDTO, taskInfoDTO);
-            pipelineService.execute(contentDTO);
+            TaskResultDTO taskResultDTO = new TaskResultDTO();
+            BeanUtils.copyProperties(contentDTO, taskResultDTO);
+            String taskId = pipelineService.executeTask(contentDTO);
+            taskResultDTO.setTaskId(taskId);
+            taskResultDTOS.add(taskResultDTO);
+        }
+        taskResultVO.setTaskResults(taskResultDTOS);
+        return taskResultVO;
+    }
+
+    @Override
+    public TaskResultVO queryTasks(QueryTasksParam param) {
+        //参数校验
+        if (Objects.isNull(param) || Objects.isNull(param.getTaskIds()) || param.getTaskIds().isEmpty()) {
+            throw new CommonException(ExceptionEnum.PARAMS_INVALID);
+        }
+        CuTaskExample example = new CuTaskExample();
+        example.createCriteria().andTaskIdIn(param.getTaskIds());
+        List<CuTask> list = cuTaskMapper.selectByExample(example);
+        TaskResultVO taskResultVO = new TaskResultVO();
+        if (Objects.isNull(list) || list.isEmpty()) {
+            return taskResultVO;
+        }
+        List<TaskResultDTO> taskResultDTOS = new ArrayList<>();
+        for (CuTask task : list) {
+            TaskResultDTO taskResultDTO = new TaskResultDTO();
+            BeanUtils.copyProperties(task, taskResultDTO);
+            taskResultDTOS.add(taskResultDTO);
         }
-        taskResultDTO.setTaskList(taskInfoDTOS);
-        return taskResultDTO;
+        taskResultVO.setTaskResults(taskResultDTOS);
+        return taskResultVO;
     }
 
     @Override
-    public TaskResultDTO queryTasks(ContentUnderstandParam param) {
+    public ContentUnderstandingResultVO getVideoUnderstandingResult(GetVideoUnderstandingResultParam param) {
         return null;
     }
 }

+ 2 - 1
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/PipelineServiceImpl.java

@@ -111,7 +111,7 @@ public class PipelineServiceImpl implements PipelineService {
 //    }
 
     @Override
-    public void execute(ContentDTO contentDTO) {
+    public String executeTask(ContentDTO contentDTO) {
         // 1.数据准备
         Long pipelineId = contentDTO.getPipelineId();
         String content = contentDTO.getContent();
@@ -146,6 +146,7 @@ public class PipelineServiceImpl implements PipelineService {
         dto1.setContent(content);
         // 4.按照步骤执行pipeline每一步动作
         executeTreeNodeBFS(root, dto1);
+        return taskId;
     }
 
 //    private String getContent(ContentUnderstandDTO dto, Integer contentType) {

+ 13 - 14
content-understanding-server/src/main/java/com/tzld/piaoquan/content/understanding/controller/ContentUnderstandingController.java

@@ -1,10 +1,9 @@
 package com.tzld.piaoquan.content.understanding.controller;
 
 import com.tzld.piaoquan.content.understanding.common.base.CommonResponse;
-import com.tzld.piaoquan.content.understanding.model.dto.TaskResultDTO;
-import com.tzld.piaoquan.content.understanding.model.param.ContentAnalyseParam;
-import com.tzld.piaoquan.content.understanding.model.param.ContentUnderstandParam;
-import com.tzld.piaoquan.content.understanding.model.param.SubmitTasksParam;
+import com.tzld.piaoquan.content.understanding.model.param.*;
+import com.tzld.piaoquan.content.understanding.model.vo.ContentUnderstandingResultVO;
+import com.tzld.piaoquan.content.understanding.model.vo.TaskResultVO;
 import com.tzld.piaoquan.content.understanding.service.ContentService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,21 +24,21 @@ public class ContentUnderstandingController {
     private ContentService contentService;
 
     @PostMapping(value = "/submitTasks")
-    public CommonResponse<TaskResultDTO> submitTasks(@RequestBody SubmitTasksParam param) {
-        TaskResultDTO taskResultDTO = contentService.submitTasks(param);
-        return CommonResponse.create(taskResultDTO);
+    public CommonResponse<TaskResultVO> submitTasks(@RequestBody SubmitTasksParam param) {
+        TaskResultVO taskResultVO = contentService.submitTasks(param);
+        return CommonResponse.create(taskResultVO);
     }
 
     @PostMapping(value = "/queryTasks")
-    public CommonResponse<TaskResultDTO> queryTasks(@RequestBody ContentUnderstandParam param) {
-        TaskResultDTO taskResultDTO = contentService.queryTasks(param);
-        return CommonResponse.create(taskResultDTO);
+    public CommonResponse<TaskResultVO> queryTasks(@RequestBody QueryTasksParam param) {
+        TaskResultVO taskResultVO = contentService.queryTasks(param);
+        return CommonResponse.create(taskResultVO);
     }
 
-    @PostMapping(value = "getVideoInfo")
-    public CommonResponse<TaskResultDTO> getVideoInfo(@RequestBody ContentAnalyseParam param) {
-
-        return CommonResponse.create();
+    @PostMapping(value = "getVideoUnderstandingResult")
+    public CommonResponse<ContentUnderstandingResultVO> getVideoUnderstandingResult(@RequestBody GetVideoUnderstandingResultParam param) {
+        ContentUnderstandingResultVO result = contentService.getVideoUnderstandingResult(param);
+        return CommonResponse.create(result);
     }
 
 }