root 2 anos atrás
pai
commit
339f2ded05

+ 5 - 5
simulation-resource-common/src/main/java/com/css/simulation/resource/common/controller/MinioController.java

@@ -15,6 +15,7 @@ import io.minio.ListPartsResponse;
 import io.minio.errors.*;
 import io.minio.errors.*;
 import io.minio.http.Method;
 import io.minio.http.Method;
 import io.minio.messages.Part;
 import io.minio.messages.Part;
+import lombok.SneakyThrows;
 import org.springframework.http.MediaType;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
@@ -66,18 +67,17 @@ public class MinioController {
 
 
 
 
     @PostMapping("/list")
     @PostMapping("/list")
-    public ResponseBodyVO<List<String>> list(
-            @RequestBody @Validated MinioParameter minioParameter
-    ) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
-
+    @SneakyThrows
+    public ResponseBodyVO<List<String>> list(@RequestBody @Validated MinioParameter minioParameter) {
         List<String> objects = MinioUtil.listObjects(minioClientPrivate, minioConfiguration.getBucketName(), minioParameter.getObjectName());
         List<String> objects = MinioUtil.listObjects(minioClientPrivate, minioConfiguration.getBucketName(), minioParameter.getObjectName());
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, objects);
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, objects);
     }
     }
 
 
     @PostMapping("/listDeepOne")
     @PostMapping("/listDeepOne")
+    @SneakyThrows
     public ResponseBodyVO<List<String>> listDeepOne(
     public ResponseBodyVO<List<String>> listDeepOne(
             @RequestBody @Validated MinioParameter minioParameter
             @RequestBody @Validated MinioParameter minioParameter
-    ) throws Exception {
+    ) {
         List<String> objects = MinioUtil.listObjectsUnRecursive(minioClientPrivate, minioConfiguration.getBucketName(), minioParameter.getObjectName());
         List<String> objects = MinioUtil.listObjectsUnRecursive(minioClientPrivate, minioConfiguration.getBucketName(), minioParameter.getObjectName());
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, objects);
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, objects);
     }
     }

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

@@ -662,7 +662,7 @@ public class SceneAccidentService {
                     for (String scenePath : listScene) {
                     for (String scenePath : listScene) {
                         try {
                         try {
                             MI.setObjectName(scenePath);
                             MI.setObjectName(scenePath);
-                            List<String> listAderss = fileDownService.list(MI).getInfo();
+                            List<String> listAderss = fileDownService.listDeepOne(MI).getInfo();
                             SceneAccidentPO sceneAccidentPO = new SceneAccidentPO();
                             SceneAccidentPO sceneAccidentPO = new SceneAccidentPO();
                             String isupdate = null;
                             String isupdate = null;
                             for (String adress : listAderss) {
                             for (String adress : listAderss) {

+ 30 - 21
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java

@@ -508,28 +508,38 @@ public class SceneNaturalService {
                     MI.setObjectName(filePath);
                     MI.setObjectName(filePath);
                     List<String> listScene = fileDownService.listDeepOne(MI).getInfo();
                     List<String> listScene = fileDownService.listDeepOne(MI).getInfo();
                     log.info("importMinio() 共需要上传 " + listScene.size() + " 个自然驾驶场景");
                     log.info("importMinio() 共需要上传 " + listScene.size() + " 个自然驾驶场景");
+                    HashSet<String> strings = new HashSet<>(listScene);
+                    log.info("importMinio() 去重之后还剩 " + strings.size() + " 个自然驾驶场景");
                     int addNumber = 0;
                     int addNumber = 0;
                     int updateNumber = 0;
                     int updateNumber = 0;
+                    Map<String, String> checkFileName = new HashMap<>();
                     for (String scenePath : listScene) {
                     for (String scenePath : listScene) {
                         try {
                         try {
                             MI.setObjectName(scenePath);
                             MI.setObjectName(scenePath);
-                            List<String> addressList = fileDownService.list(MI).getInfo();
+                            List<String> addressList = fileDownService.listDeepOne(MI).getInfo();
                             SceneNaturalPO sceneNaturalPO = new SceneNaturalPO();
                             SceneNaturalPO sceneNaturalPO = new SceneNaturalPO();
                             sceneNaturalPO.setShare("0");
                             sceneNaturalPO.setShare("0");
                             boolean update = false;
                             boolean update = false;
-                            for (String adress : addressList) {
+                            for (String address : addressList) {
                                 // 自然驾驶场景取json名称作为场景名称
                                 // 自然驾驶场景取json名称作为场景名称
-                                if (adress.contains(".json")) {
-                                    MI.setObjectName(adress);
+                                if (address.contains(".json")) {
+                                    log.info("importMinio() 解析自然驾驶场景 json 文件:" + address);
+                                    MI.setObjectName(address);
                                     Response download = fileDownService.download(MI);
                                     Response download = fileDownService.download(MI);
                                     // -------------------------------- label.json --------------------------------
                                     // -------------------------------- label.json --------------------------------
                                     String json = download.body().toString();
                                     String json = download.body().toString();
+                                    download.close();
                                     ObjectMapper objMap = new ObjectMapper();
                                     ObjectMapper objMap = new ObjectMapper();
                                     JsonNode root = objMap.readTree(json);
                                     JsonNode root = objMap.readTree(json);
                                     //判断场景名称唯一
                                     //判断场景名称唯一
-                                    int idx = adress.lastIndexOf("/");
-                                    int end = adress.lastIndexOf(".");
-                                    String fileName = adress.substring(idx + 1, end);
+                                    int idx = address.lastIndexOf("/");
+                                    int end = address.lastIndexOf(".");
+                                    String fileName = address.substring(idx + 1, end);
+                                    if (checkFileName.containsKey(fileName)) {
+                                        log.warn("importMinio() 自然驾驶场景" + fileName + " 重名,路径1:" + checkFileName.get(fileName) + ",路径2:" + address);
+                                    } else {
+                                        checkFileName.put(fileName, address);
+                                    }
                                     sceneNaturalPO.setNaturalName(fileName);
                                     sceneNaturalPO.setNaturalName(fileName);
                                     sceneNaturalPO.setShare("0");
                                     sceneNaturalPO.setShare("0");
                                     SceneNaturalPO sceneNaturalPOByName = sceneNaturalMapper.querySceneNaturaByName(sceneNaturalPO);
                                     SceneNaturalPO sceneNaturalPOByName = sceneNaturalMapper.querySceneNaturaByName(sceneNaturalPO);
@@ -552,7 +562,7 @@ public class SceneNaturalService {
 
 
                                     if (naturalEnvironment == null || road == null || (selfDrivingBehavior == null && targetBehavior == null)) {
                                     if (naturalEnvironment == null || road == null || (selfDrivingBehavior == null && targetBehavior == null)) {
                                         sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
                                         sceneImportPO.setStatus(DictConstants.SCENE_IMPORT_STATUS_2);
-                                        String em = "文件 " + adress + " 内容不符合标准格式(自然环境和道路不为空且自车行为、冲突行为不同时为空)。";
+                                        String em = "文件 " + address + " 内容不符合标准格式(自然环境和道路不为空且自车行为、冲突行为不同时为空)。";
                                         log.error(em);
                                         log.error(em);
                                         sceneImportPO.setErrorMessage(em);
                                         sceneImportPO.setErrorMessage(em);
                                         return sceneImportPO;
                                         return sceneImportPO;
@@ -603,19 +613,17 @@ public class SceneNaturalService {
                                     sceneNaturalPO.setIsDeleted("0");
                                     sceneNaturalPO.setIsDeleted("0");
                                     sceneNaturalPO.setOsgbAddress(osgbAdress);
                                     sceneNaturalPO.setOsgbAddress(osgbAdress);
                                     sceneNaturalPO.setXodrAddress(xodrAdress);
                                     sceneNaturalPO.setXodrAddress(xodrAdress);
-                                }
-                                if (adress.contains(".json")) {
-                                    sceneNaturalPO.setJsonAddress(adress);
-                                } else if (adress.contains(".xml") || adress.contains(".xosc")) {
-                                    sceneNaturalPO.setXoscAddress(adress);
-                                } else if (adress.contains(".xodr")) {
-                                    sceneNaturalPO.setXodrAddress(adress);
-                                } else if (adress.contains(".osgb")) {
-                                    sceneNaturalPO.setOsgbAddress(adress);
-                                } else if (adress.contains("simulation.mp4")) {
-                                    sceneNaturalPO.setVideoAddress(adress);
-                                } else if (adress.contains(".mp4")) {
-                                    sceneNaturalPO.setVideoPreview(adress);
+                                    sceneNaturalPO.setJsonAddress(address);
+                                } else if (address.contains(".xml") || address.contains(".xosc")) {
+                                    sceneNaturalPO.setXoscAddress(address);
+                                } else if (address.contains(".xodr")) {
+                                    sceneNaturalPO.setXodrAddress(address);
+                                } else if (address.contains(".osgb")) {
+                                    sceneNaturalPO.setOsgbAddress(address);
+                                } else if (address.contains("simulation.mp4")) {
+                                    sceneNaturalPO.setVideoAddress(address);
+                                } else if (address.contains(".mp4")) {
+                                    sceneNaturalPO.setVideoPreview(address);
                                 }
                                 }
                             }
                             }
                             if (update) {
                             if (update) {
@@ -633,6 +641,7 @@ public class SceneNaturalService {
                                 sceneNaturalMapper.saveSceneNatural(sceneNaturalPO);
                                 sceneNaturalMapper.saveSceneNatural(sceneNaturalPO);
                             }
                             }
                             successNum = successNum + 1;
                             successNum = successNum + 1;
+
                         } catch (Exception e) {
                         } catch (Exception e) {
                             errorMessage = e.getMessage();
                             errorMessage = e.getMessage();
                             e.printStackTrace();
                             e.printStackTrace();

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

@@ -224,7 +224,7 @@ public class StandardsRegulationsService {
                     for (String scenePath : listScene) {
                     for (String scenePath : listScene) {
                         try {
                         try {
                             MI.setObjectName(scenePath);
                             MI.setObjectName(scenePath);
-                            List<String> addressList = fileDownService.list(MI).getInfo();
+                            List<String> addressList = fileDownService.listDeepOne(MI).getInfo();
                             StandardsRegulationsPO standardsRegulationsPO = new StandardsRegulationsPO();
                             StandardsRegulationsPO standardsRegulationsPO = new StandardsRegulationsPO();
                             String isupdate = null;
                             String isupdate = null;
                             for (String address : addressList) {
                             for (String address : addressList) {

+ 187 - 90
simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml

@@ -4,32 +4,42 @@
 
 
     <insert id="saveSceneNatural" parameterType="api.common.pojo.po.scene.SceneNaturalPO">
     <insert id="saveSceneNatural" parameterType="api.common.pojo.po.scene.SceneNaturalPO">
         insert into simulation.scene_natural
         insert into simulation.scene_natural
-        (natural_id,natural_name,weather,backlight,
-        light_change,road_type,road_matrrial,driveway_num,
-        driveway_type,road_flatness,road_curvature,ramp,
-        intersection_type,plane_intersection,bridge,tunnel,
-        speed_limit,min_speed_limit,no_entry,no_stopping,
-        left_lane_line,right_lane_line,conductor_marking,pedestrian_crossing,
-        traffic_light,deceleration_marking,pavement_condition,natural_disaster,
-        road_safety_signs,safety_warning_board,traffic_accident,patency,
-        special_vehicle_yield,violation,double_flashing_car,self_behavior,
-        target_behavior,create_user_id,create_time,modify_user_id,modify_time,
-         is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
-        json_address,max_time)
-        values (#{naturalId,jdbcType=VARCHAR},#{naturalName,jdbcType=VARCHAR},#{weather,jdbcType=VARCHAR}, #{backlight,jdbcType=VARCHAR},
-        #{lightChange,jdbcType=VARCHAR}, #{roadType,jdbcType=VARCHAR},#{roadMatrrial,jdbcType=VARCHAR},#{drivewayNum,jdbcType=VARCHAR},
-        #{drivewayType,jdbcType=VARCHAR}, #{roadFlatness,jdbcType=VARCHAR},#{roadCurvature,jdbcType=VARCHAR},#{ramp,jdbcType=VARCHAR},
-        #{intersectionType,jdbcType=VARCHAR}, #{planeIntersection,jdbcType=VARCHAR},#{bridge,jdbcType=VARCHAR},#{tunnel,jdbcType=VARCHAR},
-        #{speedLimit,jdbcType=VARCHAR}, #{minSpeedLimit,jdbcType=VARCHAR},#{noEntry,jdbcType=VARCHAR},#{noStopping,jdbcType=VARCHAR},
-        #{leftLaneLine,jdbcType=VARCHAR}, #{rightLaneLine,jdbcType=VARCHAR},#{conductorMarking,jdbcType=VARCHAR},#{pedestrianCrossing,jdbcType=VARCHAR},
-        #{trafficLight,jdbcType=VARCHAR}, #{decelerationMarking,jdbcType=VARCHAR},#{pavementCondition,jdbcType=VARCHAR},#{naturalDisaster,jdbcType=VARCHAR},
-        #{roadSafetySigns,jdbcType=VARCHAR}, #{safetyWarningBoard,jdbcType=VARCHAR},#{trafficAccident,jdbcType=VARCHAR},#{patency,jdbcType=VARCHAR},
-        #{specialVehicleYield,jdbcType=VARCHAR}, #{violation,jdbcType=VARCHAR},#{doubleFlashingCar,jdbcType=VARCHAR},#{selfBehavior,jdbcType=VARCHAR},
-
-        #{targetBehavior,jdbcType=VARCHAR}, #{createUserId,jdbcType=VARCHAR},#{createTime},#{modifyUserId,jdbcType=VARCHAR},#{modifyTime},
-
-        #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR},#{videoPreview,jdbcType=VARCHAR},#{videoAddress,jdbcType=VARCHAR},#{osgbAddress,jdbcType=VARCHAR},
-        #{xodrAddress,jdbcType=VARCHAR}, #{xoscAddress,jdbcType=VARCHAR},#{jsonAddress,jdbcType=VARCHAR},#{maxTime,jdbcType=VARCHAR})
+        (natural_id, natural_name, weather, backlight,
+         light_change, road_type, road_matrrial, driveway_num,
+         driveway_type, road_flatness, road_curvature, ramp,
+         intersection_type, plane_intersection, bridge, tunnel,
+         speed_limit, min_speed_limit, no_entry, no_stopping,
+         left_lane_line, right_lane_line, conductor_marking, pedestrian_crossing,
+         traffic_light, deceleration_marking, pavement_condition, natural_disaster,
+         road_safety_signs, safety_warning_board, traffic_accident, patency,
+         special_vehicle_yield, violation, double_flashing_car, self_behavior,
+         target_behavior, create_user_id, create_time, modify_user_id, modify_time,
+         is_deleted, share, video_preview, video_address, osgb_address, xodr_address, xosc_address,
+         json_address, max_time)
+        values (#{naturalId,jdbcType=VARCHAR}, #{naturalName,jdbcType=VARCHAR}, #{weather,jdbcType=VARCHAR},
+                #{backlight,jdbcType=VARCHAR},
+                #{lightChange,jdbcType=VARCHAR}, #{roadType,jdbcType=VARCHAR}, #{roadMatrrial,jdbcType=VARCHAR},
+                #{drivewayNum,jdbcType=VARCHAR},
+                #{drivewayType,jdbcType=VARCHAR}, #{roadFlatness,jdbcType=VARCHAR}, #{roadCurvature,jdbcType=VARCHAR},
+                #{ramp,jdbcType=VARCHAR},
+                #{intersectionType,jdbcType=VARCHAR}, #{planeIntersection,jdbcType=VARCHAR}, #{bridge,jdbcType=VARCHAR},
+                #{tunnel,jdbcType=VARCHAR},
+                #{speedLimit,jdbcType=VARCHAR}, #{minSpeedLimit,jdbcType=VARCHAR}, #{noEntry,jdbcType=VARCHAR},
+                #{noStopping,jdbcType=VARCHAR},
+                #{leftLaneLine,jdbcType=VARCHAR}, #{rightLaneLine,jdbcType=VARCHAR},
+                #{conductorMarking,jdbcType=VARCHAR}, #{pedestrianCrossing,jdbcType=VARCHAR},
+                #{trafficLight,jdbcType=VARCHAR}, #{decelerationMarking,jdbcType=VARCHAR},
+                #{pavementCondition,jdbcType=VARCHAR}, #{naturalDisaster,jdbcType=VARCHAR},
+                #{roadSafetySigns,jdbcType=VARCHAR}, #{safetyWarningBoard,jdbcType=VARCHAR},
+                #{trafficAccident,jdbcType=VARCHAR}, #{patency,jdbcType=VARCHAR},
+                #{specialVehicleYield,jdbcType=VARCHAR}, #{violation,jdbcType=VARCHAR},
+                #{doubleFlashingCar,jdbcType=VARCHAR}, #{selfBehavior,jdbcType=VARCHAR},
+                #{targetBehavior,jdbcType=VARCHAR}, #{createUserId,jdbcType=VARCHAR}, #{createTime},
+                #{modifyUserId,jdbcType=VARCHAR}, #{modifyTime},
+                #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR}, #{videoPreview,jdbcType=VARCHAR},
+                #{videoAddress,jdbcType=VARCHAR}, #{osgbAddress,jdbcType=VARCHAR},
+                #{xodrAddress,jdbcType=VARCHAR}, #{xoscAddress,jdbcType=VARCHAR}, #{jsonAddress,jdbcType=VARCHAR},
+                #{maxTime,jdbcType=VARCHAR})
     </insert>
     </insert>
 
 
     <insert id="saveSceneNaturalList" parameterType="java.lang.String">
     <insert id="saveSceneNaturalList" parameterType="java.lang.String">
@@ -44,24 +54,36 @@
         road_safety_signs,safety_warning_board,traffic_accident,patency,
         road_safety_signs,safety_warning_board,traffic_accident,patency,
         special_vehicle_yield,violation,double_flashing_car,self_behavior,
         special_vehicle_yield,violation,double_flashing_car,self_behavior,
         target_behavior,create_user_id,create_time,modify_user_id,modify_time,
         target_behavior,create_user_id,create_time,modify_user_id,modify_time,
-         is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
+        is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
         json_address,max_time)
         json_address,max_time)
         values
         values
         <foreach collection="list" index="index" item="item" separator=",">
         <foreach collection="list" index="index" item="item" separator=",">
-            (#{item.naturalId,jdbcType=VARCHAR},#{item.naturalName,jdbcType=VARCHAR},#{item.weather,jdbcType=VARCHAR}, #{item.backlight,jdbcType=VARCHAR},
-            #{item.lightChange,jdbcType=VARCHAR}, #{item.roadType,jdbcType=VARCHAR},#{item.roadMatrrial,jdbcType=VARCHAR},#{item.drivewayNum,jdbcType=VARCHAR},
-            #{item.drivewayType,jdbcType=VARCHAR}, #{item.roadFlatness,jdbcType=VARCHAR},#{item.roadCurvature,jdbcType=VARCHAR},#{item.ramp,jdbcType=VARCHAR},
-            #{item.intersectionType,jdbcType=VARCHAR}, #{item.planeIntersection,jdbcType=VARCHAR},#{item.bridge,jdbcType=VARCHAR},#{item.tunnel,jdbcType=VARCHAR},
-            #{item.speedLimit,jdbcType=VARCHAR}, #{item.minSpeedLimit,jdbcType=VARCHAR},#{item.noEntry,jdbcType=VARCHAR},#{item.noStopping,jdbcType=VARCHAR},
-            #{item.leftLaneLine,jdbcType=VARCHAR}, #{item.rightLaneLine,jdbcType=VARCHAR},#{item.conductorMarking,jdbcType=VARCHAR},#{item.pedestrianCrossing,jdbcType=VARCHAR},
-            #{item.trafficLight,jdbcType=VARCHAR}, #{item.decelerationMarking,jdbcType=VARCHAR},#{item.pavementCondition,jdbcType=VARCHAR},#{item.naturalDisaster,jdbcType=VARCHAR},
-            #{item.roadSafetySigns,jdbcType=VARCHAR}, #{item.safetyWarningBoard,jdbcType=VARCHAR},#{item.trafficAccident,jdbcType=VARCHAR},#{item.patency,jdbcType=VARCHAR},
-            #{item.specialVehicleYield,jdbcType=VARCHAR}, #{item.violation,jdbcType=VARCHAR},#{item.doubleFlashingCar,jdbcType=VARCHAR},#{item.selfBehavior,jdbcType=VARCHAR},
+            (#{item.naturalId,jdbcType=VARCHAR},#{item.naturalName,jdbcType=VARCHAR},#{item.weather,jdbcType=VARCHAR},
+            #{item.backlight,jdbcType=VARCHAR},
+            #{item.lightChange,jdbcType=VARCHAR},
+            #{item.roadType,jdbcType=VARCHAR},#{item.roadMatrrial,jdbcType=VARCHAR},#{item.drivewayNum,jdbcType=VARCHAR},
+            #{item.drivewayType,jdbcType=VARCHAR},
+            #{item.roadFlatness,jdbcType=VARCHAR},#{item.roadCurvature,jdbcType=VARCHAR},#{item.ramp,jdbcType=VARCHAR},
+            #{item.intersectionType,jdbcType=VARCHAR},
+            #{item.planeIntersection,jdbcType=VARCHAR},#{item.bridge,jdbcType=VARCHAR},#{item.tunnel,jdbcType=VARCHAR},
+            #{item.speedLimit,jdbcType=VARCHAR},
+            #{item.minSpeedLimit,jdbcType=VARCHAR},#{item.noEntry,jdbcType=VARCHAR},#{item.noStopping,jdbcType=VARCHAR},
+            #{item.leftLaneLine,jdbcType=VARCHAR},
+            #{item.rightLaneLine,jdbcType=VARCHAR},#{item.conductorMarking,jdbcType=VARCHAR},#{item.pedestrianCrossing,jdbcType=VARCHAR},
+            #{item.trafficLight,jdbcType=VARCHAR},
+            #{item.decelerationMarking,jdbcType=VARCHAR},#{item.pavementCondition,jdbcType=VARCHAR},#{item.naturalDisaster,jdbcType=VARCHAR},
+            #{item.roadSafetySigns,jdbcType=VARCHAR},
+            #{item.safetyWarningBoard,jdbcType=VARCHAR},#{item.trafficAccident,jdbcType=VARCHAR},#{item.patency,jdbcType=VARCHAR},
+            #{item.specialVehicleYield,jdbcType=VARCHAR},
+            #{item.violation,jdbcType=VARCHAR},#{item.doubleFlashingCar,jdbcType=VARCHAR},#{item.selfBehavior,jdbcType=VARCHAR},
 
 
-            #{item.targetBehavior,jdbcType=VARCHAR}, #{item.createUserId,jdbcType=VARCHAR},#{item.createTime},#{item.modifyUserId,jdbcType=VARCHAR},#{item.modifyTime},
+            #{item.targetBehavior,jdbcType=VARCHAR},
+            #{item.createUserId,jdbcType=VARCHAR},#{item.createTime},#{item.modifyUserId,jdbcType=VARCHAR},#{item.modifyTime},
 
 
-            #{item.isDeleted,jdbcType=VARCHAR}, #{item.share,jdbcType=VARCHAR},#{item.videoPreview,jdbcType=VARCHAR},#{item.videoAddress,jdbcType=VARCHAR},#{item.osgbAddress,jdbcType=VARCHAR},
-            #{item.xodrAddress,jdbcType=VARCHAR}, #{item.xoscAddress,jdbcType=VARCHAR},#{item.jsonAddress,jdbcType=VARCHAR},#{item.maxTime,jdbcType=VARCHAR})
+            #{item.isDeleted,jdbcType=VARCHAR},
+            #{item.share,jdbcType=VARCHAR},#{item.videoPreview,jdbcType=VARCHAR},#{item.videoAddress,jdbcType=VARCHAR},#{item.osgbAddress,jdbcType=VARCHAR},
+            #{item.xodrAddress,jdbcType=VARCHAR},
+            #{item.xoscAddress,jdbcType=VARCHAR},#{item.jsonAddress,jdbcType=VARCHAR},#{item.maxTime,jdbcType=VARCHAR})
         </foreach>
         </foreach>
     </insert>
     </insert>
 
 
@@ -389,7 +411,8 @@
     </update>
     </update>
 
 
 
 
-    <select id="querySceneNaturaByName" parameterType="api.common.pojo.po.scene.SceneNaturalPO" resultType="api.common.pojo.po.scene.SceneNaturalPO">
+    <select id="querySceneNaturaByName" parameterType="api.common.pojo.po.scene.SceneNaturalPO"
+            resultType="api.common.pojo.po.scene.SceneNaturalPO">
         select natural_id,natural_name,weather,backlight,
         select natural_id,natural_name,weather,backlight,
         light_change,road_type,road_matrrial,driveway_num,
         light_change,road_type,road_matrrial,driveway_num,
         driveway_type,road_flatness,road_curvature,ramp,
         driveway_type,road_flatness,road_curvature,ramp,
@@ -403,7 +426,7 @@
         is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
         is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
         json_address,max_time
         json_address,max_time
         from simulation.scene_natural
         from simulation.scene_natural
-        <where >
+        <where>
             is_deleted = '0'
             is_deleted = '0'
             <if test="naturalName != null and naturalName!=''">
             <if test="naturalName != null and naturalName!=''">
                 and natural_name =#{naturalName}
                 and natural_name =#{naturalName}
@@ -417,35 +440,37 @@
         </where>
         </where>
     </select>
     </select>
 
 
-    <select id="querySceneNumBySy" parameterType="api.common.pojo.param.scene.SceneNaturalParam" resultType="java.lang.Integer">
-      select SUM(num) from(
+    <select id="querySceneNumBySy" parameterType="api.common.pojo.param.scene.SceneNaturalParam"
+            resultType="java.lang.Integer">
+        select SUM(num) from(
         select COUNT(1) AS num from simulation.scene_natural
         select COUNT(1) AS num from simulation.scene_natural
-        <where> is_deleted = '0'  and share='0'
-        <if test="createUserId != null and createUserId!=''">
-            and create_user_id =#{createUserId}
-        </if>
-    </where>
+        <where>is_deleted = '0' and share='0'
+            <if test="createUserId != null and createUserId!=''">
+                and create_user_id =#{createUserId}
+            </if>
+        </where>
         union all
         union all
         select COUNT(1) AS num from simulation.scene_accident
         select COUNT(1) AS num from simulation.scene_accident
-        <where> is_deleted = '0'  and share='0'
+        <where>is_deleted = '0' and share='0'
             <if test="createUserId != null and createUserId!=''">
             <if test="createUserId != null and createUserId!=''">
                 and create_user_id =#{createUserId}
                 and create_user_id =#{createUserId}
             </if>
             </if>
         </where>
         </where>
         union all
         union all
         select COUNT(1) AS num from simulation.scene_standards_regulations
         select COUNT(1) AS num from simulation.scene_standards_regulations
-        <where> is_deleted = '0'  and share='0'
+        <where>is_deleted = '0' and share='0'
             <if test="createUserId != null and createUserId!=''">
             <if test="createUserId != null and createUserId!=''">
                 and create_user_id =#{createUserId}
                 and create_user_id =#{createUserId}
             </if>
             </if>
         </where>
         </where>
         union all
         union all
         select COUNT(1) AS num from simulation.scene_general_template
         select COUNT(1) AS num from simulation.scene_general_template
-        <where> is_deleted = '0'  and share='0'
+        <where>is_deleted = '0' and share='0'
             <if test="createUserId != null and createUserId!=''">
             <if test="createUserId != null and createUserId!=''">
                 and create_user_id =#{createUserId}
                 and create_user_id =#{createUserId}
             </if>
             </if>
-        </where>) a
+        </where>
+        ) a
     </select>
     </select>
 
 
 
 
@@ -1056,7 +1081,7 @@
         traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
         traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
         self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
         self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
         modify_time,is_deleted,share,video_address,osgb_address,
         modify_time,is_deleted,share,video_address,osgb_address,
-        xodr_address,xosc_address,json_address,video_preview,max_time  from (
+        xodr_address,xosc_address,json_address,video_preview,max_time from (
         select
         select
         natural_id,natural_name,weather,backlight,light_change,road_type,
         natural_id,natural_name,weather,backlight,light_change,road_type,
         road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
         road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
@@ -1071,7 +1096,7 @@
         from simulation.scene_natural
         from simulation.scene_natural
         <where>
         <where>
             <if test="poBq.naturalName != null and poBq.naturalName != ''">
             <if test="poBq.naturalName != null and poBq.naturalName != ''">
-                 natural_name like CONCAT('%',#{poBq.naturalName,jdbcType=VARCHAR},'%')
+                natural_name like CONCAT('%',#{poBq.naturalName,jdbcType=VARCHAR},'%')
             </if>
             </if>
             <if test="poBq.weather != null and poBq.weather.size()>0 ">
             <if test="poBq.weather != null and poBq.weather.size()>0 ">
                 or weather in
                 or weather in
@@ -1342,7 +1367,7 @@
             </if>
             </if>
             ) a
             ) a
             where
             where
-             a.is_deleted = '0'
+            a.is_deleted = '0'
             <if test="po.AllIds != null and po.AllIds.size()>0">
             <if test="po.AllIds != null and po.AllIds.size()>0">
                 and a.natural_id in
                 and a.natural_id in
                 <foreach collection="po.AllIds" item="item" index="index"
                 <foreach collection="po.AllIds" item="item" index="index"
@@ -1357,27 +1382,56 @@
 
 
     <update id="updateSceneNatural" parameterType="api.common.pojo.po.scene.SceneNaturalPO">
     <update id="updateSceneNatural" parameterType="api.common.pojo.po.scene.SceneNaturalPO">
         update simulation.scene_natural
         update simulation.scene_natural
-        set natural_name=#{naturalName},weather=#{weather},backlight=#{backlight},
-        light_change=#{lightChange},road_type=#{roadType},road_matrrial=#{roadMatrrial},
-        driveway_num=#{drivewayNum},driveway_type=#{drivewayType},road_flatness=#{roadFlatness},
-        road_curvature=#{roadCurvature},ramp=#{ramp},intersection_type=#{intersectionType},
-        plane_intersection=#{planeIntersection},bridge=#{bridge},tunnel=#{tunnel},
-        speed_limit=#{speedLimit},min_speed_limit=#{minSpeedLimit},no_entry=#{noEntry},
-        no_stopping=#{noStopping},left_lane_line=#{leftLaneLine},right_lane_line=#{rightLaneLine},
-        conductor_marking=#{conductorMarking},pedestrian_crossing=#{pedestrianCrossing},traffic_light=#{trafficLight},
-        deceleration_marking=#{decelerationMarking},pavement_condition=#{pavementCondition},natural_disaster=#{naturalDisaster},
-        road_safety_signs=#{roadSafetySigns},safety_warning_board=#{safetyWarningBoard},traffic_accident=#{trafficAccident},
-        patency=#{patency},special_vehicle_yield=#{specialVehicleYield},violation=#{violation},
-        double_flashing_car=#{doubleFlashingCar},self_behavior=#{selfBehavior},target_behavior=#{targetBehavior},
-        modify_user_id=#{modifyUserId},modify_time=#{modifyTime},video_address=#{videoAddress},
-        osgb_address=#{osgbAddress},xodr_address=#{xodrAddress},xosc_address=#{xoscAddress},
-        json_address=#{jsonAddress},max_time=#{maxTime}
+        set natural_name=#{naturalName},
+            weather=#{weather},
+            backlight=#{backlight},
+            light_change=#{lightChange},
+            road_type=#{roadType},
+            road_matrrial=#{roadMatrrial},
+            driveway_num=#{drivewayNum},
+            driveway_type=#{drivewayType},
+            road_flatness=#{roadFlatness},
+            road_curvature=#{roadCurvature},
+            ramp=#{ramp},
+            intersection_type=#{intersectionType},
+            plane_intersection=#{planeIntersection},
+            bridge=#{bridge},
+            tunnel=#{tunnel},
+            speed_limit=#{speedLimit},
+            min_speed_limit=#{minSpeedLimit},
+            no_entry=#{noEntry},
+            no_stopping=#{noStopping},
+            left_lane_line=#{leftLaneLine},
+            right_lane_line=#{rightLaneLine},
+            conductor_marking=#{conductorMarking},
+            pedestrian_crossing=#{pedestrianCrossing},
+            traffic_light=#{trafficLight},
+            deceleration_marking=#{decelerationMarking},
+            pavement_condition=#{pavementCondition},
+            natural_disaster=#{naturalDisaster},
+            road_safety_signs=#{roadSafetySigns},
+            safety_warning_board=#{safetyWarningBoard},
+            traffic_accident=#{trafficAccident},
+            patency=#{patency},
+            special_vehicle_yield=#{specialVehicleYield},
+            violation=#{violation},
+            double_flashing_car=#{doubleFlashingCar},
+            self_behavior=#{selfBehavior},
+            target_behavior=#{targetBehavior},
+            modify_user_id=#{modifyUserId},
+            modify_time=#{modifyTime},
+            video_address=#{videoAddress},
+            osgb_address=#{osgbAddress},
+            xodr_address=#{xodrAddress},
+            xosc_address=#{xoscAddress},
+            json_address=#{jsonAddress},
+            max_time=#{maxTime}
         where natural_id = #{naturalId,jdbcType=VARCHAR}
         where natural_id = #{naturalId,jdbcType=VARCHAR}
     </update>
     </update>
 
 
     <update id="updateSceneNaturalList" parameterType="java.util.List">
     <update id="updateSceneNaturalList" parameterType="java.util.List">
         <foreach collection="list" index="index" item="item" separator=";">
         <foreach collection="list" index="index" item="item" separator=";">
-        update simulation.scene_natural
+            update simulation.scene_natural
             set natural_name=#{item.naturalName},weather=#{item.weather},backlight=#{item.backlight},
             set natural_name=#{item.naturalName},weather=#{item.weather},backlight=#{item.backlight},
             light_change=#{item.lightChange},road_type=#{item.roadType},road_matrrial=#{item.roadMatrrial},
             light_change=#{item.lightChange},road_type=#{item.roadType},road_matrrial=#{item.roadMatrrial},
             driveway_num=#{item.drivewayNum},driveway_type=#{item.drivewayType},road_flatness=#{item.roadFlatness},
             driveway_num=#{item.drivewayNum},driveway_type=#{item.drivewayType},road_flatness=#{item.roadFlatness},
@@ -1411,11 +1465,12 @@
         self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
         self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
         modify_time,is_deleted,share,video_address,osgb_address,
         modify_time,is_deleted,share,video_address,osgb_address,
         xodr_address,xosc_address,json_address,video_preview,max_time
         xodr_address,xosc_address,json_address,video_preview,max_time
-        from  (select zr.* from( select s.scene_name
+        from (select zr.* from( select s.scene_name
         FROM system_scene_package p
         FROM system_scene_package p
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-        where scene_type='1' and  s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_natural  zr on qx.scene_name=zr.natural_name
+        where scene_type='1' and s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_natural zr
+        on qx.scene_name=zr.natural_name
         and zr.share='2' union select jtNew.* from scene_natural jtNew where jtNew.share='1' and is_deleted='0') dd
         and zr.share='2' union select jtNew.* from scene_natural jtNew where jtNew.share='1' and is_deleted='0') dd
         <where>
         <where>
             is_deleted = '0'
             is_deleted = '0'
@@ -1735,7 +1790,8 @@
         FROM system_scene_package p
         FROM system_scene_package p
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-        where scene_type='1' and  s.is_deleted = '0' and user_id=#{po.userId} group by s.scene_name)qx join scene_natural  zr on qx.scene_name=zr.natural_name) dd
+        where scene_type='1' and s.is_deleted = '0' and user_id=#{po.userId} group by s.scene_name)qx join scene_natural
+        zr on qx.scene_name=zr.natural_name) dd
         <where>
         <where>
             <if test="po.naturalName != null and po.naturalName != ''">
             <if test="po.naturalName != null and po.naturalName != ''">
                 natural_name like CONCAT('%',#{po.naturalName,jdbcType=VARCHAR},'%')
                 natural_name like CONCAT('%',#{po.naturalName,jdbcType=VARCHAR},'%')
@@ -2024,7 +2080,8 @@
         FROM system_scene_package p
         FROM system_scene_package p
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-        where scene_type='1' and  s.is_deleted = '0' and user_id=#{poBq.userId} group by s.scene_name)qx join scene_natural  zr on qx.scene_name=zr.natural_name) ee
+        where scene_type='1' and s.is_deleted = '0' and user_id=#{poBq.userId} group by s.scene_name)qx join
+        scene_natural zr on qx.scene_name=zr.natural_name) ee
         <where>
         <where>
             <if test="poBq.naturalName != null and poBq.naturalName != ''">
             <if test="poBq.naturalName != null and poBq.naturalName != ''">
                 or natural_name like CONCAT('%',#{poBq.naturalName,jdbcType=VARCHAR},'%')
                 or natural_name like CONCAT('%',#{poBq.naturalName,jdbcType=VARCHAR},'%')
@@ -2321,7 +2378,7 @@
         traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
         traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
         self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
         self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
         modify_time,is_deleted,share,video_address,osgb_address,
         modify_time,is_deleted,share,video_address,osgb_address,
-        xodr_address,xosc_address,json_address,video_preview,max_time  from (
+        xodr_address,xosc_address,json_address,video_preview,max_time from (
         select
         select
         natural_id,natural_name,weather,backlight,light_change,road_type,
         natural_id,natural_name,weather,backlight,light_change,road_type,
         road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
         road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
@@ -2337,7 +2394,8 @@
         FROM system_scene_package p
         FROM system_scene_package p
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
         JOIN system_scene_package_sublist s on p.id = s.scene_and_package
-        where scene_type='1' and  s.is_deleted = '0' and user_id=#{poBq.userId} group by s.scene_name)qx join scene_natural  zr on qx.scene_name=zr.natural_name) dd
+        where scene_type='1' and s.is_deleted = '0' and user_id=#{poBq.userId} group by s.scene_name)qx join
+        scene_natural zr on qx.scene_name=zr.natural_name) dd
         <where>
         <where>
             <if test="poBq.naturalName != null and poBq.naturalName != ''">
             <if test="poBq.naturalName != null and poBq.naturalName != ''">
                 natural_name like CONCAT('%',#{poBq.naturalName,jdbcType=VARCHAR},'%')
                 natural_name like CONCAT('%',#{poBq.naturalName,jdbcType=VARCHAR},'%')
@@ -2625,19 +2683,58 @@
 
 
     <select id="querySceneNaturalById" parameterType="java.lang.String"
     <select id="querySceneNaturalById" parameterType="java.lang.String"
             resultType="api.common.pojo.po.scene.SceneNaturalPO">
             resultType="api.common.pojo.po.scene.SceneNaturalPO">
-    select
-    natural_id,natural_name,weather,backlight,
-    light_change,road_type,road_matrrial,driveway_num,
-    driveway_type,road_flatness,road_curvature,ramp,
-    intersection_type,plane_intersection,bridge,tunnel,
-    speed_limit,min_speed_limit,no_entry,no_stopping,
-    left_lane_line,right_lane_line,conductor_marking,pedestrian_crossing,
-    traffic_light,deceleration_marking,pavement_condition,natural_disaster,
-    road_safety_signs,safety_warning_board,traffic_accident,patency,
-    special_vehicle_yield,violation,double_flashing_car,self_behavior,
-    target_behavior,create_user_id,create_time,modify_user_id,modify_time,
-    is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
-    json_address,max_time from scene_natural where natural_id=#{id}
+        select natural_id,
+               natural_name,
+               weather,
+               backlight,
+               light_change,
+               road_type,
+               road_matrrial,
+               driveway_num,
+               driveway_type,
+               road_flatness,
+               road_curvature,
+               ramp,
+               intersection_type,
+               plane_intersection,
+               bridge,
+               tunnel,
+               speed_limit,
+               min_speed_limit,
+               no_entry,
+               no_stopping,
+               left_lane_line,
+               right_lane_line,
+               conductor_marking,
+               pedestrian_crossing,
+               traffic_light,
+               deceleration_marking,
+               pavement_condition,
+               natural_disaster,
+               road_safety_signs,
+               safety_warning_board,
+               traffic_accident,
+               patency,
+               special_vehicle_yield,
+               violation,
+               double_flashing_car,
+               self_behavior,
+               target_behavior,
+               create_user_id,
+               create_time,
+               modify_user_id,
+               modify_time,
+               is_deleted,
+               share,
+               video_preview,
+               video_address,
+               osgb_address,
+               xodr_address,
+               xosc_address,
+               json_address,
+               max_time
+        from scene_natural
+        where natural_id = #{id}
     </select>
     </select>
 
 
 </mapper>
 </mapper>