root há 2 anos atrás
pai
commit
1faf098b2c
23 ficheiros alterados com 477 adições e 53 exclusões
  1. 1 0
      api-common/src/main/java/api/common/pojo/vo/project/ProjectReportVo.java
  2. 13 0
      simulation-gateway/src/main/resources/bootstrap-private.yaml
  3. 6 3
      simulation-gateway/src/main/resources/logback-spring.xml
  4. 13 0
      simulation-oauth-client/src/main/resources/bootstrap-private.yaml
  5. 5 5
      simulation-oauth-client/src/main/resources/logback-spring.xml
  6. 13 0
      simulation-oauth-server/src/main/resources/bootstrap-private.yaml
  7. 6 5
      simulation-oauth-server/src/main/resources/logback-spring.xml
  8. 13 0
      simulation-resource-common/src/main/resources/bootstrap-private.yaml
  9. 8 6
      simulation-resource-common/src/main/resources/logback-spring.xml
  10. 13 0
      simulation-resource-monitor/src/main/resources/bootstrap-private.yaml
  11. 9 7
      simulation-resource-monitor/src/main/resources/logback-spring.xml
  12. 13 0
      simulation-resource-scene/src/main/resources/bootstrap-private.yaml
  13. 125 0
      simulation-resource-scene/src/main/resources/logback-spring.xml
  14. 5 3
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/manager/TaskManager.java
  15. 13 0
      simulation-resource-scheduler/src/main/resources/bootstrap-private.yaml
  16. 6 3
      simulation-resource-scheduler/src/main/resources/logback-spring.xml
  17. 154 9
      simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java
  18. 13 0
      simulation-resource-server/src/main/resources/bootstrap-private.yaml
  19. 8 7
      simulation-resource-server/src/main/resources/logback-spring.xml
  20. 13 0
      simulation-resource-sms/src/main/resources/bootstrap-private.yaml
  21. 6 3
      simulation-resource-sms/src/main/resources/logback-spring.xml
  22. 13 0
      simulation-resource-video/src/main/resources/bootstrap-private.yaml
  23. 8 2
      simulation-resource-video/src/main/resources/logback-spring.xml

+ 1 - 0
api-common/src/main/java/api/common/pojo/vo/project/ProjectReportVo.java

@@ -58,6 +58,7 @@ public class ProjectReportVo {
 
     //场景包名
     private String packageName;
+    private Integer maxIndex;
 
 
 }

+ 13 - 0
simulation-gateway/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 6 - 3
simulation-gateway/src/main/resources/logback-spring.xml

@@ -1,14 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="true">
     <!-- 项目名称 -->
-    <property name="PROJECT_NAME" value="changjingyun"/>
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
 
     <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
+    </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-gateway/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="test">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-gateway/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
 
     <!--输出到控制台-->

+ 13 - 0
simulation-oauth-client/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 5 - 5
simulation-oauth-client/src/main/resources/logback-spring.xml

@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="true">
     <!-- 项目名称 -->
-    <springProperty scop="context" name="PROJECT_NAME" source="spring.application.name" defaultValue="" />
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
 
     <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <springProfile name="dev">
-        <property name="LOG_HOME" value="logs/${PROJECT_NAME}"/>
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-oauth-client/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="test">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-oauth-client/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
 
     <!--输出到控制台-->

+ 13 - 0
simulation-oauth-server/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 6 - 5
simulation-oauth-server/src/main/resources/logback-spring.xml

@@ -1,18 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="true">
     <!-- 项目名称 -->
-    <springProperty scop="context" name="PROJECT_NAME" source="spring.application.name" defaultValue="" />
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
 
     <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <springProfile name="dev">
-        <property name="LOG_HOME" value="logs/${PROJECT_NAME}"/>
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-oauth-server/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="test">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-oauth-server-test/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
+
     <!--输出到控制台-->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->

+ 13 - 0
simulation-resource-common/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 8 - 6
simulation-resource-common/src/main/resources/logback-spring.xml

@@ -1,17 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="true">
     <!-- 项目名称 -->
-    <springProperty scop="context" name="PROJECT_NAME" source="spring.application.name" defaultValue="" />
-    <!--定义不同环境的日志文件的存储地址 使用相对路径-->
-    <springProfile name="dev">
-        <property name="LOG_HOME" value="logs/${PROJECT_NAME}"/>
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
+
+    <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-common/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="test">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-common/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
+
     <!--输出到控制台-->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->

+ 13 - 0
simulation-resource-monitor/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 9 - 7
simulation-resource-monitor/src/main/resources/logback-spring.xml

@@ -1,17 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<configuration>
+<configuration debug="true">
     <!-- 项目名称 -->
-    <springProperty scop="context" name="PROJECT_NAME" source="spring.application.name" defaultValue="" />
-    <!--定义不同环境的日志文件的存储地址 使用相对路径-->
-    <springProfile name="dev">
-        <property name="LOG_HOME" value="logs/${PROJECT_NAME}"/>
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
+
+    <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-server/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="test">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-server/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
+
     <!--输出到控制台-->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->

+ 13 - 0
simulation-resource-scene/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 125 - 0
simulation-resource-scene/src/main/resources/logback-spring.xml

@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true">
+    <!-- 项目名称 -->
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
+
+    <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
+    </springProfile>
+    <springProfile name="aliyun">
+        <property name="LOG_HOME" value="./log"/>
+    </springProfile>
+    <springProfile name="test">
+        <property name="LOG_HOME" value="./log"/>
+    </springProfile>
+
+    <!--输出到控制台-->
+    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>debug</level>
+        </filter>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
+            <charset>utf-8</charset>
+        </encoder>
+    </appender>
+
+    <!--输出到debug-->
+    <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <!--日志文件输出的文件名-->
+            <FileNamePattern>${LOG_HOME}/debug.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>15</MaxHistory>
+            <!--日志文件最大的大小-->
+            <MaxFileSize>10MB</MaxFileSize>
+        </rollingPolicy>
+        <append>true</append>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
+            <charset>utf-8</charset>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印DEBUG日志 -->
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!--输出到info-->
+    <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <!--日志文件输出的文件名-->
+            <FileNamePattern>${LOG_HOME}/info.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>15</MaxHistory>
+            <!--日志文件最大的大小-->
+            <MaxFileSize>10MB</MaxFileSize>
+        </rollingPolicy>
+        <append>true</append>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
+            <charset>utf-8</charset>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印INFO日志 -->
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!--输出到error-->
+    <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <!--日志文件输出的文件名-->
+            <FileNamePattern>${LOG_HOME}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>15</MaxHistory>
+            <!--日志文件最大的大小-->
+            <MaxFileSize>10MB</MaxFileSize>
+        </rollingPolicy>
+        <append>true</append>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
+            <charset>utf-8</charset>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印ERROR日志 -->
+            <level>ERROR</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!--输出到warn-->
+    <appender name="warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <!--日志文件输出的文件名-->
+            <FileNamePattern>${LOG_HOME}/warn.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+            <!--日志文件保留天数-->
+            <MaxHistory>15</MaxHistory>
+            <!--日志文件最大的大小-->
+            <MaxFileSize>10MB</MaxFileSize>
+        </rollingPolicy>
+        <append>true</append>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
+            <charset>utf-8</charset>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印WARN日志 -->
+            <level>WARN</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+    <!--分别设置对应的日志输出节点 -->
+    <root level="info">
+        <appender-ref ref="console"/>
+        <appender-ref ref="debug"/>
+        <appender-ref ref="info"/>
+        <appender-ref ref="error"/>
+        <appender-ref ref="warn"/>
+    </root>
+</configuration>

+ 5 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/manager/TaskManager.java

@@ -1,5 +1,6 @@
 package com.css.simulation.resource.scheduler.manager;
 
+import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
 import api.common.pojo.dto.ProjectMessageDTO;
 import api.common.util.*;
@@ -33,6 +34,7 @@ import org.springframework.stereotype.Component;
 import javax.annotation.Resource;
 import java.io.File;
 import java.util.*;
+import java.util.concurrent.FutureTask;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -148,9 +150,9 @@ public class TaskManager {
                     taskMapper.updateFailStateWithStopTime(taskId, state, TimeUtil.getNowForMysql(), DictConstants.TASK_ERROR_REASON_3);
                 } else if ("PendingAnalysis".equals(state)) {
                     taskMapper.updateSuccessStateWithStopTime(taskId, state, TimeUtil.getNowForMysql());
-//                    // 多线程创建视频和生成
-//                    FutureTask<ResponseBodyVO<String>> videoTask = new FutureTask<>(() -> videoService.generateVideo(projectId, projectType, maxSimulationTime, taskId));
-//                    new Thread(videoTask, "video-" + StringUtil.getRandomEightBitUUID()).start();
+                    // 多线程创建视频和生成
+                    FutureTask<ResponseBodyVO<String>> videoTask = new FutureTask<>(() -> videoService.generateVideo(projectId, projectType, maxSimulationTime, taskId));
+                    new Thread(videoTask, "video-" + StringUtil.getRandomEightBitUUID()).start();
                 }
                 // -------------------------------- 判断项目是否结束 --------------------------------
                 ProjectMessageDTO projectMessageDTO = JsonUtil.jsonToBean(stringRedisTemplate.opsForValue().get(redisPrefix.getProjectRunningKey()), ProjectMessageDTO.class);

+ 13 - 0
simulation-resource-scheduler/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 6 - 3
simulation-resource-scheduler/src/main/resources/logback-spring.xml

@@ -1,14 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="true">
     <!-- 项目名称 -->
-    <property name="PROJECT_NAME" value="changjingyun"/>
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
 
     <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
+    </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-scheduler/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="test">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-scheduler-test/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
 
     <!--输出到控制台-->

+ 154 - 9
simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java

@@ -433,14 +433,16 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         if (DictConstants.PROJECT_TYPE_MANUAL.equals(param.getProjectType())) {   // 手动运行任务
             SimulationManualProjectPo po = simulationProjectMapper.selectProjectById(param);
             projectDetailsVo = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVo.class);
-            projectDetailsVo.setEvaluationLevel(po.getEvaluationLevel());
+            projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
+            projectDetailsVo.setStartTime(getRqStr(po.getStartTime(), 1));
             projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(), 1));
             projectDetailsVo.setNowRunState(po.getNowRunState());
             projectDetailsVo.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
         } else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(param.getProjectType())) {
             SimulationManualProjectVo po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
             projectDetailsVo = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVo.class);
-            projectDetailsVo.setEvaluationLevel(po.getEvaluationLevel());
+            projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
+            projectDetailsVo.setStartTime(getRqStr(po.getStartTime(), 1));
             projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(), 1));
             projectDetailsVo.setNowRunState(po.getNowRunState());
             projectDetailsVo.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
@@ -478,7 +480,6 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         projectDetailsVo.setResultList(projectRunResultRatioNumVos);
         projectDetailsVo.setResultScoreList(resultScoreList);
         projectDetailsVo.setStateList(projectRunStateNumVos);
-        projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, evaluationLevel));
 
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVo);
     }
@@ -977,7 +978,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     public ResponseBodyVO<ProjectReportVo> selectProjectReportById(SimulationManualProjectParam param) {
         String id = param.getId();
         String projectType = param.getProjectType();
-        //封装要使用到的数据
+        // 封装要使用到的数据
         SimulationManualProjectPo poParam = new SimulationManualProjectPo();
 
         if (DictConstants.PROJECT_TYPE_MANUAL.equals(projectType)) {
@@ -989,7 +990,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         }
 
 
-        //算法配置
+        // 算法配置
         AlgorithmPO algorithmBaseInfoVo = getAlgorithmInfo(poParam);
         ProjectReportVo projectReportVo = new ProjectReportVo();
         projectReportVo.setProjectId(poParam.getProjectId());
@@ -998,7 +999,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         projectReportVo.setAlgorithmDescribe(algorithmBaseInfoVo.getDescription());
         String sceneNames;
 
-        //算法测试得分表
+        // 算法测试得分表
         /*
         汇总测试得分计算方法:(每一项一级指标的测试得分*测试权重)累加
         得分率计算方法:每一项一级指标的所有场景得分不为0的数量/每一项一级指标的场景数量
@@ -1079,7 +1080,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         }
 
         sceneNames = stringBuilder.substring(0, stringBuilder.lastIndexOf("、"));
-        projectReportVo.setAlgorithmEvaluation(algorithmBaseInfoVo.getAlgorithmName() + "经测试获得" + evaluationLevelReport + "级评价," + "(" + sceneNames + ")得分率达到了" + projectReportVo.getScoreRatio() + "%。");
+        projectReportVo.setAlgorithmEvaluation(algorithmBaseInfoVo.getAlgorithmName() + "经测试获得" + projectReportVo.getEvaluationLevel() + "级评价," + "(" + sceneNames + ")得分率达到了" + projectReportVo.getScoreRatio() + "%。");
         projectReportVo.setAlgorithmScoreList(algorithmScoreVoList);
         //指标得分列表
         Map<String, Object> stringObjectMap = selectScenePackageSubListAndSetScore(poParam.getScene(), poParam.getId());
@@ -1087,7 +1088,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         projectReportVo.setSubListScoreLi((List<SubScListVo>) stringObjectMap.get("result"));
 
         //场景得分列表
-        Map<String, Object> maps = selectSceneScore(poParam.getScene(), poParam.getId(), null);
+        Map<String, Object> maps = selectSceneScore2(poParam.getScene(), poParam.getId(), null,projectReportVo);
         projectReportVo.setSceneScoreLiTitle((List<Map>) maps.get("headerList"));
         projectReportVo.setSceneScoreLi((List<SceneScListVo>) maps.get("result"));
 
@@ -2095,7 +2096,150 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
             r++;
         }
         List<Map<Object, Object>> headerList = new ArrayList<>();
-        for (int i = 0; i < size - 5; i++) {
+        int maxIndex = size - 5;
+        for (int i = 0; i < maxIndex; i++) {
+            addHeaders(i, headerList);
+        }
+        headerList.add(ImmutableMap.builder().put("label", "场景名称").put("prop", "sceneId").build());
+        headerList.add(ImmutableMap.builder().put("label", "场景类型").put("prop", "sceneIdType").build());
+        headerList.add(ImmutableMap.builder().put("label", "测试得分").put("prop", "sceneScore").build());
+        headerList.add(ImmutableMap.builder().put("label", "指标评价").put("prop", "targetEvaluate").build());
+        headerList.add(ImmutableMap.builder().put("label", "得分说明").put("prop", "scoreExplain").build());
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("headerList", headerList);
+        hashMap.put("result", objects);
+        return hashMap;
+    }
+
+    private Map<String, Object> selectSceneScore2(String scenePackageId, String projectId, String taskId, ProjectReportVo projectReportVo) {
+
+        //1 查询指定项目的所有指标得分结果
+        SimulationManualProjectParam query = new SimulationManualProjectParam();
+        query.setId(projectId);
+        query.setPackageId(scenePackageId);
+        List<SublistScoreVo> pos = simulationProjectMapper.selectSubScore2(query);
+        //2 查询指定项目的所有任务得分结果
+        ProjectTaskParam param = new ProjectTaskParam();
+        param.setPId(projectId);
+        if (!isEmpty(taskId)) {
+            param.setTaskId(taskId);
+        }
+        List<ManualProjectTaskVo> taskList = simulationProjectTaskMapper.selectProjectTaskByProjectId(param);   // 手动运行项目和自动运行项目使用同一个任务表
+
+        //2 拼接场景得分信息
+        List<SublistScoreVo> lastSubList = new ArrayList<>();
+        for (SublistScoreVo po : pos) {
+            if (ObjectUtil.isNotNull(po.getPackageAndRules())) {
+                //获取场景得分信息
+                for (ManualProjectTaskVo task : taskList)
+                    if (task.getLastTargerId().equals(po.getId())) {
+                        SublistScoreVo sublistScoreVo = new SublistScoreVo();
+                        BeanUtils.copyProperties(po, sublistScoreVo);
+                        sublistScoreVo.setRunResult(task.getRunResult());
+                        sublistScoreVo.setSceneScore(saveTwoDecimalPlaces(task.getScore())); //得分
+                        sublistScoreVo.setTargetEvaluate(task.getTargetEvaluate());//指标评价
+                        String sceneType = task.getSceneType();
+                        String sceneId = task.getSceneId();
+                        String sceneName = "";
+                        if (DictConstants.SCENE_NATURAL.equals(sceneType)) {
+                            sublistScoreVo.setSceneType("自然驾驶");
+                            SceneBaseInfoVo sceneBaseInfoVo = simulationProjectMapper.selectSceneNatural(sceneId);
+                            sceneName = sceneBaseInfoVo.getNaturalName();
+                        } else if (DictConstants.SCENE_STANDARD.equals(sceneType)) {
+                            sublistScoreVo.setSceneType("标准法规");
+                            SceneBaseInfoVo sceneBaseInfoVo = simulationProjectMapper.selectSceneStandardsRegulations(sceneId);
+                            sceneName = sceneBaseInfoVo.getSceneName();
+                        } else if (DictConstants.SCENE_ACCIDENT.equals(sceneType)) {
+                            sublistScoreVo.setSceneType("交通事故");
+                            SceneBaseInfoVo sceneBaseInfoVo = simulationProjectMapper.selectSceneAccidentById(sceneId);
+                            sceneName = sceneBaseInfoVo.getSceneName();
+                        } else if (DictConstants.SCENE_GENERAL.equals(sceneType)) {
+                            sublistScoreVo.setSceneType("泛化");
+                            SceneBaseInfoVo sceneBaseInfoVo = simulationProjectMapper.selectSceneGeneralDataById(sceneId);
+                            sceneName = sceneBaseInfoVo.getSceneName();
+                        }
+                        sublistScoreVo.setReturnSceneId(sceneName); //显示场景名称
+                        lastSubList.add(sublistScoreVo);
+                    }
+            }
+        }
+        int size = 0;
+        List<List<String>> result = new ArrayList<>();
+        //新增返回状态
+        ArrayList<String> runStateList = new ArrayList<>();
+        //末级指标
+        for (SublistScoreVo sp : lastSubList) {
+            setParentSub(sp, null, pos);
+            String sublistName = sp.getSublistName();
+            //失败的任务没有数据,需要校验
+            Double sceneScore = sp.getSceneScore();
+            if (sceneScore == null) {
+                sceneScore = 0D;
+            }
+            String targetEvaluate = sp.getTargetEvaluate();
+            if (targetEvaluate == null) {
+                targetEvaluate = "";
+            }
+            /*sublistName += ProjectConstants.SEPARATOR+sp.getReturnSceneId()+ProjectConstants.SEPARATOR+sp.getSceneType()+ProjectConstants.SEPARATOR+
+                    sp.getSceneScore()+ProjectConstants.SEPARATOR+sp.getTargetEvaluate()+ProjectConstants.SEPARATOR+sp.getScoreExplain();*/
+            //测试得分,指标评价,得分说明 --处理
+            if (isEmpty(targetEvaluate) || isEmpty(sp.getScoreExplain())) {
+                sublistName += ProjectConstants.SEPARATOR
+                        + sp.getReturnSceneId() + ProjectConstants.SEPARATOR
+                        + sp.getSceneType() + ProjectConstants.SEPARATOR
+                        + "--" + ProjectConstants.SEPARATOR
+                        + "--" + ProjectConstants.SEPARATOR
+                        + "--";
+            } else {
+                sublistName += ProjectConstants.SEPARATOR
+                        + sp.getReturnSceneId() + ProjectConstants.SEPARATOR
+                        + sp.getSceneType() + ProjectConstants.SEPARATOR
+                        + sceneScore + ProjectConstants.SEPARATOR
+                        + targetEvaluate + ProjectConstants.SEPARATOR
+                        + sp.getScoreExplain();
+            }
+            String[] split = sublistName.split(ProjectConstants.SEPARATOR);
+            List<String> strings = new LinkedList<>(Arrays.asList(split));
+            if (size < strings.size()) {
+                size = strings.size();
+            }
+            result.add(strings);
+            runStateList.add(sp.getRunResult());
+        }
+        List<SceneScListVo> objects = new ArrayList<>();
+        //结果补全
+        int r = 0;
+        for (List<String> list : result) {
+            int start = list.size() - 5;
+            SceneScListVo sceneScListVo = new SceneScListVo();
+            for (int i = 0; i < start; i++) {
+                if (0 == i) {
+                    sceneScListVo.setSublistName1(list.get(i));
+                } else if (1 == i) {
+                    sceneScListVo.setSublistName2(list.get(i));
+                } else if (2 == i) {
+                    sceneScListVo.setSublistName3(list.get(i));
+                } else if (3 == i) {
+                    sceneScListVo.setSublistName4(list.get(i));
+                } else if (4 == i) {
+                    sceneScListVo.setSublistName5(list.get(i));
+                } else if (5 == i) {
+                    sceneScListVo.setSublistName6(list.get(i));
+                }
+            }
+            sceneScListVo.setSceneId(list.get(start));
+            sceneScListVo.setSceneIdType(list.get(start + 1));
+            sceneScListVo.setSceneScore(list.get(start + 2));
+            sceneScListVo.setTargetEvaluate(list.get(start + 3));
+            sceneScListVo.setScoreExplain(list.get(start + 4));
+            sceneScListVo.setRunState(runStateList.get(r));
+            objects.add(sceneScListVo);
+            r++;
+        }
+        List<Map<Object, Object>> headerList = new ArrayList<>();
+        int maxIndex = size - 5;
+        projectReportVo.setMaxIndex(maxIndex);
+        for (int i = 0; i < maxIndex; i++) {
             addHeaders(i, headerList);
         }
         headerList.add(ImmutableMap.builder().put("label", "场景名称").put("prop", "sceneId").build());
@@ -2109,6 +2253,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         return hashMap;
     }
 
+
     /**
      * @param po       末级指标
      * @param parentPo 上级指标

+ 13 - 0
simulation-resource-server/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 8 - 7
simulation-resource-server/src/main/resources/logback-spring.xml

@@ -1,16 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<configuration debug="false">
+<configuration debug="true">
     <!-- 项目名称 -->
-    <springProperty scop="context" name="PROJECT_NAME" source="spring.application.name" defaultValue="" />
-    <!--定义不同环境的日志文件的存储地址 使用相对路径-->
-    <springProfile name="dev">
-        <property name="LOG_HOME" value="logs/${PROJECT_NAME}"/>
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
+
+    <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-server/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="test">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-server/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
 
     <!--输出到控制台-->

+ 13 - 0
simulation-resource-sms/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 6 - 3
simulation-resource-sms/src/main/resources/logback-spring.xml

@@ -1,14 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="true">
     <!-- 项目名称 -->
-    <property name="PROJECT_NAME" value="changjingyun"/>
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
 
     <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
+    </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-sms/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
     <springProfile name="test">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-sms-test/log"/>
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
 
     <!--输出到控制台-->

+ 13 - 0
simulation-resource-video/src/main/resources/bootstrap-private.yaml

@@ -0,0 +1,13 @@
+# 国汽私有云
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        group: private
+      config:
+        server-addr: 10.14.85.241:8848
+        namespace: 3698bfc2-a612-487a-b2a2-aaad16cd9d9d
+        file-extension: yaml
+        group: private

+ 8 - 2
simulation-resource-video/src/main/resources/logback-spring.xml

@@ -1,11 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="true">
     <!-- 项目名称 -->
-    <property name="PROJECT_NAME" value="changjingyun"/>
+    <property name="PROJECT_NAME" value="simulation-gateway"/>
 
     <!--定义不同环境的日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
+    <springProfile name="private">
+        <property name="LOG_HOME" value="./log"/>
+    </springProfile>
     <springProfile name="aliyun">
-        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-video/log"/>
+        <property name="LOG_HOME" value="./log"/>
+    </springProfile>
+    <springProfile name="test">
+        <property name="LOG_HOME" value="./log"/>
     </springProfile>
 
     <!--输出到控制台-->