Procházet zdrojové kódy

feat: 注释轨迹序列添加结果展示接口

WANGKANG před 8 měsíci
rodič
revize
5fccad95c7

+ 5 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/controller/TrackSequenceController.java

@@ -157,4 +157,9 @@ public class TrackSequenceController extends BaseController {
     public CommonResult previewEvaluateResult(@PathVariable("id") Long id) {
         return trackSequenceService.previewEvaluateResult(id);
     }
+
+    @GetMapping("/statistics_result/{id}")
+    public CommonResult getStatisticsResult(@PathVariable("id") Long id) {
+        return trackSequenceService.getStatisticsResult(id);
+    }
 }

+ 2 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/ITrackSequenceService.java

@@ -91,4 +91,6 @@ public interface ITrackSequenceService extends IBaseService<TrackSequence> {
     CommonResult previewPredictResult(Long id);
 
     CommonResult previewEvaluateResult(Long id);
+
+    CommonResult getStatisticsResult(Long id);
 }

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

@@ -497,7 +497,7 @@ public class ToInfraredServiceImpl extends BaseServiceImpl<ToInfraredMapper, ToI
         return CommonResult.success(resultMap);
     }
 
-    public List<Dict> parseJsonMapList(Path path) {
+    public static List<Dict> parseJsonMapList(Path path) {
         try {
             String jsonString = new String(Files.readAllBytes(path));
             List<Dict> dicts = JsonUtils.parseArrayMap(jsonString);

+ 36 - 11
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/TrackSequenceServiceImpl.java

@@ -4,6 +4,14 @@
 
 package com.taais.biz.service.impl;
 
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.text.DecimalFormat;
+import java.util.*;
+
+import cn.hutool.core.lang.Dict;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSON;
 import com.mybatisflex.core.paginate.Page;
@@ -26,6 +34,7 @@ import com.taais.common.core.core.page.PageResult;
 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 com.taais.common.websocket.utils.WebSocketUtils;
 import com.taais.system.domain.vo.SysOssVo;
@@ -41,20 +50,13 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.text.DecimalFormat;
-import java.util.*;
-
 import static com.taais.biz.constant.BizConstant.VideoStatus.NOT_START;
 import static com.taais.biz.domain.table.TrackSequenceTableDef.TRACK_SEQUENCE;
 import static com.taais.biz.service.impl.TargetDetectionServiceImpl.getFileSize;
 import static com.taais.biz.service.impl.TargetDetectionServiceImpl.port;
-import static com.taais.biz.service.impl.ToInfraredServiceImpl.getCompareImage;
-import static com.taais.biz.service.impl.ToInfraredServiceImpl.readLogContent;
+import static com.taais.biz.service.impl.ToInfraredServiceImpl.*;
 import static com.taais.biz.service.impl.VideoStableServiceImpl.*;
+import static com.taais.biz.service.impl.VideoStableServiceImpl.makeDir;
 
 /**
  * 注视轨迹序列Service业务层处理
@@ -126,7 +128,7 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
     @Override
     public List<TrackSequenceVo> selectList(TrackSequenceBo trackSequenceBo) {
         QueryWrapper queryWrapper = buildQueryWrapper(trackSequenceBo);
-        queryWrapper.orderBy(TRACK_SEQUENCE.CREATE_TIME,Boolean.FALSE);
+        queryWrapper.orderBy(TRACK_SEQUENCE.CREATE_TIME, Boolean.FALSE);
         return this.listAs(queryWrapper, TrackSequenceVo.class);
     }
 
@@ -139,7 +141,7 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
     @Override
     public PageResult<TrackSequenceVo> selectPage(TrackSequenceBo trackSequenceBo) {
         QueryWrapper queryWrapper = buildQueryWrapper(trackSequenceBo);
-        queryWrapper.orderBy(TRACK_SEQUENCE.CREATE_TIME,Boolean.FALSE);
+        queryWrapper.orderBy(TRACK_SEQUENCE.CREATE_TIME, Boolean.FALSE);
         Page<TrackSequenceVo> page = this.pageAs(PageQuery.build(), queryWrapper, TrackSequenceVo.class);
         page.getRecords().forEach(entity -> {
             Long modelId = entity.getAlgorithmModelId();
@@ -726,4 +728,27 @@ public class TrackSequenceServiceImpl extends BaseServiceImpl<TrackSequenceMappe
         return CommonResult.success(map);
     }
 
+    @Override
+    public CommonResult getStatisticsResult(Long id) {
+        TrackSequence entity = getById(id);
+        SysOssVo inputOssEntity = ossService.getById(entity.getInputOssId());
+
+        String filePath = inputOssEntity.getFileName();
+        String localPath = TaaisConfig.getProfile();
+        String resourcePath = localPath + StringUtils.substringAfter(filePath, Constants.RESOURCE_PREFIX);
+
+        Path path = Paths.get(resourcePath);
+        Path outputPath = path.resolveSibling(entity.getId().toString() + BizConstant.TRACK_SEQUENCE_SUFFIX);
+
+        Path statisticsResultPath = outputPath.resolve(BizConstant.RESULT_JSON_NAME);
+
+        List<Dict> resultMap = parseJsonMapList(statisticsResultPath);
+        if (ObjectUtil.isEmpty(resultMap)) {
+            return CommonResult.fail("获取结果文件失败");
+        }
+
+        return CommonResult.success(resultMap);
+    }
+
+
 }