lyhzzz пре 8 месеци
родитељ
комит
10d13c4f46

+ 2 - 6
pom.xml

@@ -16,6 +16,8 @@
         <relativePath/>
     </parent>
 
+
+
     <dependencies>
 
         <dependency>
@@ -183,12 +185,6 @@
             <version>4.3.1</version>
         </dependency>
 
-            <dependency>
-                <groupId>org.bytedeco</groupId>
-                <artifactId>javacv-platform</artifactId>
-                <version>1.5.9</version>
-            </dependency>
-
     </dependencies>
 
     <build>

+ 3 - 0
src/main/java/com/fdkankan/fusion/common/FilePath.java

@@ -3,12 +3,15 @@ package com.fdkankan.fusion.common;
 public class FilePath {
 
     public final static String LOCAL_BASE_PATH = "/mnt/fusion/";
+    public final static String MNTPATH = "/mnt/";
     public final static String MNT_BASE_PATH = "/mnt/fusion/";
     public final static String OBJ_OSS_PATH = "scene_view_data/%s";
     public final static String VIDEO_OSS_PATH = "fusion/%s/video/%s";
     public final static String File_OSS_PATH = "fusion/%s/file/%s";
     public final static String ICON_OSS_PATH = "fusion/%s/icon/%s";
     public final static String IMAGES_OSS_PATH = "fusion/%s/image/%s";
+
+    public final static String DOC_OSS_PATH = "fusion/%s/doc/%s";
      public final static String VIDEO_LOCAL_PATH = LOCAL_BASE_PATH + "%s/video/merge";
      public final static String OBJ_LOCAL_PATH = LOCAL_BASE_PATH + "%s/model/%s";
 

+ 1 - 1
src/main/java/com/fdkankan/fusion/common/util/ShellUtil.java

@@ -190,7 +190,7 @@ public class ShellUtil {
 
     public static void yunDownloadSs(String srcPath,String destPath){
         String opType = srcPath.contains(".")? "file":"folder" ;
-        String cmd = String.format(ShellCmd.FYUN_DOWN,"laser-data",srcPath,destPath, CacheUtil.uploadType,opType);
+        String cmd = String.format(ShellCmd.FYUN_DOWN,"laser-data",srcPath.replace("/laser-data/",""),destPath, "minio",opType);
         execCmd(cmd);
     }
 }

+ 0 - 9
src/main/java/com/fdkankan/fusion/controller/TestController.java

@@ -19,7 +19,6 @@ import com.fdkankan.fusion.service.*;
 import com.fdkankan.redis.util.RedisUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Case;
-import org.bytedeco.javacv.FFmpegFrameGrabber;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -113,12 +112,4 @@ public class TestController {
         return ResultData.ok();
     }
 
-    public static void main(String[] args) throws Exception{
-        String videoPath = "D:\\abc\\thread__30451767_20240914102646_57677_wz_transcode.mp4";
-        FFmpegFrameGrabber fFmpegFrameGrabber = new FFmpegFrameGrabber(videoPath);
-        fFmpegFrameGrabber.start();
-        int videoCodec = fFmpegFrameGrabber.getVideoCodec();
-        String videoCodecName = fFmpegFrameGrabber.getVideoCodecName();
-        System.out.println(videoCodec +":"+videoCodecName);
-    }
 }

+ 22 - 1
src/main/java/com/fdkankan/fusion/down/CaseDownService.java

@@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.nio.charset.StandardCharsets;
+import java.util.HashSet;
 import java.util.List;
 
 @Service
@@ -61,7 +62,12 @@ public class CaseDownService {
     public static String model =      "/model/getInfo?modelId=";
     public static String caseImg =      "/caseImg/getFfmpegImage?caseId=";
 
+    public static String inquestInfoUrl =      "/caseInquestInfo/info?caseId=";
+    public static String casePathInfoUrl =      "/casePath/info?caseId=";
+
     public static String laserData = "/laser/dataset/%s/getDataSet";
+    public static String laserDataQuery = "/laser/filter/%s/query?datasetId=%s";
+
 
     @Autowired
     ICaseService caseService;
@@ -103,6 +109,10 @@ public class CaseDownService {
     ICaseOfflineService caseOfflineService;
     @Autowired
     ICaseImgService caseImgService;
+    @Autowired
+    ICaseInquestInfoService caseInquestInfoService;
+    @Autowired
+    ICasePathService casePathService;
 
     @Autowired
     RedisUtil redisUtil;
@@ -127,7 +137,7 @@ public class CaseDownService {
             if( redisUtil.hasKey(redisKey)){
                 String res = redisUtil.get(redisKey);
                 DownloadProcessVo downloadProcessVo = JSONObject.parseObject(res, DownloadProcessVo.class);
-                if(downloadProcessVo.getPercent()== null || downloadProcessVo.getPercent() != 100){
+                if(downloadProcessVo.getStatus() != 1003 && (downloadProcessVo.getPercent()== null || downloadProcessVo.getPercent() != 100)){
                     return;
                 }
             }
@@ -194,6 +204,7 @@ public class CaseDownService {
         param.setCaseId(caseId);
 
         //设置案件信息
+        jsonObject.put(basePath+inquestInfoUrl+caseId, ResultData.ok(caseInquestInfoService.getByCaseId(caseId)));
         jsonObject.put(basePath+caseInfo+caseId, ResultData.ok(caseService.getInfo(caseId)));
 
         List<CaseSettings> caseSettings = caseSettingsService.getByCaseId(caseId);
@@ -221,6 +232,7 @@ public class CaseDownService {
             }
             if(sceneData.getType() == 2 || sceneData.getType() == 5){
                 FdkkResponse sceneInfo = laserService.getSceneInfo(sceneData.getNum());
+                HashSet<String> dataSetIds = new HashSet<>();
                 if(sceneInfo != null){
                     JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(sceneInfo.getData()));
                     JSONArray newJsonArray = new JSONArray();
@@ -231,9 +243,17 @@ public class CaseDownService {
                         sceneInfoObj.put("oldWebBin",oldPath);
                         sceneInfoObj.put("webBin",newPath + oldPath);
                         newJsonArray.add(sceneInfoObj);
+                        dataSetIds.add( sceneInfoObj.getString("id"));
                     }
                     sceneInfo.setData(newJsonArray);
                     jsonObject.put(String.format(laserData,sceneData.getNum()),sceneInfo);
+                    if(!dataSetIds.isEmpty()){
+                        for (String dataSetId : dataSetIds) {
+                            FdkkResponse sceneInfo2 = laserService.getSceneInfoQuery(sceneData.getNum(),dataSetId);
+                            jsonObject.put(String.format(laserDataQuery,sceneData.getNum(),dataSetId),sceneInfo2);
+                        }
+                    }
+
                 }
 
             }
@@ -288,6 +308,7 @@ public class CaseDownService {
             downResource(caseId,tag.getHotIconUrl());
         }
 
+        jsonObject.put(basePath+casePathInfoUrl+caseId, ResultData.ok(casePathService.getByCaseId(caseId)));
         List<FusionGuide> fusionGuides = fusionGuideService.getAllList(caseId);
         jsonObject.put(basePath+fusionGuide+caseId, ResultData.ok(fusionGuides));
 

+ 9 - 0
src/main/java/com/fdkankan/fusion/httpClient/LaserService.java

@@ -74,4 +74,13 @@ public class LaserService {
         }
         return  null;
     }
+    public FdkkResponse getSceneInfoQuery(String num,String id) {
+        try {
+           return laserClient.getSceneInfoQuery(num,id);
+
+        }catch (Exception e){
+            log.info("获取激光场景信息失败getSceneInfo-error:{}",num,e);
+        }
+        return  null;
+    }
 }

+ 4 - 0
src/main/java/com/fdkankan/fusion/httpClient/client/LaserClient.java

@@ -50,4 +50,8 @@ public interface LaserClient {
 
     @Get("/laser/dataset/{num}/getDataSet")
     FdkkResponse getSceneInfo(@Var("num")String num);
+
+    @Get("/laser/filter/{num}/query")
+    FdkkResponse getSceneInfoQuery(@Var("num")String num,@Query("datasetId") String datasetId);
+
 }

+ 14 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseInquestCriminalServiceImpl.java

@@ -13,8 +13,10 @@ import com.deepoove.poi.config.ConfigureBuilder;
 import com.deepoove.poi.data.TextRenderData;
 import com.deepoove.poi.data.style.Style;
 import com.deepoove.poi.xwpf.NiceXWPFDocument;
+import com.fdkankan.fusion.common.FilePath;
 import com.fdkankan.fusion.common.ResultCode;
 import com.fdkankan.fusion.common.util.DateUtils;
+import com.fdkankan.fusion.common.util.ShellUtil;
 import com.fdkankan.fusion.common.util.XwpTemplateUtils;
 import com.fdkankan.fusion.entity.*;
 import com.fdkankan.fusion.exception.BusinessException;
@@ -80,6 +82,18 @@ public class CaseInquestCriminalServiceImpl extends ServiceImpl<ICaseInquestCrim
             caseInquestCriminal.setId(byInquestFileId.getId());
         }
         this.saveOrUpdate(caseInquestCriminal);
+        //生产doc文档
+        try {
+            Integer inquestFileId = caseInquestCriminal.getInquestFileId();
+            CaseFiles caseFiles = caseFilesService.getById(inquestFileId);
+            XWPFTemplate template = this.getWordByTemplate(caseInquestCriminal);
+            String localPath = String.format(FilePath.MNTPATH+FilePath.DOC_OSS_PATH,caseFiles.getFilesId(),caseFiles.getFilesTitle()+".docx");
+            template.writeToFile(localPath );
+            ShellUtil.yunUpload(localPath,localPath.replace(FilePath.MNTPATH,""));
+        }catch (Exception e){
+            log.info("caseInquestCriminal-保存生成doc文档出错:error",e);
+        }
+
 
     }
 

+ 6 - 1
src/main/java/com/fdkankan/fusion/service/impl/SceneService.java

@@ -88,7 +88,12 @@ public class SceneService implements ISceneService {
            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
         List<TmCamera> tmCameraList = null;
-        String tokenValue = StpUtil.getTokenValue();
+        String tokenValue = null;
+        try {
+             tokenValue = StpUtil.getTokenValue();
+        }catch (Exception e){
+
+        }
 
         if(StringUtils.isNotBlank(tokenValue) && StringUtils.isBlank(param.getShare()) ){
             tmCameraList = tmCameraService.getByDeptIds();