Browse Source

Merge remote-tracking branch 'origin/master'

zhaoyan 3 năm trước cách đây
mục cha
commit
6be3d41646

+ 1 - 1
simulation-oauth-server/src/main/java/com/css/simulation/oauth/server/cofiguration/oauth/OauthAuthorizationServerConfiguration.java

@@ -66,7 +66,7 @@ public class OauthAuthorizationServerConfiguration extends AuthorizationServerCo
                         "simulation-resource-scheduler",
                         "simulation-resource-sever"
                 )  // 客户端拥有的资源列表
-                .authorizedGrantTypes("password", "refresh_token") // 允许的授权方式
+                .authorizedGrantTypes("client_credentials", "refresh_token") // 允许的授权方式
                 .scopes("other")    // 授权范围划分
                 .autoApprove(true)
         ; // 是否自动通过,即是否跳过 scope 选择界面,跳过的话代表将所有 scope 授权范围赋予该 client

+ 1 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/common/config/OAuth2Config.java

@@ -46,6 +46,7 @@ public class OAuth2Config extends ResourceServerConfigurerAdapter {
                 .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)// 无状态验证
                 .and()
                 .authorizeRequests()
+                .antMatchers("/**/report/**").access("#oauth2.hasScope('other')")//算法平台接口
                 .antMatchers("/druid/**").permitAll()
                 .anyRequest().access("#oauth2.hasScope('all')") // 拦截所有请求判断 scope
         ;

+ 38 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/open/ctrl/ReportCtrl.java

@@ -0,0 +1,38 @@
+package com.css.simulation.resource.open.ctrl;
+
+import api.common.pojo.common.ResponseBodyVO;
+import api.common.pojo.vo.project.ProjectReportVo;
+import api.common.util.ObjectUtil;
+import com.css.simulation.resource.open.service.ReportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.Map;
+
+@Controller
+@RequestMapping("/report")
+public class ReportCtrl {
+
+    @Autowired
+    ReportService reportService;
+
+    /**
+     * 获取测试报告详情
+     * @param paramMap
+     * @return
+     */
+    @RequestMapping("getSimulationReportById")
+    @ResponseBody
+    public ResponseBodyVO<ProjectReportVo> getSimulationReportById(@RequestBody Map<String,String> paramMap){
+        if(ObjectUtil.isNull(paramMap) || ObjectUtil.isNull(paramMap.get("algorithmId"))){
+            return new ResponseBodyVO(false, 500, "参数必传!",null);
+        }
+        ProjectReportVo reportVo = reportService.getSimulationReportById(paramMap);
+        ResponseBodyVO<ProjectReportVo> response = new ResponseBodyVO<ProjectReportVo>(ResponseBodyVO.Response.SUCCESS);
+        response.setInfo(reportVo);
+        return response;
+    }
+}

+ 18 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/open/service/ReportService.java

@@ -0,0 +1,18 @@
+package com.css.simulation.resource.open.service;
+
+import api.common.pojo.vo.project.ProjectReportVo;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class ReportService {
+    public ProjectReportVo getSimulationReportById(Map<String, String> paramMap) {
+        ProjectReportVo vo = new ProjectReportVo();
+        vo.setAlgorithmName("test");
+        vo.setAlgorithmScore(26.2);
+        return vo;
+    }
+}

+ 5 - 6
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/SceneNaturalService.java

@@ -365,34 +365,33 @@ public class SceneNaturalService {
                 }
             }
             if (vo.getTargetBehavior().indexOf("机动车从左侧切入成功")>-1 ||vo.getTargetBehavior().indexOf("机动车从右侧切入成功")>-1) {
-                if (ObjectUtil.isNull(vo.getLabel())) {
+                if (ObjectUtil.isNull(vo.getLabel())){
                     vo.setLabel("切入");
                 } else {
                     vo.setLabel(vo.getLabel() + ",切入");
                 }
             }
             if (vo.getTargetBehavior().equals("机动车向左侧切出成功") ||vo.getTargetBehavior().equals("机动车向右侧切出成功")) {
-                if (ObjectUtil.isNull(vo.getLabel())) {
+                if (ObjectUtil.isNull(vo.getLabel())){
                     vo.setLabel("切出");
                 } else {
                     vo.setLabel(vo.getLabel() + ",切出");
                 }
             }
-            if (vo.getSelfBehavior().indexOf("直路掉头")>-1 ||vo.getSelfBehavior().indexOf("路口掉头")>-1) {
-                if (ObjectUtil.isNull(vo.getLabel())) {
+            if (vo.getSelfBehavior().indexOf("直路掉头")>-1 ||vo.getSelfBehavior().indexOf("路口掉头")>-1){
+                if (ObjectUtil.isNull(vo.getLabel())){
                     vo.setLabel("掉头");
                 } else {
                     vo.setLabel(vo.getLabel() + ",掉头");
                 }
             }
             if (vo.getSelfBehavior().indexOf("向左变道成功") >-1||vo.getSelfBehavior().equals("向右变道成功")||vo.getSelfBehavior().indexOf("向左连续变道")>-1||vo.getSelfBehavior().indexOf("向右连续变道")>-1||vo.getSelfBehavior().indexOf("向左变道超车")>-1||vo.getSelfBehavior().indexOf("向右变道超车")>-1) {
-                if (ObjectUtil.isNull(vo.getLabel())) {
+                if (ObjectUtil.isNull(vo.getLabel())){
                     vo.setLabel("变道");
                 } else {
                     vo.setLabel(vo.getLabel() + ",变道");
                 }
             }
-
         }
         return list;
     }

+ 50 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/scene/service/ScenePackageService.java

@@ -6,6 +6,7 @@ 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.ObjectUtil;
 import api.common.util.StringUtil;
 import api.common.util.TimeUtil;
 import com.css.simulation.resource.common.utils.AuthUtil;
@@ -16,8 +17,7 @@ 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.List;
+import java.util.*;
 
 @Slf4j
 @Service
@@ -28,7 +28,6 @@ public class ScenePackageService {
     @Resource
     private ScenePackageSublistMapper scenePackageSublistMapper;
 
-
     /**
      * 测试包数据录入大保存:
      */
@@ -60,9 +59,25 @@ public class ScenePackageService {
 
         List<ScenePackageSublistPO> poList = new ArrayList<>();
         List<ScenePackageSublistPO> treeList = instShareListTree(listSublictTree, uuId, uuId, poList, "0",1);
+       //校验指标名称唯一
         if (treeList == null || treeList.size() < 1) {
             return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "指标数据为空,请检查");
         }
+        if(treeList!=null && treeList.size()>1){
+            Set set=new HashSet();
+        Map map=new HashMap<>();
+            for (ScenePackageSublistPO vo: treeList ) {
+              Object sublistName=  map.get(vo.getSublistName());
+              if(ObjectUtil.isNull(sublistName)){
+                  map.put(vo.getSublistName(),vo.getSublistName());
+              }else{
+                      set.add(vo.getSublistName());
+              }
+            }
+            if(ObjectUtil.isNotNull(set)){
+                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称:"+set+"重复,请检查");
+            }
+        }
         scenePackageMapper.saveScenePackage(po);
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
@@ -106,6 +121,21 @@ public class ScenePackageService {
         if (treeList == null || treeList.size() < 1) {
             return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "指标数据为空,请检查");
         }
+        if(treeList!=null && treeList.size()>1){
+            Set set=new HashSet();
+            Map map=new HashMap<>();
+            for (ScenePackageSublistPO vo: treeList ) {
+                Object sublistName=  map.get(vo.getSublistName());
+                if(ObjectUtil.isNull(sublistName)){
+                    map.put(vo.getSublistName(),vo.getSublistName());
+                }else{
+                    set.add(vo.getSublistName());
+                }
+            }
+            if(ObjectUtil.isNotNull(set)){
+                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称:"+set+"重复,请检查");
+            }
+        }
         scenePackageMapper.updateScenePackage(po);
         scenePackageSublistMapper.deleteScenePackageSublist(po.getPackageId());
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
@@ -220,7 +250,7 @@ public class ScenePackageService {
         po.setPackageName(scenePackagePO.getPackageName());
         List<ScenePackageNewVO> listName = scenePackageMapper.queryByPackageName(po);
         if (listName != null && listName.size() > 0) {
-            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "公有列表名称packName=" + listName.get(0).getPackageName() + "的测试包已存在,请检查");
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "测试包名称packName=" + listName.get(0).getPackageName() + "的测试包已存在,请检查");
         }
         BeanUtils.copyProperties(scenePackagePO, po);
         po.setCreateTime(TimeUtil.getNowForMysql());
@@ -231,10 +261,25 @@ public class ScenePackageService {
         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",1);
+        if(treeList!=null && treeList.size()>1){
+            Set set=new HashSet();
+            Map map=new HashMap<>();
+            for (ScenePackageSublistPO vo: treeList ) {
+                Object sublistName=  map.get(vo.getSublistName());
+                if(ObjectUtil.isNull(sublistName)){
+                    map.put(vo.getSublistName(),vo.getSublistName());
+                }else{
+                    set.add(vo.getSublistName());
+                }
+            }
+            if(ObjectUtil.isNotNull(set)){
+                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "该条数据中指标名称:"+set+"重复,请检查");
+            }
+        }
+        scenePackageMapper.saveScenePackage(po);
         scenePackageSublistMapper.saveScenePackageSublistAll(treeList);
         return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
     }