root 2 лет назад
Родитель
Сommit
9cf16c0fb0

+ 9 - 9
simulation-resource-scene/src/main/java/com/css/simulation/resource/scene/SceneImportCtrl.java → simulation-resource-scene/src/main/java/com/css/simulation/resource/scene/controller/SceneImportCtrl.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scene;
+package com.css.simulation.resource.scene.controller;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
@@ -6,7 +6,7 @@ import api.common.pojo.param.scene.SceneImportParam;
 import api.common.pojo.po.system.SceneImportPO;
 import com.css.simulation.resource.scene.common.oauth.AuthorizationHolder;
 import com.css.simulation.resource.scene.feign.SceneService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.css.simulation.resource.scene.service.SceneImportService;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -19,18 +19,18 @@ import javax.servlet.http.HttpServletRequest;
 @RequestMapping("/sceneImport")
 public class SceneImportCtrl {
 
-    @Autowired
+    @Resource
     SceneImportService sceneImportService;
 
     @Resource
     SceneService sceneService;
 
     /**
-     * 上传
+     * 上传到 minio 然后解析
      */
     @RequestMapping("/startImport")
     @ResponseBody
-    public ResponseBodyVO startImport(@RequestBody SceneImportPO po, HttpServletRequest request) {
+    public ResponseBodyVO<String> startImport(@RequestBody SceneImportPO po, HttpServletRequest request) {
         try {
             //路径校验
             Boolean directory = sceneImportService.checkDirectory(po);
@@ -38,7 +38,7 @@ public class SceneImportCtrl {
                 po.setErrorMessage("路径错误: " + po.getDataDirectory());
                 po.setStatus(DictConstants.SCENE_IMPORT_STATUS_0);
                 sceneImportService.updateStatus(po);
-                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
+                return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
             }
             //开始上传
             po.setStatus(DictConstants.SCENE_IMPORT_STATUS_1);
@@ -49,7 +49,7 @@ public class SceneImportCtrl {
                 po.setErrorMessage("场景类型错误!");
                 po.setStatus(DictConstants.SCENE_IMPORT_STATUS_0);
                 sceneImportService.updateStatus(po);
-                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
+                return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
             }
             //上传成功
             po.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
@@ -59,7 +59,7 @@ public class SceneImportCtrl {
             po.setStatus(DictConstants.SCENE_IMPORT_STATUS_0);
             po.setErrorMessage("上传失败");
             sceneImportService.updateStatus(po);
-            return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE);
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
         }
         //异步-启动解析
         SceneImportParam param = new SceneImportParam();
@@ -77,6 +77,6 @@ public class SceneImportCtrl {
             case DictConstants.SCENE_ACCIDENT:// 交通事故
                 sceneService.saveSceneAccidentBatch(param);
         }
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 }

+ 2 - 1
simulation-resource-scene/src/main/java/com/css/simulation/resource/scene/SceneImportService.java → simulation-resource-scene/src/main/java/com/css/simulation/resource/scene/service/SceneImportService.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scene;
+package com.css.simulation.resource.scene.service;
 
 import api.common.pojo.constants.DictConstants;
 import api.common.pojo.po.system.SceneImportPO;
@@ -6,6 +6,7 @@ import api.common.util.FileUtil;
 import api.common.util.ObjectUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
+import com.css.simulation.resource.scene.SceneImportMapper;
 import com.css.simulation.resource.scene.common.utils.PoUtil;
 import io.minio.MinioClient;
 import io.minio.UploadObjectArgs;

+ 3 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneAccidentController.java

@@ -61,7 +61,7 @@ public class SceneAccidentController {
     @ResponseBody
     public ResponseBodyVO<String> deleteSceneAccident(@RequestBody SceneAccidentPO params) {
         if (ObjectUtil.isNull(params.getAccidentId())) {
-            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "参数场景 id 不能为空,请检查。",null);
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "参数场景 id 不能为空,请检查。", null);
         }
         sceneAccidentService.deleteSceneAccidentList(params);
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
@@ -71,11 +71,11 @@ public class SceneAccidentController {
     @PostMapping("/saveSceneAccidentBatch")
     @ResponseBody
     public ResponseBodyVO<String> saveSceneAccidentBatch(@RequestBody SceneImportParam sceneImportParam) {
-        SceneImportPO sceneImportPO=new  SceneImportPO();
+        SceneImportPO sceneImportPO = new SceneImportPO();
         sceneImportPO.setId(sceneImportParam.getId());
         sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_3);
         sceneImportService.updateStatus(sceneImportPO);
-        sceneImportPO= sceneAccidentService.importMiNio(sceneImportParam);
+        sceneImportPO = sceneAccidentService.importMiNio(sceneImportParam);
         sceneImportService.updateInfo(sceneImportPO);
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }

+ 9 - 9
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java

@@ -657,14 +657,14 @@ public class SceneAccidentService {
             int falseNum = 0;
             String errorMessage = "";
             for (String filePath : list) {
-                if (filePath.indexOf("/OSGB") != -1) {
+                if (filePath.contains("/OSGB")) {
                     OsgbPath = filePath;
-                } else if (filePath.indexOf("/XODR") != -1) {
+                } else if (filePath.contains("/XODR")) {
                     XodrPath = filePath;
                 }
             }
             for (String filePath : list) {
-                if (filePath.indexOf("/Scenarios") != -1) {
+                if (filePath.contains("/Scenarios")) {
                     MI.setObjectName(filePath);
                     List<String> listScene = fileDownService.listDeepOne(MI).getInfo();
                     for (String scenePath : listScene) {
@@ -674,7 +674,7 @@ public class SceneAccidentService {
                             SceneAccidentPO sceneAccidentPO = new SceneAccidentPO();
                             String isupdate = null;
                             for (String adress : listAderss) {
-                                if (adress.indexOf(".json") != -1) {
+                                if (adress.contains(".json")) {
                                     MI.setObjectName(adress);
                                     Response download = fileDownService.download(MI);
                                     // -------------------------------- label.json --------------------------------
@@ -725,15 +725,15 @@ public class SceneAccidentService {
                                         sceneAccidentPO.setAccidentId(sceneId);
                                     }
                                 }
-                                if (adress.indexOf(".json") != -1) {
+                                if (adress.contains(".json")) {
                                     sceneAccidentPO.setJsonAddress(adress);
-                                } else if (adress.indexOf(".xml") != -1 || adress.indexOf(".xosc") != -1) {
+                                } else if (adress.contains(".xml") || adress.contains(".xosc")) {
                                     sceneAccidentPO.setXmlAddress(adress);
-                                } else if (adress.indexOf(".xodr") != -1) {
+                                } else if (adress.contains(".xodr")) {
                                     sceneAccidentPO.setXodrAddress(adress);
-                                } else if (adress.indexOf(".osgb") != -1) {
+                                } else if (adress.contains(".osgb")) {
                                     sceneAccidentPO.setOsgbAddress(adress);
-                                } else if (adress.indexOf(".mp4") != -1) {
+                                } else if (adress.contains(".mp4")) {
                                     sceneAccidentPO.setVideoAddress(adress);
                                 }
                             }

+ 11 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java

@@ -193,7 +193,7 @@ public class StandardsRegulationsService {
 
 
     /**
-     * 获取交通事故场景数据:
+     * 获取标准法规场景数据:
      */
     public SceneImportPO importMinio(SceneImportParam parms) {
         SceneImportPO sceneImportPO = new SceneImportPO();
@@ -236,14 +236,21 @@ public class StandardsRegulationsService {
                                     String sceneName = root.path("场景名称").asText();
                                     String regulationType = root.path("法规类型").asText();
                                     String standardType = root.path("标准类型").asText();
-                                    if (ObjectUtil.isNull(regulationType) && ObjectUtil.isNull(standardType)) {
+                                    String osgb = root.path("osgb").asText();
+                                    String xodr = root.path("xodr").asText();
+                                    if (StringUtil.isEmpty(sceneName)
+                                            || StringUtil.isEmpty(regulationType)
+                                            || StringUtil.isEmpty(standardType)
+                                            || StringUtil.isEmpty(osgb)
+                                            || StringUtil.isEmpty(xodr)
+                                    ) {
                                         sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
                                         sceneImportPO.setErrorMessage("文件" + adress + " 与标准法规场景类型不匹配,解析失败。");
                                         return sceneImportPO;
                                     }
+                                    String osgbAdress = OsgbPath + "/" + osgb;
+                                    String xodrAdress = XodrPath + "/" + xodr;
                                     String sceneId = standardsRegulationsMapper.queryStandardsRegulationsByName(sceneName);
-                                    String osgbAdress = OsgbPath + "/" + root.path("osgb").asText();
-                                    String xodrAdress = XodrPath + "/" + root.path("xodr").asText();
                                     standardsRegulationsPO.setRegulationsId(StringUtil.getRandomUUID());
                                     standardsRegulationsPO.setSceneName(sceneName);
                                     standardsRegulationsPO.setRegulationType(regulationType);