Prechádzať zdrojové kódy

2024年3月份算法比赛只展示B赛题视频

LingxinMeng 1 rok pred
rodič
commit
c20f2ec95a

+ 7 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/job_manage/JobManageApplicationService.java

@@ -39,10 +39,16 @@ public class JobManageApplicationService {
             return null;
         }
         String projectType = projectDomainService.getProjectTypeByProjectId(projectId);
-        return projectDomainService.getVideoList(SimulationManualProjectParam.builder()
+
+//        return projectDomainService.getVideoList(SimulationManualProjectParam.builder()
+//                .id(projectId)
+//                .projectType(projectType)
+//                .build());
+        return projectDomainService.getVideoListV20240301(SimulationManualProjectParam.builder()
                 .id(projectId)
                 .projectType(projectType)
                 .build());
+
     }
 
 }

+ 26 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/server/domain/service/ProjectDomainService.java

@@ -39,6 +39,9 @@ public class ProjectDomainService {
     @Resource
     private FileDownService fileDownService;
 
+    @Resource
+    private ScenePackageSublistMapper scenePackageSublistMapper;
+
     public String getAlgorithmNameByProjectId(String projectType, String projectId) {
         String algorithmId;
         String algorithmType;
@@ -96,4 +99,27 @@ public class ProjectDomainService {
         }
         return videoList;
     }
+
+    /**
+     * v20240301 将视频列表改为只显示B卷视频
+     */
+    public List<String> getVideoListV20240301(SimulationManualProjectParam simulationManualProjectParam) {
+        // 1 根据项目ID获取指标名称为B赛题的场景ID
+        String sceneId = scenePackageSublistMapper.getSceneIdOfBByProjectId(simulationManualProjectParam.getId());
+        List<String> videoList = new ArrayList<>();
+        List<String> runResultPaths = simulationManualProjectTaskMapper.selectRunResultPathByProjectId(simulationManualProjectParam);
+        for (String runResultPath : runResultPaths) {
+            ResponseBodyVO<List<String>> list = fileDownService.list(MinioParameter.builder().objectName(runResultPath).build());
+            List<String> info = list.getInfo();
+            for (String s : info) {
+                if (s.contains(".mp4") && s.contains(sceneId)) {
+                    MinioParameter minioParameter = new MinioParameter();
+                    minioParameter.setObjectName(s);
+                    ResponseBodyVO<String> preview = fileDownService.getPreviewUrl(minioParameter);
+                    videoList.add(preview.getInfo());
+                }
+            }
+        }
+        return videoList;
+    }
 }

+ 14 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/server/infra/db/mysql/mapper/ScenePackageSublistMapper.java

@@ -6,6 +6,7 @@ import api.common.pojo.po.scene.ScenePackageSublistPO;
 import api.common.pojo.vo.scene.ScenePackageSublistVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
@@ -29,4 +30,17 @@ public interface ScenePackageSublistMapper {
     List<ScenePackageSublistPO> selectBySceneIds(ScenePackageSublistParam scenePackageSublistParam);
 
     void update(@Param("indexes")List<ScenePackageSublistPO> indexes);
+
+    @Select("select CASE\n" +
+            "           WHEN scene_natural_ids IS NOT NULL AND scene_natural_ids <> '' THEN scene_natural_ids\n" +
+            "           WHEN scene_traffic_ids IS NOT NULL AND scene_traffic_ids <> '' THEN scene_traffic_ids\n" +
+            "           WHEN scene_statue_ids IS NOT NULL AND scene_statue_ids <> '' THEN scene_statue_ids\n" +
+            "           WHEN scene_generalization_ids IS NOT NULL AND scene_generalization_ids <> '' THEN scene_generalization_ids\n" +
+            "           END AS scene_id\n" +
+            "from scene_package_sublist\n" +
+            "where root_id = (select scene\n" +
+            "                 from simulation_manual_project\n" +
+            "                 where id = #{id})\n" +
+            "  and sublist_name like '%B%'")
+    String getSceneIdOfBByProjectId(@Param("id") String id);
 }