Bläddra i källkod

场景库模块代码

wangzhiqiang 3 år sedan
förälder
incheckning
58a98ad2e6
18 ändrade filer med 343 tillägg och 76 borttagningar
  1. 1 1
      api-common/src/main/java/api/common/pojo/common/PageVO.java
  2. 30 0
      api-common/src/main/java/api/common/pojo/param/scene/ScenePackageNewParam.java
  3. 0 2
      api-common/src/main/java/api/common/pojo/param/scene/ScenePackageParam.java
  4. 38 0
      api-common/src/main/java/api/common/pojo/param/scene/ScenePackageSublistParam.java
  5. 27 0
      api-common/src/main/java/api/common/pojo/vo/scene/ScenePackageNewVO.java
  6. 7 2
      api-common/src/main/java/api/common/pojo/vo/scene/ScenePackageSublistVO.java
  7. 2 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/feign/FileDownService.java
  8. 22 7
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/FileController.java
  9. 32 13
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScenePackageController.java
  10. 7 0
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScoringRulesController.java
  11. 2 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/ScenePackageMapper.java
  12. 3 2
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/ScenePackageSublistMapper.java
  13. 19 1
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java
  14. 113 20
      simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java
  15. 5 1
      simulation-resource-server/src/main/resources/bootstrap.yaml
  16. 2 2
      simulation-resource-server/src/main/resources/mapper/scene/ScenePackageMapper.xml
  17. 23 21
      simulation-resource-server/src/main/resources/mapper/scene/ScenePackageSublistMapper.xml
  18. 10 1
      simulation-resource-server/src/main/resources/mapper/scene/ScoringRulesMapper.xml

+ 1 - 1
api-common/src/main/java/api/common/pojo/common/PageVO.java

@@ -12,6 +12,6 @@ public class PageVO {
     @JsonInclude(JsonInclude.Include.NON_NULL)
     private Integer currentPage=1;
     @JsonInclude(JsonInclude.Include.NON_NULL)
-    private Integer pageSize=3;
+    private Integer pageSize=10;
 
 }

+ 30 - 0
api-common/src/main/java/api/common/pojo/param/scene/ScenePackageNewParam.java

@@ -0,0 +1,30 @@
+package api.common.pojo.param.scene;
+
+import api.common.pojo.common.PageVO;
+import api.common.pojo.vo.scene.ScenePackageSublistVO;
+import lombok.*;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 测试场景包
+ */
+@EqualsAndHashCode()
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ScenePackageNewParam extends PageVO implements Serializable {
+
+    private String packageId  ;//主键Id
+    private String packageName ; //指标名称
+    private String weight;//权重
+    private String rulesName ; //规则名称
+    private String packageAndRules;//关联打分规则Id
+    private Integer sceneNum;//场景数量
+    private String remarks;//备注
+    private String share ; //是否分析  1为分享
+    private List<ScenePackageSublistVO> list;  //指标集合
+
+}

+ 0 - 2
api-common/src/main/java/api/common/pojo/param/scene/ScenePackageParam.java

@@ -20,6 +20,4 @@ public class ScenePackageParam extends PageVO implements Serializable {
     private String share ; //是否分析  1为分享
     public String yearMax;//结束时间
     public String yearMin;//开始时间
-
-
 }

+ 38 - 0
api-common/src/main/java/api/common/pojo/param/scene/ScenePackageSublistParam.java

@@ -0,0 +1,38 @@
+package api.common.pojo.param.scene;
+
+import lombok.*;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+import java.util.List;
+
+/**
+ * 测试场景包
+ */
+@EqualsAndHashCode()
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ScenePackageSublistParam implements Serializable {
+
+    private String sublistId  ;//主键Id
+    private String sublistName ; //指标名称
+    private String weight;//权重
+    private String ruleName ; //规则名称
+    private String packageAndRules;//关联打分规则Id
+    private String sceneNaturalIds;//关联自然场景ids
+    private String sceneTrafficIds;//关联交通事故场景ids
+    private String sceneStatueIds;//关联标准法规ids
+    private String sceneGeneralizationIds;//关联泛化场景ids
+    private Integer sceneNum;//场景数量
+    private String parentId;//父节点id
+    private String rootId;//根id
+    private int seq;//在当前层级下的顺序,由小到大
+    private int packageLevel;//级别
+    private String remarks;//备注
+    private String share ; //是否分析  1为分享
+    private List<ScenePackageSublistParam> list;
+
+
+}

+ 27 - 0
api-common/src/main/java/api/common/pojo/vo/scene/ScenePackageNewVO.java

@@ -0,0 +1,27 @@
+package api.common.pojo.vo.scene;
+
+import api.common.pojo.common.PageVO;
+import lombok.*;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+import java.util.List;
+
+/**
+ * 测试场景包
+ */
+@EqualsAndHashCode()
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ScenePackageNewVO  implements Serializable {
+
+    private String packageId  ;//主键Id
+    private String packageName ; //指标名称
+    private String weight;//权重
+    private Integer sceneNum;//场景数量
+    private String remarks;//备注
+    private List<ScenePackageSublistVO> list;
+
+}

+ 7 - 2
api-common/src/main/java/api/common/pojo/vo/scene/ScenePackageSublistVO.java

@@ -18,13 +18,18 @@ public class ScenePackageSublistVO implements Serializable {
     private String sublistId  ;//主键Id
     private String sublistName ; //指标名称
     private String weight;//权重
-    private String ruleName ; //规则名称
+    private String ruleName;//打分规则名称
+    private String packageAndRules;//关联打分规则Id
+    private String sceneNaturalIds;//关联自然场景ids
+    private String sceneTrafficIds;//关联交通事故场景ids
+    private String sceneStatueIds;//关联标准法规ids
+    private String sceneGeneralizationIds;//关联泛化场景ids
     private Integer sceneNum;//场景数量
     private String parentId;//父节点id
     private String rootId;//根id
     private int packageLevel;//级别
     private String remarks;//备注
     private int seq;//在当前层级下的顺序,由小到大
+    private boolean hasChildren;
     private List<ScenePackageSublistVO>  list;
-
 }

+ 2 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/FileDownService.java

@@ -3,7 +3,7 @@ package com.css.simulation.resource.feign;
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.MinioParameter;
 import com.css.simulation.resource.common.config.FeignConfiguration;
-import com.css.simulation.resource.feign.fallback.RedisServiceFallback;
+import com.css.simulation.resource.feign.fallback.FileDownServiceFallback;
 import feign.Response;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
@@ -20,7 +20,7 @@ import org.springframework.web.multipart.MultipartFile;
         contextId = "file",
         value = "simulation-resource-common",
         path = "/simulation/resource/common",
-        fallback = RedisServiceFallback.class,
+        fallback = FileDownServiceFallback.class,
         configuration = FeignConfiguration.class
 )
 public interface FileDownService {

+ 22 - 7
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/FileController.java

@@ -31,23 +31,23 @@ public class FileController {
 
     @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
     public ResponseBodyVO<Map> upload(@RequestPart("file") MultipartFile file,
-                                         @RequestParam("type") String type) {
+                      @RequestParam("type") String type,@RequestParam("objectPath") String objectPath) {
         String fileName="";
         if(type.equals(DictConstants.SCENE_NATURAL)){
-            fileName="自然驾驶/"+file.getOriginalFilename();
+            fileName="自然驾驶/"+objectPath+"/"+file.getOriginalFilename();
         }else if(type.equals(DictConstants.SCENE_STANDARD)){
-            fileName="标准法规/"+file.getOriginalFilename();
+            fileName="标准法规/"+objectPath+"/"+file.getOriginalFilename();
         }else if(type.equals(DictConstants.SCENE_ACCIDENT)){
-            fileName="交通事故/"+file.getOriginalFilename();
+            fileName="交通事故/"+objectPath+"/"+file.getOriginalFilename();
         }else if(type.equals(DictConstants.SCENE_GENERAL)){
-            fileName="泛化场景/"+file.getOriginalFilename();
+            fileName="泛化场景/"+objectPath+"/"+file.getOriginalFilename();
         }else{
             fileName=file.getOriginalFilename();
         }
        log.info("上传文件名称--------"+file.getOriginalFilename());
 
         ResponseBodyVO<String> respon=fileDownService.upload(file,fileName);
-          String videoPreview=  respon.getInfo();
+          String videoPreview=  respon.getMessage();
              Map map=new HashMap();
              map.put("videoPreview",videoPreview);
               map.put("fileName",fileName);
@@ -55,7 +55,22 @@ public class FileController {
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,map);
     }
 
-@PostMapping(value = "/download")
+
+    @PostMapping(value = "/uploadNew", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    public ResponseBodyVO<Map> upload(@RequestPart("file") MultipartFile file) {
+        log.info("上传文件名称--------"+file.getOriginalFilename());
+        String fileName=file.getOriginalFilename();
+        ResponseBodyVO<String> respon=fileDownService.upload(file,fileName);
+        String videoPreview=  respon.getMessage();
+        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 {

+ 32 - 13
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/ctrl/ScenePackageController.java

@@ -1,10 +1,13 @@
 package com.css.simulation.resource.scene.ctrl;
 
 import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.param.scene.ScenePackageNewParam;
 import api.common.pojo.param.scene.ScenePackageParam;
 import api.common.pojo.po.scene.ScenePackagePO;
-import api.common.pojo.vo.scene.ScenePackageSublistVO;
+import api.common.pojo.po.scene.ScenePackageSublistPO;
+import api.common.pojo.vo.scene.ScenePackageNewVO;
 import api.common.pojo.vo.scene.ScenePackageVO;
+import api.common.util.ObjectUtil;
 import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.scene.service.ScenePackageService;
 import com.github.pagehelper.PageInfo;
@@ -41,19 +44,11 @@ public class ScenePackageController {
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,pageInfo);
     }
 
-    //查询测试包详情
-    @PostMapping("/queryScenePackage")
-    @ResponseBody
-    public ResponseBodyVO<ScenePackageVO> queryScenePackage(@RequestBody ScenePackageParam parms) {
-       ScenePackagePO po=scenePackageService.queryScenePackage(parms);
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,po);
-    }
-
 
     //新增打分规则
     @PostMapping("/saveScenePackage")
     @ResponseBody
-    public ResponseBodyVO<String> saveScoringRules(@RequestBody ScenePackagePO parms) {
+    public ResponseBodyVO<String> saveScoringRules(@RequestBody ScenePackageNewParam parms) {
         scenePackageService.saveScenePackage(parms);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }
@@ -61,7 +56,7 @@ public class ScenePackageController {
     //修改打分规则
     @PostMapping("/updateScenePackage")
     @ResponseBody
-    public ResponseBodyVO<String> updateScenePackage(@RequestBody ScenePackagePO params)  {
+    public ResponseBodyVO<String> updateScenePackage(@RequestBody ScenePackageNewParam params)  {
         scenePackageService.updateScenePackage(params);
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
@@ -69,11 +64,35 @@ public class ScenePackageController {
     //查询一个测试包列表
     @PostMapping("/queryScenePackageSublistList")
     @ResponseBody
-    public ResponseBodyVO<ScenePackageSublistVO> queryScenePackageSublistList(@RequestBody ScenePackageParam parms) {
-        ScenePackageSublistVO po=  scenePackageService.queryScenePackageSublistList(parms);
+    public ResponseBodyVO<ScenePackageNewVO> queryScenePackageSublistList(@RequestBody ScenePackageParam parms) {
+        if(ObjectUtil.isNull(parms.getPackageId())){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"参数PackageId不能为空,请检查");
+        }
+        ScenePackageNewVO po=  scenePackageService.queryScenePackageSublistList(parms);
 
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,po);
     }
 
 
+    //测试包分享
+    @PostMapping("/instShareList")
+    @ResponseBody
+    public ResponseBodyVO<String> instShareList(@RequestBody ScenePackageParam parms) {
+        if(ObjectUtil.isNull(parms.getPackageId())){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"参数PackageId不能为空,请检查");
+        }
+         scenePackageService.instShareList(parms);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+    }
+    //测试包删除
+    @PostMapping("/deleteList")
+    @ResponseBody
+    public ResponseBodyVO<String> deleteList(@RequestBody ScenePackageParam parms) {
+        if(ObjectUtil.isNull(parms.getPackageId())){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"参数PackageId不能为空,请检查");
+        }
+        scenePackageService.deleteList(parms);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
+    }
+
 }

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

@@ -69,6 +69,13 @@ public class ScoringRulesController {
     @ResponseBody
     public ResponseBodyVO<String> saveScoringRules(@RequestBody ScoringRulesPO parms) {
         if(ObjectUtil.isNull(parms.getRulesId())){
+            ScoringRulesParam vo=new ScoringRulesParam();
+            BeanUtils.copyProperties(parms,vo);
+            vo.setShare("0");
+            Integer po=scoringRulesService.queryScoringRulesCount(vo);
+            if(po>0){
+                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"规则名称ruleName已存在,请重新命名");
+            }
             scoringRulesService.saveScoringRules(parms);
         }else{
             scoringRulesService.updateScoringRules(parms);

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

@@ -3,6 +3,7 @@ package com.css.simulation.resource.scene.mapper;
 
 import api.common.pojo.param.scene.ScenePackageParam;
 import api.common.pojo.po.scene.ScenePackagePO;
+import api.common.pojo.vo.scene.ScenePackageNewVO;
 import api.common.pojo.vo.scene.ScenePackageSublistVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
@@ -23,6 +24,6 @@ public interface ScenePackageMapper {
    List<ScenePackagePO> queryScenePackageList(ScenePackageParam params);
 
    //单独给查询一个测试包的列表用
-   ScenePackageSublistVO queryScenePackageBySublist(String packageId);
+   ScenePackageNewVO queryScenePackageBySublist(String packageId);
 
 }

+ 3 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/mapper/ScenePackageSublistMapper.java

@@ -3,9 +3,11 @@ package com.css.simulation.resource.scene.mapper;
 import api.common.pojo.po.scene.ScenePackageSublistPO;
 import api.common.pojo.vo.scene.ScenePackageSublistVO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 
 @Mapper
@@ -13,8 +15,7 @@ import java.util.List;
 public interface ScenePackageSublistMapper {
 
    void saveScenePackageSublist(ScenePackageSublistPO params);
-   void saveScenePackageSublistAll(List<ScenePackageSublistPO> list);
-   void updateScenePackageSublist(String  rootId);
+   void saveScenePackageSublistAll(List<ScenePackageSublistPO> treeList);
    void deleteScenePackageSublist(String  rootId);
 
    List<ScenePackageSublistVO> queryScenePackageSublistList(ScenePackageSublistPO params);

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

@@ -22,8 +22,9 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
-
+import java.util.stream.IntStream;
 
 
 @Slf4j
@@ -209,6 +210,23 @@ public class SceneNaturalService {
         }
         if(selfBehavior!=null&&selfBehavior.length>0)   {
             ParamUtil.arrConvertObj(selfBehavior, po);
+            for (String [] arr : selfBehavior) {
+                if(arr != null && arr.length ==1 ){
+                    List list=po.getSelfBehavior();
+                    if(list==null){
+                        List newList=new ArrayList();
+                        newList.add(arr[0]);
+                        po.setSelfBehavior(newList);  ;
+                    }else{
+
+                        list.add(arr[0]);
+                        po.setSelfBehavior(list);  ;
+                    }
+
+
+                }
+            }
+
         }
         if(targetBehavior!=null&&targetBehavior.length>0)   {
             ParamUtil.arrConvertObj(targetBehavior, po);

+ 113 - 20
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java

@@ -1,8 +1,11 @@
 package com.css.simulation.resource.scene.service;
 
+import api.common.pojo.param.scene.ScenePackageNewParam;
 import api.common.pojo.param.scene.ScenePackageParam;
+import api.common.pojo.param.scene.ScenePackageSublistParam;
 import api.common.pojo.po.scene.ScenePackagePO;
 import api.common.pojo.po.scene.ScenePackageSublistPO;
+import api.common.pojo.vo.scene.ScenePackageNewVO;
 import api.common.pojo.vo.scene.ScenePackageSublistVO;
 import api.common.util.StringUtil;
 
@@ -12,10 +15,14 @@ import com.css.simulation.resource.scene.mapper.ScenePackageMapper;
 import com.css.simulation.resource.scene.mapper.ScenePackageSublistMapper;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @Service
@@ -30,16 +37,28 @@ public class ScenePackageService {
 
 
     /**
-     * 测试包数据录入:
+     * 测试包数据录入大保存
      */
     @SneakyThrows
-    public void saveScenePackage(ScenePackagePO params){
-        params.setCreateTime(TimeUtil.getNowForMysql());
-        params.setModifyTime(TimeUtil.getNowForMysql());
-        params.setCreateUserId(AuthUtil.getCurrentUserId());
-        params.setPackageId(StringUtil.getRandomUUID());
-        params.setIsDeleted("0");
-        scenePackageMapper.saveScenePackage(params);
+    public void saveScenePackage(ScenePackageNewParam params){
+        ScenePackagePO po=new ScenePackagePO();
+        BeanUtils.copyProperties(params,po);
+        /*po.setPackageName(params.getPackageName());
+        po.setWeight(params.getWeight());
+        po.setShare(params.getShare());
+        po.setRemarks(params.getRemarks());*/
+        po.setCreateTime(TimeUtil.getNowForMysql());
+        po.setModifyTime(TimeUtil.getNowForMysql());
+        po.setCreateUserId(AuthUtil.getCurrentUserId());
+        String uuId=StringUtil.getRandomUUID();
+        po.setPackageId(uuId);
+        po.setIsDeleted("0");
+        po.setShare("0");
+        scenePackageMapper.saveScenePackage(po);
+        List<ScenePackageSublistVO> list=params.getList();
+        List<ScenePackageSublistPO>  poList=new ArrayList<>();
+        List<ScenePackageSublistPO> treeList =instShareListTree(list,uuId,uuId,poList,"0");
+        scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
     }
     //查询测试包主表列表
     @SneakyThrows
@@ -47,29 +66,46 @@ public class ScenePackageService {
         List<ScenePackagePO> list = scenePackageMapper.queryScenePackageList(params);
         return list;
     }
-    //查询测试包主表一条数据详情
-    @SneakyThrows
-    public   ScenePackagePO queryScenePackage(ScenePackageParam params){
 
-        return  scenePackageMapper.queryScenePackage(params);
-    }
     //修改主表数据
     @SneakyThrows
-    public   void updateScenePackage(ScenePackagePO params) {
-        params.setModifyUserId(StringUtil.getRandomUUID());
-        params.setModifyTime(TimeUtil.getNowForMysql());
-        scenePackageMapper.updateScenePackage(params);
+    public   void updateScenePackage(ScenePackageNewParam params) {
+        ScenePackagePO po=new ScenePackagePO();
+        BeanUtils.copyProperties(params,po);
+        po.setCreateTime(TimeUtil.getNowForMysql());
+        po.setModifyTime(TimeUtil.getNowForMysql());
+        po.setCreateUserId(AuthUtil.getCurrentUserId());
+        po.setIsDeleted("0");
+        po.setShare("0");
+        scenePackageMapper.updateScenePackage(po);
+        scenePackageSublistMapper.deleteScenePackageSublist(params.getPackageId());
+        List<ScenePackageSublistVO> list=params.getList();
+        List<ScenePackageSublistPO>  poList=new ArrayList<>();
+        List<ScenePackageSublistPO> treeList =instShareListTree(list,params.getPackageId(),params.getPackageId(),poList,"0");
+        scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
+    }
+
+    //删除测试包
+    @SneakyThrows
+    public   void deleteList(ScenePackageParam params) {
+        ScenePackagePO po=new ScenePackagePO();
+        po.setModifyUserId(StringUtil.getRandomUUID());
+        po.setModifyTime(TimeUtil.getNowForMysql());
+        po.setIsDeleted("1");
+        po.setPackageId(params.getPackageId());
+        scenePackageSublistMapper.deleteScenePackageSublist(params.getPackageId());
+        scenePackageMapper.deleteScenePackage(po);
     }
 
     //查询一个测试包的指标列表
     @SneakyThrows
-    public ScenePackageSublistVO queryScenePackageSublistList(ScenePackageParam params){
+    public ScenePackageNewVO queryScenePackageSublistList(ScenePackageParam params){
         ScenePackageSublistPO po=new ScenePackageSublistPO();
         po.setParentId(params.getPackageId());
-        ScenePackageSublistVO vo= scenePackageMapper.queryScenePackageBySublist(params.getPackageId());
+        ScenePackageNewVO vo= scenePackageMapper.queryScenePackageBySublist(params.getPackageId());
         List<ScenePackageSublistVO> list =selectScenePackageSubListTree(null,true,params.getPackageId());
-
         vo.setList(list);
+     //   vo.setList(list);
         return vo;
     }
 
@@ -98,6 +134,7 @@ public class ScenePackageService {
                 if(cvoList != null && cvoList.size() > 0){
                     //存入父节点集合中
                     pvo.setList(cvoList);
+                    pvo.setHasChildren(true);
                     //继续查找下一节点
                     selectScenePackageSubListTree(cvoList,false, null);
                 }
@@ -107,5 +144,61 @@ public class ScenePackageService {
     }
 
 
+//分享
+    @SneakyThrows
+    public void instShareList(ScenePackageParam params){
+        //查询测试包主表
+        ScenePackagePO scenePackagePO=scenePackageMapper.queryScenePackage(params);
+        ScenePackagePO po=new ScenePackagePO();
+        BeanUtils.copyProperties(scenePackagePO,po);
+        po.setCreateTime(TimeUtil.getNowForMysql());
+        po.setModifyTime(TimeUtil.getNowForMysql());
+        po.setCreateUserId(AuthUtil.getCurrentUserId());
+        String uuId=StringUtil.getRandomUUID();
+        po.setPackageId(uuId);
+        po.setIsDeleted("0");
+        po.setShare("1");
+        scenePackageMapper.saveScenePackage(po);
+        List<ScenePackageSublistPO>  poList=new ArrayList<>();
+        List<ScenePackageSublistVO> listSublist =selectScenePackageSubListTree(null,true,params.getPackageId());
+        List<ScenePackageSublistPO> treeList =instShareListTree(listSublist,uuId,uuId,poList,"1");
+       scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
+    }
+    /**
+     * 根据级联结果转化为单级list
+     * @param parentVoList 首次传null
+     * @param scenePackageId 场景包id
+     * @return
+     */
+    public List<ScenePackageSublistPO> instShareListTree(List<ScenePackageSublistVO> parentVoList,
+                                                                    String scenePackageId,String rootId,List<ScenePackageSublistPO>  poList,String share){
+        {
+            //获取子节点集合
+                for (int i=0;i< parentVoList.size() ;i++) {
+                ScenePackageSublistPO params=new ScenePackageSublistPO();
+                BeanUtils.copyProperties(parentVoList.get(i),params);
+                params.setParentId(scenePackageId);
+                params.setRootId(rootId);
+                params.setSublistName(parentVoList.get(i).getSublistName());
+                params.setCreateTime(TimeUtil.getNowForMysql());
+                params.setModifyTime(TimeUtil.getNowForMysql());
+                params.setCreateUserId(AuthUtil.getCurrentUserId());
+                String uuId= StringUtil.getRandomUUID();
+                params.setSublistId(uuId);   //主键ID
+                params.setIsDeleted("0");
+                params.setShare(share);
+                List<ScenePackageSublistVO> cvoList = parentVoList.get(i).getList();
+                poList.add(params);
+                if(cvoList != null && cvoList.size() > 0){
+                    //继续查找下一节点
+                    instShareListTree(cvoList, uuId,rootId,poList,share);
+                }
+                parentVoList.remove(parentVoList.get(i));
+                i--;
+            }
+        }
+        return poList;
+    }
+
 
 }

+ 5 - 1
simulation-resource-server/src/main/resources/bootstrap.yaml

@@ -19,6 +19,10 @@ spring:
         server-addr: 10.15.12.70:8848
         namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
         file-extension: yaml
+  servlet:
+    multipart:
+      max-file-size: 1024MB
+      max-request-size: 1024MB
 # 分页插件配置
 pagehelper:
   helperDialect: mysql
@@ -29,4 +33,4 @@ pagehelper:
 mybatis:
   mapper-locations: classpath:/mapper/*/*.xml
   configuration:
-    map-underscore-to-camel-case: true
+    map-underscore-to-camel-case: true

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

@@ -64,9 +64,9 @@
         </where>
     </select>
 
-    <select id="queryScenePackageBySublist" parameterType="java.lang.String" resultType="api.common.pojo.vo.scene.ScenePackageSublistVO">
+    <select id="queryScenePackageBySublist" parameterType="java.lang.String" resultType="api.common.pojo.vo.scene.ScenePackageNewVO">
         select
-        a.package_id as sublistId,a.package_name as sublistName,a.weight,
+        a.package_id ,a.package_name ,a.weight,
         a.scene_num,a.remarks
         from simulation.scene_package as a
         <where>

+ 23 - 21
simulation-resource-server/src/main/resources/mapper/scene/ScenePackageSublistMapper.xml

@@ -4,43 +4,45 @@
 
     <insert id="saveScenePackageSublist" parameterType="api.common.pojo.po.scene.ScenePackageSublistPO">
         insert into simulation.scene_package_sublist
-        (sublist_id,sublist_name,weight,rules_name,package_and_rules,
-        scene_natural_ids,scene_traffic_ids,scene_statue_ids,scene_generalization_ids
+        (sublist_id,sublist_name,weight,rule_name,package_and_rules,
+        scene_natural_ids,scene_traffic_ids,scene_statue_ids,scene_generalization_ids,
         scene_num,parent_id,root_id,seq,package_level,remarks,
         create_user_id,create_time,modify_user_id,modify_time,
          is_deleted,share)
-        values (#{sublistId,jdbcType=VARCHAR},#{sublistName,jdbcType=VARCHAR},#{weight,jdbcType=VARCHAR},#{rulesName,jdbcType=VARCHAR},
+        values (#{sublistId,jdbcType=VARCHAR},#{sublistName,jdbcType=VARCHAR},#{weight,jdbcType=VARCHAR},#{ruleName,jdbcType=VARCHAR},
         #{packageAndRules,jdbcType=VARCHAR},
         #{sceneNaturalIds}, #{sceneTrafficIds}, #{sceneStatueIds}, #{sceneGeneralizationIds},
         #{sceneNum},#{parentId,jdbcType=VARCHAR},#{rootId,jdbcType=VARCHAR},#{seq},
-         #{packageLevel},#{remarks,jdbcType=VARCHAR},
+         #{packageLevel},#{remarks},
          #{createUserId,jdbcType=VARCHAR},#{createTime},#{modifyUserId,jdbcType=VARCHAR},#{modifyTime},
         #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR})
     </insert>
 
 
     <insert id="saveScenePackageSublistAll" parameterType="java.util.List">
-        <foreach collection="list" index="index" item="item" separator=";">
-        insert into simulation.scene_package_sublist
-        (sublist_id,sublist_name,weight,rules_name,package_and_rules,
-        scene_natural_ids,scene_traffic_ids,scene_statue_ids,scene_generalization_ids
-        scene_num,parent_id,root_id,seq,package_level,remarks,
-        create_user_id,create_time,modify_user_id,modify_time,
-         is_deleted,share)
-        values (#{sublistId,jdbcType=VARCHAR},#{sublistName,jdbcType=VARCHAR},#{weight,jdbcType=VARCHAR},#{rulesName,jdbcType=VARCHAR},
-        #{packageAndRules,jdbcType=VARCHAR},
-        #{sceneNaturalIds}, #{sceneTrafficIds}, #{sceneStatueIds}, #{sceneGeneralizationIds},
-        #{sceneNum},#{parentId,jdbcType=VARCHAR},#{rootId,jdbcType=VARCHAR},#{seq},
-         #{packageLevel},#{remarks,jdbcType=VARCHAR},
-         #{createUserId,jdbcType=VARCHAR},#{createTime},#{modifyUserId,jdbcType=VARCHAR},#{modifyTime},
-        #{isDeleted,jdbcType=VARCHAR}, #{share,jdbcType=VARCHAR})
+
+            insert into simulation.scene_package_sublist
+            (sublist_id,sublist_name,weight,rule_name,package_and_rules,
+            scene_natural_ids,scene_traffic_ids,scene_statue_ids,scene_generalization_ids,
+            scene_num,parent_id,root_id,seq,package_level,remarks,
+            create_user_id,create_time,modify_user_id,modify_time,
+            is_deleted,share) values
+        <foreach collection="list" index="index" item="item" separator=",">
+              (#{item.sublistId,jdbcType=VARCHAR},#{item.sublistName,jdbcType=VARCHAR},#{item.weight,jdbcType=VARCHAR},#{item.ruleName,jdbcType=VARCHAR},
+            #{item.packageAndRules,jdbcType=VARCHAR},
+            #{item.sceneNaturalIds}, #{item.sceneTrafficIds}, #{item.sceneStatueIds}, #{item.sceneGeneralizationIds},
+            #{item.sceneNum},#{item.parentId,jdbcType=VARCHAR},#{item.rootId,jdbcType=VARCHAR},#{item.seq},
+            #{item.packageLevel},#{item.remarks},
+            #{item.createUserId,jdbcType=VARCHAR},#{item.createTime},#{item.modifyUserId,jdbcType=VARCHAR},#{item.modifyTime},
+            #{item.isDeleted,jdbcType=VARCHAR}, #{item.share,jdbcType=VARCHAR})
         </foreach>
     </insert>
 
     <select id="queryScenePackageSublistList" parameterType="api.common.pojo.po.scene.ScenePackageSublistPO" resultType="api.common.pojo.vo.scene.ScenePackageSublistVO">
         select
         a.sublist_id,a.sublist_name,a.weight,b.rule_name,
-        a.scene_num,a.parent_id,a.root_id,a.package_level,a.remarks,a.seq
+        a.scene_num,a.parent_id,a.root_id,a.package_level,a.remarks,a.seq,a.package_and_rules,
+        a.scene_natural_ids,a.scene_traffic_ids,a.scene_statue_ids,a.scene_generalization_ids
         from simulation.scene_package_sublist as a  left join simulation.scoring_rules as b on a.package_and_rules=b.rules_id
         <where>
             a.is_deleted = '0'
@@ -57,12 +59,12 @@
             <if test="rootId != null and rootId != ''">
                 and a.root_id = #{rootId}
             </if>
-            order by a.seq
+            order by a.seq,a.create_time
         </where>
     </select>
 
 
-    <update id="updateScenePackageSublist" parameterType="java.lang.String">
+    <update id="deleteScenePackageSublist" parameterType="java.lang.String">
         update simulation.scene_package_sublist
         set is_deleted='1'
         where root_id = #{rootId,jdbcType=VARCHAR}

+ 10 - 1
simulation-resource-server/src/main/resources/mapper/scene/ScoringRulesMapper.xml

@@ -65,7 +65,16 @@
         from simulation.scoring_rules
         <where>
             is_deleted = '0'
-                and rule_name = #{ruleName,jdbcType=VARCHAR}
+            <if test="ruleName != null and ruleName != ''">
+                and rule_name =#{ruleName}
+            </if>
+            <if test="createUserId != null and createUserId != ''">
+                and create_user_id=#{createUserId,jdbcType=VARCHAR}
+            </if>
+            <if test="share != null and share != ''">
+                and share=#{share,jdbcType=VARCHAR}
+            </if>
+
         </where>
     </select>