wangzhiqiang пре 3 година
родитељ
комит
7055e1970a
27 измењених фајлова са 371 додато и 148 уклоњено
  1. 1 2
      api-common/src/main/java/api/common/pojo/param/scene/SceneAccidentParam.java
  2. 27 0
      api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalNewParam.java
  3. 38 36
      api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalParam.java
  4. 1 1
      api-common/src/main/java/api/common/pojo/param/scene/ScoringRulesParam.java
  5. 1 1
      api-common/src/main/java/api/common/pojo/param/scene/StandardsRegulationsParam.java
  6. 1 0
      api-common/src/main/java/api/common/pojo/po/scene/SceneAccidentPO.java
  7. 1 0
      api-common/src/main/java/api/common/pojo/po/scene/SceneNaturalPO.java
  8. 1 0
      api-common/src/main/java/api/common/pojo/po/scene/StandardsRegulationsPO.java
  9. 1 0
      api-common/src/main/java/api/common/pojo/vo/scene/SceneAccidentVO.java
  10. 1 0
      api-common/src/main/java/api/common/pojo/vo/scene/SceneNaturalVO.java
  11. 1 0
      api-common/src/main/java/api/common/pojo/vo/scene/StandardsRegulationsVO.java
  12. 99 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/FileController.java
  13. 0 7
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneAccidentController.java
  14. 2 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/SceneNaturalController.java
  15. 41 15
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScoringRulesController.java
  16. 1 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/ScenePackageMapper.java
  17. 1 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/ScenePackageSublistMapper.java
  18. 2 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/ScoringRulesMapper.java
  19. 6 4
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneAccidentService.java
  20. 53 34
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  21. 14 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScoringRulesService.java
  22. 12 29
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/StandardsRegulationsService.java
  23. 9 9
      simulation-resource-server/src/main/resources/mapper/scene/SceneAccidentMapper.xml
  24. 3 3
      simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml
  25. 16 0
      simulation-resource-server/src/main/resources/mapper/scene/ScenePackageMapper.xml
  26. 34 2
      simulation-resource-server/src/main/resources/mapper/scene/ScoringRulesMapper.xml
  27. 4 4
      simulation-resource-server/src/main/resources/mapper/scene/StandardsRegulationsMapper.xml

+ 1 - 2
api-common/src/main/java/api/common/pojo/param/scene/SceneAccidentParam.java

@@ -23,13 +23,12 @@ public class SceneAccidentParam extends PageVO implements Serializable {
     private String[] conflictBehavior ; //冲突行为
     private String[] conflictType ; //冲突类型
 
-    private String path ; //文件所在文件夹路径
-
     private String videoAddress ; //视频地址
     private String osgbAddress  ;//
     private String xmlAddress ; //
     private String xodrAddress ; //
     private String jsonAddress ; //
+    private String videoPreview;//视频预览地址
 
 
 }

+ 27 - 0
api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalNewParam.java

@@ -0,0 +1,27 @@
+package api.common.pojo.param.scene;
+
+import api.common.pojo.common.PageVO;
+import lombok.*;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 自然驾驶场景
+ */
+@EqualsAndHashCode()
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SceneNaturalNewParam extends PageVO implements Serializable {
+
+    private String naturalName;              // 场景编号
+    private String[][] naturalEnvironment ; //自然环境
+    private String[][] road ; //道路
+    private String[][] infrastructure ; //基础设施
+    private String[][] temporaryOperation ; //临时性操作
+    private String[][] trafficCondition ; //交通状况
+    private String[][] selfBehavior  ;//自车行为
+    private String[][] targetBehavior ; //目标行为
+}

+ 38 - 36
api-common/src/main/java/api/common/pojo/param/scene/SceneNaturalParam.java

@@ -4,6 +4,7 @@ import api.common.pojo.common.PageVO;
 import lombok.*;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * 自然驾驶场景
@@ -17,48 +18,49 @@ public class SceneNaturalParam extends PageVO implements Serializable {
 
     private String naturalId;              // (唯一)
     private String naturalName;  //场景编号
-    private String[] weather;  //天气
-    private String[] backlight;  //逆光
-    private String[] lightChange;  //隧道光纤变化
-    private String[] roadType ; //道路类型
-    private String[] roadMatrrial ; //路面材质
-    private String[] drivewayNum ; //车道数量
-    private String[] drivewayType ; //车道类型
-    private String[] roadFlatness  ;//道路平坦程度
-    private String[] roadCurvature ; //道路弯曲程度
-    private String[] ramp ; //匝道
-    private String[] intersectionType; //路口类型
-    private String[] planeIntersection ; //道路与铁路平面交叉
-    private String[] bridge  ;//桥梁
-    private String[] tunnel  ;//隧道
-    private String[] speedLimit ; //速度标志
-    private String[] minSpeedLimit ; //最低速度标志
-    private String[] noEntry  ;//禁止通行
-    private String[] noStopping ; //禁止停车
-    private String[] leftLaneLine ; //左侧车道线
-    private String[] rightLaneLine ; //右侧车道线
-    private String[] conductorMarking ; //导线标线及标志
-    private String[] pedestrianCrossing ; //人行横道
-    private String[] trafficLight ; //交通信号灯
-    private String[] decelerationMarking ; //减速标线
-    private String[] pavementCondition ; //路面状况
-    private String[] naturalDisaster ; //自然灾害
-    private String[] roadSafetySigns  ;//道路施工安全标识
-    private String[] safetyWarningBoard  ;//三角安全警示牌
-    private String[] trafficAccident ; //交通事故
-    private String[] patency ; //通畅情况
-    private String[] specialVehicleYield  ;//特种车辆让行
-    private String[] violation ; //违规
-    private String[] doubleFlashingCar ; //双闪车辆
-    private String[] selfBehavior  ;//自车行为
-    private String[] targetBehavior ; //目标行为
+    private List<String> weather;  //天气
+    private List<String> backlight;  //逆光
+    private List<String> lightChange;  //隧道光纤变化
+    private List<String> roadType ; //道路类型
+    private List<String> roadMatrrial ; //路面材质
+    private List<String> drivewayNum ; //车道数量
+    private List<String> drivewayType ; //车道类型
+    private List<String> roadFlatness  ;//道路平坦程度
+    private List<String> roadCurvature ; //道路弯曲程度
+    private List<String> ramp ; //匝道
+    private List<String> intersectionType; //路口类型
+    private List<String> planeIntersection ; //道路与铁路平面交叉
+    private List<String> bridge  ;//桥梁
+    private List<String> tunnel  ;//隧道
+    private List<String> speedLimit ; //速度标志
+    private List<String> minSpeedLimit ; //最低速度标志
+    private List<String> noEntry  ;//禁止通行
+    private List<String> noStopping ; //禁止停车
+    private List<String> leftLaneLine ; //左侧车道线
+    private List<String> rightLaneLine ; //右侧车道线
+    private List<String> conductorMarking ; //导线标线及标志
+    private List<String> pedestrianCrossing ; //人行横道
+    private List<String> trafficLight ; //交通信号灯
+    private List<String> decelerationMarking ; //减速标线
+    private List<String> pavementCondition ; //路面状况
+    private List<String> naturalDisaster ; //自然灾害
+    private List<String> roadSafetySigns  ;//道路施工安全标识
+    private List<String> safetyWarningBoard  ;//三角安全警示牌
+    private List<String> trafficAccident ; //交通事故
+    private List<String> patency ; //通畅情况
+    private List<String> specialVehicleYield  ;//特种车辆让行
+    private List<String> violation ; //违规
+    private List<String> doubleFlashingCar ; //双闪车辆
+    private List<String> selfBehavior  ;//自车行为
+    private List<String> targetBehavior ; //目标行为
     private String share ; //是否分析  1为分享
 
-    private String path ; //文件所在文件夹路径
+    // private String path ; //文件所在文件夹路径
     private String videoAddress ; //视频地址
     private String osgbAddress  ;//
     private String xodrAddress ; //
     private String xoscAddress ; //
     private String jsonAddress ; //
+    private String videoPreview;//视频预览地址
 
 }

+ 1 - 1
api-common/src/main/java/api/common/pojo/param/scene/ScoringRulesParam.java

@@ -19,7 +19,7 @@ public class ScoringRulesParam extends PageVO implements Serializable {
     private String ruleName ; //规则名称
     private String ruleDescription ; //打分规则描述
     private String share ; //是否分析  1为分享
-
+    private String createUserId ; //用户id
     public String yearMax;//结束时间
 
     public String yearMin;//开始时间

+ 1 - 1
api-common/src/main/java/api/common/pojo/param/scene/StandardsRegulationsParam.java

@@ -20,13 +20,13 @@ public class StandardsRegulationsParam extends PageVO implements Serializable {
     private String[]  regulationType;  //法规类型
     private String standardType;  //标准类型
     private String share ; //是否分析  1为分享
-    private String path ; //文件所在文件夹路径
 
     private String videoAddress ; //视频地址
     private String osgbAddress  ;//
     private String xmlAddress ; //
     private String xodrAddress ; //
     private String jsonAddress ; //
+    private String videoPreview;//视频预览地址
 
 
 }

+ 1 - 0
api-common/src/main/java/api/common/pojo/po/scene/SceneAccidentPO.java

@@ -28,6 +28,7 @@ public class SceneAccidentPO implements Serializable {
     private String xmlAddress ; //
     private String xodrAddress ; //
     private String jsonAddress ; //
+    private String videoPreview;//视频预览地址
     /**
      * 记录创建时间
      */

+ 1 - 0
api-common/src/main/java/api/common/pojo/po/scene/SceneNaturalPO.java

@@ -59,6 +59,7 @@ public class SceneNaturalPO  implements Serializable {
     private String xodrAddress ; //
     private String xoscAddress ; //
     private String jsonAddress ; //
+    private String videoPreview;//视频预览地址
     /**
      * 记录创建时间
      */

+ 1 - 0
api-common/src/main/java/api/common/pojo/po/scene/StandardsRegulationsPO.java

@@ -25,6 +25,7 @@ public class StandardsRegulationsPO implements Serializable {
     private String xmlAddress ; //
     private String xodrAddress ; //
     private String jsonAddress ; //
+    private String videoPreview;//视频预览地址
     /**
      * 记录创建时间
      */

+ 1 - 0
api-common/src/main/java/api/common/pojo/vo/scene/SceneAccidentVO.java

@@ -23,5 +23,6 @@ public class SceneAccidentVO extends PageVO implements Serializable {
     private String conflictBehavior ; //冲突行为
     private String conflictType ; //冲突类型
     private String videoAddress ; //视频地址
+    private String videoPreview;//视频预览地址
 
 }

+ 1 - 0
api-common/src/main/java/api/common/pojo/vo/scene/SceneNaturalVO.java

@@ -59,6 +59,7 @@ public class SceneNaturalVO extends PageVO implements Serializable {
     private String xodrAddress ; //
     private String xoscAddress ; //
     private String jsonAddress ; //
+    private String videoPreview;//视频预览地址
 
 
 }

+ 1 - 0
api-common/src/main/java/api/common/pojo/vo/scene/StandardsRegulationsVO.java

@@ -21,5 +21,6 @@ public class StandardsRegulationsVO extends PageVO implements Serializable {
     private String standardType;  //标准类型
     private String share ; //是否分析  1为分享
     private String videoAddress ; //视频地址
+    private String videoPreview;//视频预览地址
 
 }

+ 99 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/FileController.java

@@ -0,0 +1,99 @@
+package com.css.simulation.resource.scene.ctrl;
+
+import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.constants.DictConstants;
+import api.common.pojo.param.MinioParameter;
+import api.common.util.FileUtil;
+import com.css.simulation.resource.feign.FileDownService;
+import feign.Response;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.MediaType;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+//文件上传下载
+@Slf4j
+@RestController
+@RequestMapping("/file")
+public class FileController {
+
+    @Resource
+    private FileDownService fileDownService;
+
+    @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    public ResponseBodyVO<Map> upload(@RequestPart("file") MultipartFile file,
+                                         @RequestParam("type") String type) {
+        String fileName="";
+        if(type.equals(DictConstants.SCENE_NATURAL)){
+            fileName="自然驾驶/"+file.getOriginalFilename();
+        }else if(type.equals(DictConstants.SCENE_STANDARD)){
+            fileName="标准法规/"+file.getOriginalFilename();
+        }else if(type.equals(DictConstants.SCENE_ACCIDENT)){
+            fileName="交通事故/"+file.getOriginalFilename();
+        }else if(type.equals(DictConstants.SCENE_GENERAL)){
+            fileName="泛化场景/"+file.getOriginalFilename();
+        }else{
+            fileName=file.getOriginalFilename();
+        }
+       log.info("上传文件名称--------"+file.getOriginalFilename());
+
+        ResponseBodyVO<String> respon=fileDownService.upload(file,fileName);
+          String videoPreview=  respon.getInfo();
+             Map map=new HashMap();
+             map.put("videoPreview",videoPreview);
+              map.put("fileName",fileName);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,map);
+    }
+
+@PostMapping(value = "/download")
+    public void download(
+            HttpServletResponse response,@RequestBody @Validated MinioParameter parms
+    ) throws IOException {
+        Response download = fileDownService.download(parms);
+        Response.Body body = download.body();
+        InputStream inputStream = body.asInputStream();
+       downloadForHttp(parms.getObjectName(), inputStream, response, 1024);
+    }
+
+    @GetMapping(value = "/download1")
+    public void download1(
+            HttpServletResponse response
+    ) throws IOException {
+        MinioParameter parms =new MinioParameter();
+        parms.setObjectName("simulation.mp4");
+        Response download = fileDownService.download(parms);
+        Response.Body body = download.body();
+        InputStream inputStream = body.asInputStream();
+        downloadForHttp(parms.getObjectName(), inputStream, response, 1024);
+    }
+
+
+
+    public  void downloadForHttp(String fileName, InputStream in, HttpServletResponse response, int bufferSize) throws IOException {
+        int idx=fileName.lastIndexOf("/");
+        fileName=fileName.substring(idx+1,fileName.length());
+
+        log.info("下载----"+fileName);
+        response.setContentType("application/octet-stream;charset=utf-8");
+        response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");
+        copyBytes(in, response.getOutputStream(), bufferSize);
+    }
+
+    public static void copyBytes(InputStream in, OutputStream out, int bufferSize) throws IOException {
+        byte[] buffer = new byte[bufferSize];
+        for (int bytesRead = in.read(buffer); bytesRead >= 0; bytesRead = in.read(buffer)) {
+            out.write(buffer, 0, bytesRead);
+        }
+    }
+
+}

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

@@ -52,13 +52,6 @@ public class SceneAccidentController {
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
-    //新增交通事故
-    @PostMapping("/saveSceneAccidentCS")
-    @ResponseBody
-    public ResponseBodyVO<String> saveSceneAccidentCS(@RequestBody SceneAccidentParam parms) {
-        sceneAccidentService.importJtSgCS(parms);
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
-    }
     @Resource
     private FileDownService fileDownService;
 

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

@@ -1,6 +1,7 @@
 package com.css.simulation.resource.scene.ctrl;
 
 import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.param.scene.SceneNaturalNewParam;
 import api.common.pojo.param.scene.SceneNaturalParam;
 import api.common.pojo.po.scene.SceneNaturalPO;
 import api.common.pojo.vo.scene.SceneNaturalVO;
@@ -28,7 +29,7 @@ public class SceneNaturalController {
 //查询列表
     @PostMapping("/querySceneNaturalList")
     @ResponseBody
-    public ResponseBodyVO<List<SceneNaturalVO>> querySceneNaturalList(@RequestBody SceneNaturalParam parms) {
+    public ResponseBodyVO<List<SceneNaturalVO>> querySceneNaturalList(@RequestBody SceneNaturalNewParam parms) {
         PageUtil.setPageInfo(parms);
         List<SceneNaturalPO> list=sceneNaturalService.querySceneNaturalList(parms);
         PageInfo<SceneNaturalPO> objectPageInfo = new PageInfo<>(list);

+ 41 - 15
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScoringRulesController.java

@@ -1,25 +1,16 @@
 package com.css.simulation.resource.scene.ctrl;
 
 import api.common.pojo.common.ResponseBodyVO;
-import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.ScoringRulesParam;
 import api.common.pojo.po.scene.ScoringRulesPO;
 import api.common.pojo.vo.scene.ScoringRulesVO;
-import api.common.util.FileUtil;
+import api.common.util.ObjectUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
-import com.css.simulation.resource.feign.FileDownService;
 import com.css.simulation.resource.scene.service.ScoringRulesService;
 import com.github.pagehelper.PageInfo;
-import feign.Response;
 import org.springframework.beans.BeanUtils;
-import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -54,26 +45,60 @@ public class ScoringRulesController {
     @PostMapping("/queryScoringRules")
     @ResponseBody
     public ResponseBodyVO<List<ScoringRulesPO>> queryScoringRules(@RequestBody ScoringRulesParam parms)  {
+        if(ObjectUtil.isNull(parms.getRulesId())){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"参数RulesId不能为空,请检查");
+        }
         ScoringRulesPO po=scoringRulesService.queryScoringRules(parms);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,po);
+
     }
 
+    //查唯一
+    @PostMapping("/queryScoringRulesCount")
+    @ResponseBody
+    public ResponseBodyVO<Integer> queryScoringRulesCount(@RequestBody ScoringRulesParam parms)  {
+        if(ObjectUtil.isNull(parms.getRuleName())){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"参数RulesName不能为空,请检查");
+        }
+        Integer po=scoringRulesService.queryScoringRulesCount(parms);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,po);
+
+    }
     //新增打分规则
     @PostMapping("/saveScoringRules")
     @ResponseBody
     public ResponseBodyVO<String> saveScoringRules(@RequestBody ScoringRulesPO parms) {
-        scoringRulesService.saveScoringRules(parms);
+        if(ObjectUtil.isNull(parms.getRulesId())){
+            scoringRulesService.saveScoringRules(parms);
+        }else{
+            scoringRulesService.updateScoringRules(parms);
+        }
+
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
 
-    //修改打分规则
-    @PostMapping("/updateScoringRules")
+    //分享
+    @PostMapping("/fxScoringRules")
+    @ResponseBody
+    public ResponseBodyVO<String> fxScoringRules(@RequestBody ScoringRulesParam params)  {
+        if(ObjectUtil.isNull(params.getRulesId())){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"参数RulesId不能为空,请检查");
+        }
+        ScoringRulesPO po=scoringRulesService.queryScoringRules(params);
+        po.setShare("1");
+        scoringRulesService.saveScoringRules(po);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+    }
+
+    //删除
+    @PostMapping("/deleteScoringRules")
     @ResponseBody
-    public ResponseBodyVO<String> updateScoringRules(@RequestBody ScoringRulesPO params)  {
-       scoringRulesService.updateScoringRules(params);
+    public ResponseBodyVO<String> deleteScoringRules(@RequestBody ScoringRulesPO params)  {
+        scoringRulesService.deleteScoringRules(params);
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 
+/*
 
     @Resource
     private FileDownService fileDownService;
@@ -96,5 +121,6 @@ public class ScoringRulesController {
         InputStream inputStream = body.asInputStream();
         FileUtil.downloadForHttp(parms.getObjectName(), inputStream, response, 1024);
     }
+*/
 
 }

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

@@ -16,6 +16,7 @@ public interface ScenePackageMapper {
 
    void saveScenePackage(ScenePackagePO params);
    void updateScenePackage(ScenePackagePO params);
+   void deleteScenePackage(ScenePackagePO params);
    //查询详情
    ScenePackagePO queryScenePackage(ScenePackageParam params);
 

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

@@ -15,6 +15,7 @@ public interface ScenePackageSublistMapper {
    void saveScenePackageSublist(ScenePackageSublistPO params);
    void saveScenePackageSublistAll(List<ScenePackageSublistPO> list);
    void updateScenePackageSublist(String  rootId);
+   void deleteScenePackageSublist(String  rootId);
 
    List<ScenePackageSublistVO> queryScenePackageSublistList(ScenePackageSublistPO params);
 

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

@@ -14,9 +14,11 @@ import java.util.List;
 public interface ScoringRulesMapper {
 
    void saveScoringRules(ScoringRulesPO params);
+   int queryScoringRulesCount(ScoringRulesParam params);
 
    List<ScoringRulesPO> queryScoringRulesList(ScoringRulesParam params);
    ScoringRulesPO queryScoringRules(ScoringRulesParam params);
    void updateScoringRules(ScoringRulesPO params);
+   void deleteScoringRules(ScoringRulesPO params);
 
 }

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

@@ -34,14 +34,13 @@ public class SceneAccidentService {
      * 获取交通事故场景数据:
      */
     @SneakyThrows
-    public void importJtSgCS(SceneAccidentParam param) {
+    public void importJtSg(SceneAccidentParam param) {
 
         String fileName = null;
         try {
             MinioParameter MI=new MinioParameter();
             MI.setObjectName(param.getJsonAddress());
             Response download = fileDownService.download(MI);
-            Response.Body body = download.body();
                 // -------------------------------- label.json --------------------------------
                 String json = download.body().toString();;
                     ObjectMapper objMap = new ObjectMapper();
@@ -78,6 +77,9 @@ public class SceneAccidentService {
                     if(null!=param.getVideoAddress()&&!param.getVideoAddress().equals("")){
                         sceneAccidentPO.setVideoAddress(param.getVideoAddress());
                     }
+                    if(null!=param.getVideoPreview()&&!param.getVideoPreview().equals("")){
+                        sceneAccidentPO.setVideoPreview(param.getVideoPreview());
+                    }
 
                     SceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
 
@@ -93,7 +95,7 @@ public class SceneAccidentService {
 
     /**
      * 获取交通事故场景数据:
-     */
+     *//*
     @SneakyThrows
     public void importJtSg(SceneAccidentParam param) {
         //1 获取所有目录下所有场景
@@ -165,7 +167,7 @@ public class SceneAccidentService {
 
 
     }
-
+*/
 
     public   List<SceneAccidentPO> querySceneAccidentList(SceneAccidentParam params) {
         List<SceneAccidentPO> list = SceneAccidentMapper.querySceneAccidentList(params);

+ 53 - 34
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java

@@ -1,14 +1,20 @@
 package com.css.simulation.resource.scene.service;
 
+import api.common.pojo.param.MinioParameter;
+import api.common.pojo.param.scene.SceneNaturalNewParam;
 import api.common.pojo.param.scene.SceneNaturalParam;
 import api.common.pojo.po.scene.SceneNaturalPO;
 import api.common.util.FileUtil;
+import api.common.util.ObjectUtil;
+import api.common.util.ParamUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
+import com.css.simulation.resource.feign.FileDownService;
 import com.css.simulation.resource.scene.mapper.SceneNaturalMapper;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.pagehelper.util.StringUtil;
+import feign.Response;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -28,35 +34,20 @@ public class SceneNaturalService {
     private SceneNaturalMapper sceneNaturalMapper;
 
 
-
+    @Resource
+    private FileDownService fileDownService;
     /**
      * 获取自然驾驶场景数据:包括切分数据和标注数据
      */
     @SneakyThrows
     public void importZrjsSceneCicv(SceneNaturalParam param) {
-        //1 获取所有目录下所有场景
-     //  String dataUrl0 ="C:\\Users\\CSS\\Desktop\\GQ\\仿真云平台\\场景数据样例\\测试\\2021-08-06-08-40-47_2";     // 场景数据根路径
-       String dataUrl0 = param.getPath();
-
-        File[] scenes = FileUtil.getDirectory(dataUrl0).listFiles();
-        if (scenes == null) {
-            throw new RuntimeException("目录:" + dataUrl0 + " 下没有文件!");
-        }
-
-        String fileName = null;
-        try {
-
-            for (File scene : scenes) {
-                String dataUrl = scene.getAbsolutePath();
-                if(dataUrl.indexOf(".json")!=-1){
-                    //获取文件名
-                    File tempFile =new File( dataUrl.trim());
-                    fileName = tempFile.getName();
-                    fileName=  fileName.substring(0,fileName.lastIndexOf("."));
-                // -------------------------------- 读取结构化数据文件 --------------------------------
-                List<String> exceptionList = new ArrayList<>();     // 异常列表
-                // -------------------------------- label.json --------------------------------
-                String json = FileUtil.readFile(dataUrl);
+        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);
+        Response download = fileDownService.download(MI);
+                String json =download.body().toString();
                     ObjectMapper objMap = new ObjectMapper();
                     JsonNode root = objMap.readTree(json);
                 // -------------------------------- 自然环境 --------------------------------
@@ -134,17 +125,12 @@ public class SceneNaturalService {
                     if(null!=param.getVideoAddress()&&!param.getVideoAddress().equals("")){
                         sceneNaturalPO.setVideoAddress(param.getVideoAddress());
                     }
+                    if(null!=param.getVideoPreview()&&!param.getVideoPreview().equals("")){
+                        sceneNaturalPO.setVideoPreview(param.getVideoPreview());
+                    }
 
                     sceneNaturalMapper.saveSceneNatural(sceneNaturalPO);
 
-            }
-
-            }
-        } catch (Exception e) {
-            log.error("场景" + fileName + " 解析出错:", e);
-        }
-
-
     }
 
     public String getSequenceNew(JsonNode jsonObject, String field) throws Exception {
@@ -193,8 +179,41 @@ public class SceneNaturalService {
         else
             return s;
     }
-    public   List<SceneNaturalPO> querySceneNaturalList(SceneNaturalParam params) {
-        List<SceneNaturalPO> list = sceneNaturalMapper.querySceneNaturalList(params);
+    public   List<SceneNaturalPO> querySceneNaturalList(SceneNaturalNewParam params) {
+        SceneNaturalParam  po=new SceneNaturalParam();
+         String naturalName=params.getNaturalName();      // 场景编号
+      String[][] naturalEnvironment=params.getNaturalEnvironment() ; //自然环境
+         String[][] road =params.getRoad(); //道路
+         String[][] infrastructure =params.getInfrastructure(); //基础设施
+       String[][] temporaryOperation =params.getTemporaryOperation(); //临时性操作
+        String[][] trafficCondition =params.getTrafficCondition(); //交通状况
+         String[][] selfBehavior =params.getSelfBehavior() ;//自车行为
+        String[][] targetBehavior =params.getTargetBehavior(); //目标行为
+        if(ObjectUtil.isNotNull(naturalName))   {
+            po.setNaturalName(naturalName);
+        }
+      if(naturalEnvironment!=null&&naturalEnvironment.length>0)   {
+            ParamUtil.arrConvertObj(naturalEnvironment, po);
+        }
+        if(road!=null&&road.length>0)   {
+            ParamUtil.arrConvertObj(road, po);
+        }
+        if(infrastructure!=null&&infrastructure.length>0)   {
+            ParamUtil.arrConvertObj(infrastructure, po);
+        }
+        if(temporaryOperation!=null&&temporaryOperation.length>0)   {
+            ParamUtil.arrConvertObj(temporaryOperation, po);
+        }
+        if(trafficCondition!=null&&trafficCondition.length>0)   {
+            ParamUtil.arrConvertObj(trafficCondition, po);
+        }
+        if(selfBehavior!=null&&selfBehavior.length>0)   {
+            ParamUtil.arrConvertObj(selfBehavior, po);
+        }
+        if(targetBehavior!=null&&targetBehavior.length>0)   {
+            ParamUtil.arrConvertObj(targetBehavior, po);
+        }
+        List<SceneNaturalPO> list = sceneNaturalMapper.querySceneNaturalList(po);
         return list;
     }
 }

+ 14 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScoringRulesService.java

@@ -36,6 +36,9 @@ public class ScoringRulesService {
     }
     @SneakyThrows
     public   List<ScoringRulesPO> queryScoringRulesList(ScoringRulesParam params){
+        if(params!=null &&params.getShare()!=null&&params.getShare().equals("0")){
+            params.setCreateUserId(AuthUtil.getCurrentUserId());
+        }
         List<ScoringRulesPO> list = scoringRulesMapper.queryScoringRulesList(params);
         return list;
     }
@@ -45,9 +48,20 @@ public class ScoringRulesService {
         return Po;
     }
     @SneakyThrows
+    public   int queryScoringRulesCount(ScoringRulesParam params) {
+        return scoringRulesMapper.queryScoringRulesCount(params);
+    }
+    @SneakyThrows
     public   void updateScoringRules(ScoringRulesPO params) {
         params.setModifyTime(TimeUtil.getNowForMysql());
         params.setModifyUserId(AuthUtil.getCurrentUserId());
          scoringRulesMapper.updateScoringRules(params);
     }
+    @SneakyThrows
+    public   void deleteScoringRules(ScoringRulesPO params) {
+        params.setIsDeleted("1");
+        params.setModifyTime(TimeUtil.getNowForMysql());
+        params.setModifyUserId(AuthUtil.getCurrentUserId());
+        scoringRulesMapper.updateScoringRules(params);
+    }
 }

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

@@ -1,14 +1,17 @@
 package com.css.simulation.resource.scene.service;
 
+import api.common.pojo.param.MinioParameter;
 import api.common.pojo.param.scene.StandardsRegulationsParam;
 import api.common.pojo.po.scene.StandardsRegulationsPO;
 import api.common.util.FileUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
+import com.css.simulation.resource.feign.FileDownService;
 import com.css.simulation.resource.scene.mapper.StandardsRegulationsMapper;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import feign.Response;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -25,35 +28,19 @@ public class StandardsRegulationsService {
     @Resource
     private StandardsRegulationsMapper standardsRegulationsMapper;
 
-
+    @Resource
+    private FileDownService fileDownService;
 
     /**
      * 获取标准法规场景数据:
      */
     @SneakyThrows
     public void importBzFg(StandardsRegulationsParam param) {
-        //1 获取所有目录下所有场景
-     //  String dataUrl0 ="C:\\Users\\CSS\\Desktop\\GQ\\仿真云平台\\场景数据样例\\标准法规场景\\ENCAP_001_left25%_stop30";     // 场景数据根路径
-        String dataUrl0=param.getPath();
-        File[] scenes = FileUtil.getDirectory(dataUrl0).listFiles();
-        if (scenes == null) {
-            throw new RuntimeException("目录:" + dataUrl0 + " 下没有文件!");
-        }
-
-        String fileName = null;
-        try {
 
-            for (File scene : scenes) {
-                String dataUrl = scene.getAbsolutePath();
-                if(dataUrl.indexOf(".json")!=-1){
-                    //获取文件名
-                    File tempFile =new File( dataUrl.trim());
-                    fileName = tempFile.getName();
-                    fileName=  fileName.substring(0,fileName.lastIndexOf("."));
-                // -------------------------------- 读取结构化数据文件 --------------------------------
-                List<String> exceptionList = new ArrayList<>();     // 异常列表
-                // -------------------------------- label.json --------------------------------
-                String json = FileUtil.readFile(dataUrl);
+                    MinioParameter MI=new MinioParameter();
+                    MI.setObjectName(param.getJsonAddress());
+                    Response download = fileDownService.download(MI);
+                    String json =download.body().toString();
                     ObjectMapper objMap = new ObjectMapper();
                     JsonNode root = objMap.readTree(json);
 
@@ -84,15 +71,11 @@ public class StandardsRegulationsService {
                     if(null!=param.getVideoAddress()&&!param.getVideoAddress().equals("")){
                         standardsRegulationsPO.setVideoAddress(param.getVideoAddress());
                     }
+                    if(null!=param.getVideoPreview()&&!param.getVideoPreview().equals("")){
+                        standardsRegulationsPO.setVideoPreview(param.getVideoPreview());
+                    }
                     standardsRegulationsMapper.saveStandardsRegulations(standardsRegulationsPO);
 
-            }
-
-            }
-        } catch (Exception e) {
-            log.error("标准法规场景" + fileName + " 解析出错:", e);
-        }
-
 
     }
 //查看列表

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

@@ -7,23 +7,23 @@
         (accident_id,scene_name,self_driving,target_driving,
         self_reaction,conflict_behavior,conflict_type,
        create_user_id,create_time,modify_user_id,modify_time,
-         is_deleted,share,video_address,osgb_address,xml_address,xodr_address,
+         is_deleted,share,video_preview,video_address,osgb_address,xml_address,xodr_address,
         json_address)
         values (#{accidentId,jdbcType=VARCHAR},#{sceneName,jdbcType=VARCHAR},#{selfDriving,jdbcType=VARCHAR}, #{targetDriving,jdbcType=VARCHAR},
         #{selfReaction,jdbcType=VARCHAR}, #{conflictBehavior,jdbcType=VARCHAR},#{conflictType,jdbcType=VARCHAR},
 
        #{createUserId,jdbcType=VARCHAR},#{createTime},#{modifyUserId,jdbcType=VARCHAR},#{modifyTime},
-        #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR},#{videoAddress,jdbcType=VARCHAR},#{osgbAddress,jdbcType=VARCHAR},
+        #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR},#{videoPreview,jdbcType=VARCHAR},#{videoAddress,jdbcType=VARCHAR},#{osgbAddress,jdbcType=VARCHAR},
         #{xmlAddress,jdbcType=VARCHAR}, #{xodrAddress,jdbcType=VARCHAR},#{jsonAddress,jdbcType=VARCHAR})
     </insert>
 
 
-    <select id="querySceneAccidentList" parameterType="api.common.pojo.param.scene.SceneAccidentParam" resultType="api.common.pojo.po.scene.SceneNaturalPO">
+    <select id="querySceneAccidentList" parameterType="api.common.pojo.param.scene.SceneAccidentParam" resultType="api.common.pojo.po.scene.SceneAccidentPO">
         select
         accident_id,scene_name,self_driving,target_driving,
         self_reaction,conflict_behavior,conflict_type,
         create_user_id,create_time,modify_user_id,modify_time,
-        is_deleted,share,video_address,osgb_address,xml_address,xodr_address,
+        is_deleted,share,video_address,video_preview,osgb_address,xml_address,xodr_address,
         json_address
         from simulation.scene_accident
         <where>
@@ -32,35 +32,35 @@
                 and scene_name like CONCAT('%',#{sceneName,jdbcType=VARCHAR},'%')
             </if>
 
-            <if test="selfDriving != null and selfDriving != ''">
+            <if test="selfDriving != null and selfDriving.length != 0 ">
             and   self_driving  in
             <foreach collection="selfDriving" item="item" index="index"
                      separator="," open="(" close=")">
                 #{item}
             </foreach>
             </if>
-            <if test="targetDriving != null and targetDriving != ''">
+            <if test="targetDriving != null and targetDriving.length != 0">
                and   target_driving  in
                 <foreach collection="targetDriving" item="item" index="index"
                          separator="," open="(" close=")">
                     #{item}
                 </foreach>
             </if>
-            <if test="selfReaction != null and selfReaction != ''">
+            <if test="selfReaction != null and selfReaction.length != 0">
                 and  self_reaction  in
                 <foreach collection="selfReaction" item="item" index="index"
                          separator="," open="(" close=")">
                     #{item}
                 </foreach>
             </if>
-            <if test="conflictBehavior != null and conflictBehavior != ''">
+            <if test="conflictBehavior != null and conflictBehavior.length != 0">
                 and   conflict_behavior  in
                 <foreach collection="conflictBehavior" item="item" index="index"
                          separator="," open="(" close=")">
                     #{item}
                 </foreach>
             </if>
-            <if test="conflictType != null and conflictType != ''">
+            <if test="conflictType != null and conflictType.length != 0">
                 and   conflict_type  in
                 <foreach collection="conflictType" item="item" index="index"
                          separator="," open="(" close=")">

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

@@ -14,7 +14,7 @@
         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_address,osgb_address,xodr_address,xosc_address,
+         is_deleted,share,video_preview,video_address,osgb_address,xodr_address,xosc_address,
         json_address)
         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},
@@ -28,7 +28,7 @@
 
         #{targetBehavior,jdbcType=VARCHAR}, #{createUserId,jdbcType=VARCHAR},#{createTime},#{modifyUserId,jdbcType=VARCHAR},#{modifyTime},
 
-        #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR},#{videoAddress,jdbcType=VARCHAR},#{osgbAddress,jdbcType=VARCHAR},
+        #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR},#{videoPreview,jdbcType=VARCHAR},#{videoAddress,jdbcType=VARCHAR},#{osgbAddress,jdbcType=VARCHAR},
         #{xodrAddress,jdbcType=VARCHAR}, #{xoscAddress,jdbcType=VARCHAR},#{jsonAddress,jdbcType=VARCHAR})
     </insert>
 
@@ -44,7 +44,7 @@
         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_address,osgb_address,
-        xodr_address,xosc_address,json_address
+        xodr_address,xosc_address,json_address,video_preview
         from simulation.scene_natural
         <where>
             is_deleted = '0'

+ 16 - 0
simulation-resource-server/src/main/resources/mapper/scene/ScenePackageMapper.xml

@@ -105,4 +105,20 @@
         </set>
         where package_id = #{packageId,jdbcType=VARCHAR}
     </update>
+
+    <update id="deleteScenePackage" parameterType="api.common.pojo.po.scene.ScenePackagePO">
+        update simulation.scene_package
+        <set>
+            <if test="isDeleted != null and isDeleted!=''">
+                is_deleted = #{isDeleted,jdbcType=VARCHAR},
+            </if>
+            <if test="modifyUserId != null and modifyUserId!=''">
+                modify_user_id = #{modifyUserId},
+            </if>
+            <if test="modifyTime != null ">
+                modify_time = #{modifyTime},
+            </if>
+        </set>
+        where package_id = #{packageId,jdbcType=VARCHAR}
+    </update>
 </mapper>

+ 34 - 2
simulation-resource-server/src/main/resources/mapper/scene/ScoringRulesMapper.xml

@@ -34,8 +34,12 @@
                 and rule_description like  CONCAT('%',#{ruleDescription},'%')
             </if>
             <if test="yearMax != null and yearMax != ''">
-                and #{yearMax,jdbcType=VARCHAR} <![CDATA[ >= ]]> CREATE_TIME and #{yearMin,jdbcType=VARCHAR}  <![CDATA[ <= ]]> CREATE_TIME
+                and #{yearMax,jdbcType=VARCHAR} &gt; create_time and #{yearMin,jdbcType=VARCHAR} &lt; create_time
             </if>
+            <if test="createUserId != null and createUserId != ''">
+                and create_user_id=#{createUserId,jdbcType=VARCHAR}
+            </if>
+
             order by create_time desc
         </where>
     </select>
@@ -53,7 +57,15 @@
             <if test="ruleName != null and ruleName != ''">
                 and rule_name like CONCAT('%',#{ruleName,jdbcType=VARCHAR},'%')
             </if>
-            order by create_time desc
+        </where>
+    </select>
+
+    <select id="queryScoringRulesCount" parameterType="api.common.pojo.param.scene.ScoringRulesParam" resultType="java.lang.Integer">
+        select  count(rules_id)
+        from simulation.scoring_rules
+        <where>
+            is_deleted = '0'
+                and rule_name = #{ruleName,jdbcType=VARCHAR}
         </where>
     </select>
 
@@ -85,5 +97,25 @@
 
         </set>
         where rules_id = #{rulesId,jdbcType=VARCHAR}
+
+
+    </update>
+
+    <update id="deleteScoringRules" parameterType="api.common.pojo.po.scene.ScoringRulesPO">
+        update simulation.scoring_rules
+        <set>
+            <if test="isDeleted != null and isDeleted!=''">
+                is_deleted = #{isDeleted,jdbcType=VARCHAR},
+            </if>
+            <if test="modifyUserId != null and modifyUserId!=''">
+                modify_user_id = #{modifyUserId,jdbcType=VARCHAR},
+            </if>
+            <if test="modifyTime != null">
+                modify_time = #{modifyTime},
+            </if>
+
+        </set>
+        where rules_id = #{rulesId,jdbcType=VARCHAR}
+
     </update>
 </mapper>

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

@@ -7,12 +7,12 @@
         insert into simulation.scene_standards_regulations
         (regulations_id,scene_name,regulation_type,standard_type,
        create_user_id,create_time,modify_user_id,modify_time,
-         is_deleted,share,video_address,osgb_address,xml_address,xodr_address,
+         is_deleted,share,video_preview,video_address,osgb_address,xml_address,xodr_address,
         json_address)
         values (#{regulationsId,jdbcType=VARCHAR},#{sceneName,jdbcType=VARCHAR},#{regulationType,jdbcType=VARCHAR}, #{standardType,jdbcType=VARCHAR},
 
        #{createUserId,jdbcType=VARCHAR},#{createTime},#{modifyUserId,jdbcType=VARCHAR},#{modifyTime},
-        #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR},#{videoAddress,jdbcType=VARCHAR},#{osgbAddress,jdbcType=VARCHAR},
+        #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR},#{videoPreview,jdbcType=VARCHAR},#{videoAddress,jdbcType=VARCHAR},#{osgbAddress,jdbcType=VARCHAR},
         #{xmlAddress,jdbcType=VARCHAR}, #{xodrAddress,jdbcType=VARCHAR},#{jsonAddress,jdbcType=VARCHAR})
     </insert>
 
@@ -22,7 +22,7 @@
         regulations_id,scene_name,regulation_type,standard_type,
         create_user_id,create_time,modify_user_id,
         modify_time,is_deleted,share,video_address,osgb_address,
-        xml_address,xodr_address,json_address
+        xml_address,xodr_address,json_address,video_preview
         from simulation.scene_standards_regulations
         <where>
             is_deleted = '0'
@@ -30,7 +30,7 @@
                 and scene_name like CONCAT('%',#{sceneName,jdbcType=VARCHAR},'%')
             </if>
 
-            <if test="regulationType != null and regulationType != ''">
+            <if test="regulationType != null and regulationType.length != 0">
             and  regulation_type  in
             <foreach collection="regulationType" item="item" index="index"
                      separator="," open="(" close=")">