Эх сурвалжийг харах

场景库模块代码 场景导入加限制唯一条件

wangzhiqiang 3 жил өмнө
parent
commit
89ac826527
12 өөрчлөгдсөн 79 нэмэгдсэн , 20 устгасан
  1. 2 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneAccidentController.java
  2. 3 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneNaturalController.java
  3. 3 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/StandardsRegulationsController.java
  4. 2 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneAccidentMapper.java
  5. 1 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneNaturalMapper.java
  6. 3 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/StandardsRegulationsMapper.java
  7. 11 9
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java
  8. 8 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  9. 10 3
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java
  10. 13 0
      simulation-resource-server/src/main/resources/mapper/scene/SceneAccidentMapper.xml
  11. 12 0
      simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml
  12. 11 0
      simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml

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

@@ -48,8 +48,8 @@ public class SceneAccidentController {
     @PostMapping("/saveSceneAccident")
     @ResponseBody
     public ResponseBodyVO<String> saveSceneAccident(@RequestBody SceneAccidentParam parms) {
-        sceneAccidentService.importJtSg(parms);
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+        return sceneAccidentService.importJtSg(parms);
+
     }
 
     //删除交通事故

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

@@ -45,12 +45,12 @@ public class SceneNaturalController {
     }
 
 
-    //新增标准法规
+    //新增自然场景
     @PostMapping("/saveSceneNatural")
     @ResponseBody
     public ResponseBodyVO<String> saveSceneNatural(@RequestBody SceneNaturalParam parms) {
-        sceneNaturalService.importZrjsSceneCicv(parms);
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+
+        return sceneNaturalService.importZrjsSceneCicv(parms);
     }
 
     //删除

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

@@ -55,8 +55,9 @@ public class StandardsRegulationsController {
     @PostMapping("/saveStandardsRegulations")
     @ResponseBody
     public ResponseBodyVO<String> saveStandardsRegulations(@RequestBody StandardsRegulationsParam parms) {
-        standardsRegulationsService.importBzFg(parms);
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+
+        return  standardsRegulationsService.importBzFg(parms);
+
     }
 
     //删除

+ 2 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneAccidentMapper.java

@@ -18,4 +18,6 @@ public interface SceneAccidentMapper {
    List<SceneAccidentPO> querySceneAccidentList(SceneAccidentParam params);
   void deleteSceneAccidentList(SceneAccidentPO params);
 
+    List<SceneAccidentPO> querySceneAccidentByNmae(SceneAccidentParam params);
+
 }

+ 1 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/SceneNaturalMapper.java

@@ -19,5 +19,6 @@ public interface SceneNaturalMapper {
    List<SceneNaturalPO> querySceneNaturalList(SceneNaturalParam params);
 
    void deleteSceneNatural(SceneNaturalPO params);
+   List<SceneNaturalPO> querySceneNaturaByName(SceneNaturalParam params);
 
 }

+ 3 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/StandardsRegulationsMapper.java

@@ -18,4 +18,7 @@ public interface StandardsRegulationsMapper {
 
    void deleteStandardsRegulations(StandardsRegulationsPO params);
 
+   List<StandardsRegulationsPO> queryStandardsRegulationsByName(StandardsRegulationsParam params);
+
+
 }

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

@@ -1,5 +1,6 @@
 package com.css.simulation.resource.scene.service;
 
+import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.SceneAccidentParam;
 import api.common.pojo.po.scene.SceneAccidentPO;
@@ -34,10 +35,8 @@ public class SceneAccidentService {
      * 获取交通事故场景数据:
      */
     @SneakyThrows
-    public void importJtSg(SceneAccidentParam param) {
+    public ResponseBodyVO<String> importJtSg(SceneAccidentParam param) {
 
-        String fileName = null;
-        try {
             MinioParameter MI=new MinioParameter();
             MI.setObjectName(param.getJsonAddress());
             Response download = fileDownService.download(MI);
@@ -45,11 +44,18 @@ public class SceneAccidentService {
                 String json = download.body().toString();;
                     ObjectMapper objMap = new ObjectMapper();
                     JsonNode root = objMap.readTree(json);
+                    //判断场景名称唯一
+                    String sceneName=  root.path("场景名称").asText();
+            param.setSceneName(sceneName);
+            List<SceneAccidentPO> list=  SceneAccidentMapper.querySceneAccidentByNmae(param);
+            if(list!=null && list.size()>0){
+                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"该场景名称"+ sceneName+"已存在,请检查");
+            }
 
                     SceneAccidentPO sceneAccidentPO = null;
                     sceneAccidentPO = sceneAccidentPO.builder()
                         .accidentId(StringUtil.getRandomUUID())
-                        .sceneName(root.path("场景名称").asText())
+                        .sceneName(sceneName)
                         .selfDriving(root.path("自车驾驶行为").asText())
                         .targetDriving(root.path("目标驾驶行为").asText())
                         .selfReaction(root.path("自车反应行为").asText())
@@ -84,11 +90,7 @@ public class SceneAccidentService {
                     SceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
 
 
-
-
-        } catch (Exception e) {
-            log.error("标准法规场景" + fileName + " 解析出错:", e);
-        }
+                return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
 
 
     }

+ 8 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java

@@ -1,5 +1,6 @@
 package com.css.simulation.resource.scene.service;
 
+import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.SceneNaturalNewParam;
 import api.common.pojo.param.scene.SceneNaturalParam;
@@ -41,12 +42,17 @@ public class SceneNaturalService {
      * 获取自然驾驶场景数据:包括切分数据和标注数据
      */
     @SneakyThrows
-    public void importZrjsSceneCicv(SceneNaturalParam param) {
+    public ResponseBodyVO<String> importZrjsSceneCicv(SceneNaturalParam param) {
         MinioParameter MI=new MinioParameter();
         MI.setObjectName(param.getJsonAddress());
         int idx=param.getJsonAddress().lastIndexOf("/");
         int end=param.getJsonAddress().lastIndexOf(".");
        String  fileName=param.getJsonAddress().substring(idx+1,end);
+        param.setNaturalName(fileName);
+      List<SceneNaturalPO> list=  sceneNaturalMapper.querySceneNaturaByName(param);
+      if(list!=null && list.size()>0){
+          return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"该场景编号"+ fileName+"已存在,请检查");
+      }
         Response download = fileDownService.download(MI);
                 String json =download.body().toString();
                     ObjectMapper objMap = new ObjectMapper();
@@ -131,6 +137,7 @@ public class SceneNaturalService {
                     }
 
                     sceneNaturalMapper.saveSceneNatural(sceneNaturalPO);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
 
     }
 

+ 10 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java

@@ -1,5 +1,6 @@
 package com.css.simulation.resource.scene.service;
 
+import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.StandardsRegulationsParam;
 import api.common.pojo.po.scene.StandardsRegulationsPO;
@@ -35,7 +36,7 @@ public class StandardsRegulationsService {
      * 获取标准法规场景数据:
      */
     @SneakyThrows
-    public void importBzFg(StandardsRegulationsParam param) {
+    public ResponseBodyVO<String> importBzFg(StandardsRegulationsParam param) {
 
                     MinioParameter MI=new MinioParameter();
                     MI.setObjectName(param.getJsonAddress());
@@ -43,11 +44,17 @@ public class StandardsRegulationsService {
                     String json =download.body().toString();
                     ObjectMapper objMap = new ObjectMapper();
                     JsonNode root = objMap.readTree(json);
+                    String sceneName=root.path("场景名称").asText();
+                    param.setSceneName(sceneName);
+                    List<StandardsRegulationsPO> list=  standardsRegulationsMapper.queryStandardsRegulationsByName(param);
+                    if(list!=null && list.size()>0){
+                        return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"该场景名称"+ sceneName+"已存在,请检查");
+                    }
 
                     StandardsRegulationsPO standardsRegulationsPO = null;
                     standardsRegulationsPO = standardsRegulationsPO.builder()
                         .regulationsId(StringUtil.getRandomUUID())
-                        .sceneName(root.path("场景名称").asText())
+                        .sceneName(sceneName)
                         .regulationType(root.path("法规类型").asText())
                         .standardType(root.path("标准类型").asText())
                         .isDeleted("0")
@@ -76,7 +83,7 @@ public class StandardsRegulationsService {
                     }
                     standardsRegulationsMapper.saveStandardsRegulations(standardsRegulationsPO);
 
-
+                return   new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 //查看列表
     public   List<StandardsRegulationsPO> querySceneNaturalList(StandardsRegulationsParam params) {

+ 13 - 0
simulation-resource-server/src/main/resources/mapper/scene/SceneAccidentMapper.xml

@@ -87,4 +87,17 @@
     where accident_id = #{accidentId,jdbcType=VARCHAR}
     </update>
 
+
+
+    <select id="querySceneAccidentByNmae" parameterType="api.common.pojo.param.scene.SceneAccidentParam" resultType="api.common.pojo.po.scene.SceneAccidentPO">
+    select
+    accident_id,scene_name
+    from simulation.scene_accident
+    <where>
+    is_deleted = '0'
+    <if test="sceneName != null and sceneName != ''">
+        and scene_name =#{sceneName,jdbcType=VARCHAR}
+    </if>
+    </where>
+    </select>
 </mapper>

+ 12 - 0
simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml

@@ -316,4 +316,16 @@
         where natural_id = #{naturalId,jdbcType=VARCHAR}
     </update>
 
+
+    <select id="querySceneNaturaByName" parameterType="api.common.pojo.param.scene.SceneNaturalParam" resultType="api.common.pojo.po.scene.SceneNaturalPO">
+    select
+    natural_id,natural_name
+    from simulation.scene_natural
+    <where>
+    is_deleted = '0'
+    <if test="naturalName != null and naturalName != ''">
+        and natural_name =#{naturalName,jdbcType=VARCHAR}
+    </if>
+    </where>
+    </select>
 </mapper>

+ 11 - 0
simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml

@@ -60,4 +60,15 @@
         where regulations_id = #{regulationsId,jdbcType=VARCHAR}
     </update>
 
+    <select id="queryStandardsRegulationsByName" parameterType="api.common.pojo.param.scene.StandardsRegulationsParam" resultType="api.common.pojo.po.scene.StandardsRegulationsPO">
+    select
+    regulations_id,scene_name
+    from simulation.scene_standards_regulations
+    <where>
+    is_deleted = '0'
+    <if test="sceneName != null and sceneName != ''">
+        and scene_name =#{sceneName,jdbcType=VARCHAR}
+    </if>
+    </where>
+    </select>
 </mapper>