Sfoglia il codice sorgente

项目结构修改

LingxinMeng 2 anni fa
parent
commit
ea3c7fae78
82 ha cambiato i file con 351 aggiunte e 395 eliminazioni
  1. 10 9
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/consumer/ProjectConsumer.java
  2. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/AlgorithmController.java
  3. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/CpuNodeController.java
  4. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/NodeController.java
  5. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/TaskController.java
  6. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/advice/AllExceptionHandlerAdvice.java
  7. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/model/ProjectMessageModel.java
  8. 9 0
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/entity/ProjectWaitingQueueEntity.java
  9. 21 0
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/entity/VehicleEntity.java
  10. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/AlgorithmService.java
  11. 6 6
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/FileService.java
  12. 104 92
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/ProjectService.java
  13. 9 8
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/TaskService.java
  14. 0 62
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/http/HttpConfiguration.java
  15. 0 9
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/ProjectWaitingQueueEntity.java
  16. 0 20
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/model/VehicleModel.java
  17. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/feign/VideoFeignClient.java
  18. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/feign/WebServerClient.java
  19. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/feign/fallback/VideoFeignClientFallBack.java
  20. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/feign/fallback/WebServerClientFallBack.java
  21. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/algorithm/AlgorithmPlatform.java
  22. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/algorithm/OauthParameter.java
  23. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/custom/CustomConfiguration.java
  24. 3 3
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/docker/DockerConfiguration.java
  25. 4 4
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/entity/DockerNodeEntity.java
  26. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/entity/DynamicsEntity.java
  27. 4 4
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/entity/NodeEntity.java
  28. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/git/GitConfiguration.java
  29. 4 4
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/init/CustomApplicationRunner.java
  30. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/kafka/KafkaAdminConfiguration.java
  31. 4 4
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/kubernetes/KubernetesConfiguration.java
  32. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/minio/MinioConfiguration.java
  33. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/pool/PoolConfiguration.java
  34. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/pool/PoolParam.java
  35. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/redis/RedisTemplateConfiguration.java
  36. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/AlgorithmEntity.java
  37. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/CameraEntity.java
  38. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ClusterEntity.java
  39. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/CpuNodeEntity.java
  40. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/IndexTemplateEntity.java
  41. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/InfoEntity.java
  42. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/LeafIndexEntity.java
  43. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ModelEntity.java
  44. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/NodeEntity.java
  45. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/OgtEntity.java
  46. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/PartitionEntity.java
  47. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/PrefixEntity.java
  48. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ProjectEntity.java
  49. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ScenarioEntity.java
  50. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/SceneEntity.java
  51. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ScoreEntity.java
  52. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/SensorsEntity.java
  53. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/TaskEntity.java
  54. 3 3
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/TaskMessageEntity.java
  55. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/UserEntity.java
  56. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/VehicleEntity.java
  57. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/AlgorithmMapper.java
  58. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/AutoSubProjectMapper.java
  59. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/ClusterMapper.java
  60. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/ConfigMapper.java
  61. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/IndexMapper.java
  62. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/IndexTemplateMapper.java
  63. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/ManualProjectMapper.java
  64. 3 3
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/SceneMapper.java
  65. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/ScoringRulesMapper.java
  66. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/SensorCameraMapper.java
  67. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/SensorOgtMapper.java
  68. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/SimulationAutomaticProjectMapper.java
  69. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/TaskMapper.java
  70. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/UserMapper.java
  71. 2 2
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/VehicleMapper.java
  72. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/redis/CustomRedisClient.java
  73. 4 4
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/repository/TaskIndexRepository.java
  74. 10 10
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/scheduler/AlgorithmScheduler.java
  75. 6 6
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/scheduler/ProjectScheduler.java
  76. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/ApacheKafkaUtil.java
  77. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/GitUtil.java
  78. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/KubernetesUtil.java
  79. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/MinioUtil.java
  80. 53 54
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/ProjectUtil.java
  81. 1 1
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/RedisUtil.java
  82. 10 6
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/TaskUtil.java

+ 10 - 9
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/consumer/ProjectConsumer.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/consumer/ProjectConsumer.java

@@ -1,10 +1,10 @@
-package com.css.simulation.resource.scheduler.consumer;
+package com.css.simulation.resource.scheduler.api.consumer;
 
 
-import api.common.pojo.dto.ProjectMessageDTO;
+import com.css.simulation.resource.scheduler.api.model.ProjectMessageModel;
 import api.common.util.JsonUtil;
-import com.css.simulation.resource.scheduler.service.ProjectService;
-import com.css.simulation.resource.scheduler.util.ProjectUtil;
+import com.css.simulation.resource.scheduler.application.service.ProjectService;
+import com.css.simulation.resource.scheduler.infrastructure.util.ProjectUtil;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.SneakyThrows;
@@ -30,9 +30,10 @@ public class ProjectConsumer {
     @KafkaListener(groupId = "simulation-resource-scheduler", topics = "${custom.mq-start-project-topic}")
     @SneakyThrows
     public void acceptMessage(ConsumerRecord<String, String> projectRecord) {
-        final ProjectMessageDTO projectMessageDTO = JsonUtil.jsonToBean(projectRecord.value(), ProjectMessageDTO.class);
-        log.info("接收到项目开始消息为:" + projectMessageDTO);
-        new Thread(() -> projectService.createTaskAndFixData(projectMessageDTO), "fix-" + projectMessageDTO.getProjectId()).start();
+        log.info("接收到项目开始消息为:" + projectRecord);
+        ProjectMessageModel projectMessageModel = JsonUtil.jsonToBean(projectRecord.value(), ProjectMessageModel.class);
+        String newThreadName = "fix-" + projectMessageModel.getProjectId();
+        new Thread(() -> projectService.createTaskAndFixData(projectMessageModel), newThreadName).start();
     }
 
     //* -------------------------------- 结束 --------------------------------
@@ -44,8 +45,8 @@ public class ProjectConsumer {
         JsonNode jsonNode = new ObjectMapper().readTree(stopRecord.value());
         String projectId = jsonNode.path("projectId").asText();
         String projectType = jsonNode.path("type").asText();
-        String isChoiceGpu = projectUtil.getIsChoiceGpuByProjectId(projectId);
-        projectService.stopProject(isChoiceGpu, projectType, projectId);
+
+        projectService.stopProject(projectType, projectId);
     }
 
 

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/controller/AlgorithmController.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/AlgorithmController.java

@@ -1,8 +1,8 @@
-package com.css.simulation.resource.scheduler.controller;
+package com.css.simulation.resource.scheduler.api.controller;
 
 
 import api.common.pojo.common.ResponseBodyVO;
-import com.css.simulation.resource.scheduler.service.AlgorithmService;
+import com.css.simulation.resource.scheduler.application.service.AlgorithmService;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/controller/CpuNodeController.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/CpuNodeController.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.controller;
+package com.css.simulation.resource.scheduler.api.controller;
 
 import api.common.pojo.common.ResponseBodyVO;
-import com.css.simulation.resource.scheduler.service.FileService;
+import com.css.simulation.resource.scheduler.application.service.FileService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestPart;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/controller/NodeController.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/NodeController.java

@@ -1,6 +1,6 @@
-package com.css.simulation.resource.scheduler.controller;
+package com.css.simulation.resource.scheduler.api.controller;
 
-import com.css.simulation.resource.scheduler.util.ProjectUtil;
+import com.css.simulation.resource.scheduler.infrastructure.util.ProjectUtil;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/controller/TaskController.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/TaskController.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.controller;
+package com.css.simulation.resource.scheduler.api.controller;
 
 
-import com.css.simulation.resource.scheduler.service.TaskService;
+import com.css.simulation.resource.scheduler.application.service.TaskService;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/advice/AllExceptionHandlerAdvice.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/controller/advice/AllExceptionHandlerAdvice.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.advice;
+package com.css.simulation.resource.scheduler.api.controller.advice;
 
 import api.common.pojo.common.ResponseBodyVO;
 import lombok.extern.slf4j.Slf4j;

+ 2 - 2
api-common/src/main/java/api/common/pojo/dto/ProjectMessageDTO.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/api/model/ProjectMessageModel.java

@@ -1,4 +1,4 @@
-package api.common.pojo.dto;
+package com.css.simulation.resource.scheduler.api.model;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -20,7 +20,7 @@ import lombok.NoArgsConstructor;
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class ProjectMessageDTO {
+public class ProjectMessageModel {
 
     private String projectId;// 项目 id
     private String algorithmId;// 算法 id

+ 9 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/entity/ProjectWaitingQueueEntity.java

@@ -0,0 +1,9 @@
+package com.css.simulation.resource.scheduler.application.entity;
+
+import lombok.Data;
+
+@Data
+public class ProjectWaitingQueueEntity {
+    private String projectId;
+    private String waitingType; //1等待执行 2等待扩充
+}

+ 21 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/entity/VehicleEntity.java

@@ -0,0 +1,21 @@
+package com.css.simulation.resource.scheduler.application.entity;
+
+import com.css.simulation.resource.scheduler.infrastructure.configuration.entity.DynamicsEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.ModelEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.SensorsEntity;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class VehicleEntity {
+
+    private ModelEntity model;
+    private DynamicsEntity dynamics;
+    private SensorsEntity sensors;
+
+}

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/AlgorithmService.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/AlgorithmService.java

@@ -1,8 +1,8 @@
-package com.css.simulation.resource.scheduler.service;
+package com.css.simulation.resource.scheduler.application.service;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.util.FileUtil;
-import com.css.simulation.resource.scheduler.util.MinioUtil;
+import com.css.simulation.resource.scheduler.infrastructure.util.MinioUtil;
 import io.minio.MinioClient;
 import lombok.SneakyThrows;
 import org.springframework.beans.factory.annotation.Value;

+ 6 - 6
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/FileService.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/FileService.java

@@ -1,10 +1,10 @@
-package com.css.simulation.resource.scheduler.service;
+package com.css.simulation.resource.scheduler.application.service;
 
 import api.common.util.FileUtil;
 import api.common.util.HttpUtil;
-import com.css.simulation.resource.scheduler.configuration.custom.CustomConfiguration;
-import com.css.simulation.resource.scheduler.configuration.kubernetes.KubernetesConfiguration;
-import com.css.simulation.resource.scheduler.data.model.NodeModel;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.custom.CustomConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.kubernetes.KubernetesConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.entity.NodeEntity;
 import lombok.SneakyThrows;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
@@ -24,7 +24,7 @@ public class FileService {
     public void uploadOsgb(MultipartFile file) {
         final String targetFilePath = customConfiguration.getTemporaryDirectory() + "/esmini-osgb";
         FileUtil.writeInputStreamToLocalFile(file.getInputStream(), targetFilePath);
-        final List<NodeModel> nodeModels = kubernetesConfiguration.getCpuNodeList();
-        nodeModels.forEach(nodeModel -> HttpUtil.post(customConfiguration.getUploadOsgbUrl().replace("simulation-resource-video", nodeModel.getIp()), new File(targetFilePath)));
+        final List<NodeEntity> nodeEntities = kubernetesConfiguration.getCpuNodeList();
+        nodeEntities.forEach(nodeEntity -> HttpUtil.post(customConfiguration.getUploadOsgbUrl().replace("simulation-resource-video", nodeEntity.getIp()), new File(targetFilePath)));
     }
 }

+ 104 - 92
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/ProjectService.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/ProjectService.java

@@ -1,20 +1,20 @@
-package com.css.simulation.resource.scheduler.service;
+package com.css.simulation.resource.scheduler.application.service;
 
 import api.common.pojo.constants.DictConstants;
-import api.common.pojo.dto.ProjectMessageDTO;
 import api.common.pojo.po.scheduler.SchedulerProjectPO;
 import api.common.util.*;
-import com.css.simulation.resource.scheduler.configuration.custom.CustomConfiguration;
-import com.css.simulation.resource.scheduler.configuration.docker.DockerConfiguration;
-import com.css.simulation.resource.scheduler.configuration.git.GitConfiguration;
-import com.css.simulation.resource.scheduler.configuration.kubernetes.KubernetesConfiguration;
-import com.css.simulation.resource.scheduler.configuration.minio.MinioConfiguration;
-import com.css.simulation.resource.scheduler.configuration.redis.CustomRedisClient;
-import com.css.simulation.resource.scheduler.data.entity.*;
-import com.css.simulation.resource.scheduler.data.model.DynamicsModel;
-import com.css.simulation.resource.scheduler.data.model.VehicleModel;
-import com.css.simulation.resource.scheduler.mapper.*;
-import com.css.simulation.resource.scheduler.util.*;
+import com.css.simulation.resource.scheduler.api.model.ProjectMessageModel;
+import com.css.simulation.resource.scheduler.application.entity.VehicleEntity;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.custom.CustomConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.docker.DockerConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.entity.DynamicsEntity;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.git.GitConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.kubernetes.KubernetesConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.minio.MinioConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.entity.*;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.*;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.redis.CustomRedisClient;
+import com.css.simulation.resource.scheduler.infrastructure.util.*;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.minio.MinioClient;
 import lombok.SneakyThrows;
@@ -115,19 +115,19 @@ public class ProjectService {
     /**
      * 接收到运行信息立即复制一份数据作为据运行数
      *
-     * @param projectMessageDTO 项目启动消息
+     * @param projectMessageModel 项目启动消息
      */
-    public void createTaskAndFixData(ProjectMessageDTO projectMessageDTO) {
+    public void createTaskAndFixData(ProjectMessageModel projectMessageModel) {
         //* -------------------------------- 0 读取消息,创建临时目录 --------------------------------
-        String projectId = projectMessageDTO.getProjectId();                // 手动执行项目 id 或 自动执行子项目 id
-        String projectType = projectMessageDTO.getType();                   // 项目类型
+        String projectId = projectMessageModel.getProjectId();                // 手动执行项目 id 或 自动执行子项目 id
+        String projectType = projectMessageModel.getType();                   // 项目类型
         String isChoiceGpu = projectUtil.getIsChoiceGpuByProjectId(projectId);
         try {
-            String modelType = projectMessageDTO.getModelType();                // 模型类型,1 动力学模型 2 carsim模型
-            String packageId = projectMessageDTO.getScenePackageId();           // 场景测试包 id
-            String vehicleConfigId = projectMessageDTO.getVehicleConfigId();    // 模型配置 id
-            String algorithmId = projectMessageDTO.getAlgorithmId();            // 模型配置 id
-            long videoTime = projectMessageDTO.getMaxSimulationTime();          // 结果视频的时长
+            String modelType = projectMessageModel.getModelType();                // 模型类型,1 动力学模型 2 carsim模型
+            String packageId = projectMessageModel.getScenePackageId();           // 场景测试包 id
+            String vehicleConfigId = projectMessageModel.getVehicleConfigId();    // 模型配置 id
+            String algorithmId = projectMessageModel.getAlgorithmId();            // 模型配置 id
+            long videoTime = projectMessageModel.getMaxSimulationTime();          // 结果视频的时长
             String userId = projectUtil.getUserIdByProjectIdAndProjectType(projectId, projectType);
             String projectPath = linuxTempPath + "project/" + projectId + "/";
             FileUtil.mkdir(projectPath);
@@ -140,24 +140,24 @@ public class ProjectService {
             //根据场景测试包 packageId,拿到场景集合(包括重复场景),重复场景会在发送消息时根据叶子指标发送多次。
             List<SceneEntity> sceneEntityList = getSceneList(projectId, packageId);
             int taskTotal = sceneEntityList.size();
-            projectMessageDTO.setTaskTotal(taskTotal);
-            projectMessageDTO.setTaskCompleted(0);
+            projectMessageModel.setTaskTotal(taskTotal);
+            projectMessageModel.setTaskCompleted(0);
             //去重,之后发送消息的时候会补全指标,如果不去重的话会出现多个场景重复关联多个指标
             Set<SceneEntity> sceneEntitySet = new HashSet<>(sceneEntityList);
-            log.info("项目 " + projectId + " 场景包括:" + sceneEntitySet);
+            log.debug("项目 " + projectId + " 场景包括:" + sceneEntitySet);
             // -------------------------------- 2 算法导入 --------------------------------
             log.info("项目 " + projectId + " 开始算法导入。");
             String algorithmDockerImage = handleAlgorithm(projectId, algorithmId);
             log.info("项目 " + projectId + " 算法已导入:" + algorithmDockerImage);
             // -------------------------------- 3 查询模型 --------------------------------
+            log.debug("项目 " + projectId + " 开始查询模型。");
+            //1 根据车辆配置id vehicleConfigId, 获取 模型信息和传感器信息
+            com.css.simulation.resource.scheduler.infrastructure.entity.VehicleEntity vehicleEntity = vehicleMapper.selectByVehicleConfigId(vehicleConfigId);   // 车辆
+            List<CameraEntity> cameraEntityList = sensorCameraMapper.selectCameraByVehicleConfigId(vehicleConfigId);    // 摄像头
+            List<OgtEntity> ogtEntityList = sensorOgtMapper.selectOgtByVehicleId(vehicleConfigId); // 完美传感器
+            log.debug("项目 " + projectId + " 开始保存任务消息。");
             if (DictConstants.MODEL_TYPE_VTD.equals(modelType)) {
-                log.debug("项目 " + projectId + " 开始查询模型。");
-                //2-1 根据车辆配置id vehicleConfigId, 获取 模型信息和传感器信息
-                VehicleEntity vehicleEntity = vehicleMapper.selectByVehicleConfigId(vehicleConfigId);   // 车辆
-                List<CameraEntity> cameraEntityList = sensorCameraMapper.selectCameraByVehicleConfigId(vehicleConfigId);    // 摄像头
-                List<OgtEntity> ogtEntityList = sensorOgtMapper.selectOgtByVehicleId(vehicleConfigId); // 完美传感器
                 // -------------------------------- 4 保存任务消息 --------------------------------
-                log.debug("项目 " + projectId + " 开始保存任务消息。");
                 List<TaskEntity> taskList = new ArrayList<>();
                 for (SceneEntity sceneEntity : sceneEntitySet) {
                     String sceneId = sceneEntity.getId();
@@ -218,21 +218,16 @@ public class ProjectService {
                         FileUtil.rm(osgbPathOfLinux);   // 删除临时文件
 
                         // 组装 task 消息
-                        TaskMessageEntity taskMessageEntity = TaskMessageEntity.builder().info(InfoEntity.builder().project_id(taskEntity.getPId()).task_id(taskEntity.getId()).task_path(taskEntity.getRunResultFilePath()).default_time(videoTime).build()).scenario(ScenarioEntity.builder().scenario_osc(xoscPathOfMinio).scenario_odr(xodrPathOfMinio).scenario_osgb(osgbPathOfMinio).build()).vehicle(VehicleModel.builder().model(ModelEntity.builder().model_label(vehicleEntity.getModelLabel()).build()).dynamics(DynamicsModel.builder().dynamics_maxspeed(vehicleEntity.getMaxSpeed()).dynamics_enginepower(vehicleEntity.getEnginePower()).dynamics_maxdecel(vehicleEntity.getMaxDeceleration()).dynamics_maxsteering(vehicleEntity.getMaxSteeringAngle()).dynamics_mass(vehicleEntity.getMass()).dynamics_frontsurfaceeffective(vehicleEntity.getFrontSurfaceEffective()).dynamics_airdragcoefficient(vehicleEntity.getAirDragCoefficient()).dynamics_rollingresistance(vehicleEntity.getRollingResistanceCoefficient()).dynamics_wheeldiameter(vehicleEntity.getWheelDiameter()).dynamics_wheeldrive(vehicleEntity.getWheelDrive()).dynamics_overallefficiency(vehicleEntity.getOverallEfficiency()).dynamics_distfront(vehicleEntity.getFrontDistance()).dynamics_distrear(vehicleEntity.getRearDistance()).dynamics_distleft(vehicleEntity.getLeftDistance()).dynamics_distright(vehicleEntity.getRightDistance()).dynamics_distheight(vehicleEntity.getHeightDistance()).dynamics_wheelbase(vehicleEntity.getWheelbase()).build()).sensors(SensorsEntity.builder()   // 根据 vehicleId 查询绑定的传感器列表
+                        TaskMessageEntity taskMessageEntity = TaskMessageEntity.builder().info(InfoEntity.builder().project_id(taskEntity.getPId()).task_id(taskEntity.getId()).task_path(taskEntity.getRunResultFilePath()).default_time(videoTime).build()).scenario(ScenarioEntity.builder().scenario_osc(xoscPathOfMinio).scenario_odr(xodrPathOfMinio).scenario_osgb(osgbPathOfMinio).build()).vehicle(VehicleEntity.builder().model(ModelEntity.builder().model_label(vehicleEntity.getModelLabel()).build()).dynamics(DynamicsEntity.builder().dynamics_maxspeed(vehicleEntity.getMaxSpeed()).dynamics_enginepower(vehicleEntity.getEnginePower()).dynamics_maxdecel(vehicleEntity.getMaxDeceleration()).dynamics_maxsteering(vehicleEntity.getMaxSteeringAngle()).dynamics_mass(vehicleEntity.getMass()).dynamics_frontsurfaceeffective(vehicleEntity.getFrontSurfaceEffective()).dynamics_airdragcoefficient(vehicleEntity.getAirDragCoefficient()).dynamics_rollingresistance(vehicleEntity.getRollingResistanceCoefficient()).dynamics_wheeldiameter(vehicleEntity.getWheelDiameter()).dynamics_wheeldrive(vehicleEntity.getWheelDrive()).dynamics_overallefficiency(vehicleEntity.getOverallEfficiency()).dynamics_distfront(vehicleEntity.getFrontDistance()).dynamics_distrear(vehicleEntity.getRearDistance()).dynamics_distleft(vehicleEntity.getLeftDistance()).dynamics_distright(vehicleEntity.getRightDistance()).dynamics_distheight(vehicleEntity.getHeightDistance()).dynamics_wheelbase(vehicleEntity.getWheelbase()).build()).sensors(SensorsEntity.builder()   // 根据 vehicleId 查询绑定的传感器列表
                                 .camera(cameraEntityList).OGT(ogtEntityList).build()).build()).build();
                         FileUtil.writeStringToLocalFile(JsonUtil.beanToJson(taskMessageEntity), projectPath + taskId + ".json");
-                        log.info("项目 " + projectId + " 将任务消息转成 json 保存到临时目录等待资源分配后执行:" + taskMessageEntity.getInfo().getTask_id());
+                        log.debug("项目 " + projectId + " 将任务消息转成 json 保存到临时目录等待资源分配后执行:" + taskMessageEntity.getInfo().getTask_id());
                     }
                 }
                 taskUtil.batchInsertTask(taskList);
                 log.info("项目 " + projectId + " 共有 " + taskList.size() + " 个任务,已保存到数据库");
             } else if (DictConstants.MODEL_TYPE_CARSIM.equals(modelType)) {
-                log.debug("项目 " + projectId + " 开始查询模型。");
-                VehicleEntity vehicleEntity = vehicleMapper.selectByVehicleConfigId(vehicleConfigId);   // 车辆
-                List<CameraEntity> cameraEntityList = sensorCameraMapper.selectCameraByVehicleConfigId(vehicleConfigId);    // 摄像头
-                List<OgtEntity> ogtEntityList = sensorOgtMapper.selectOgtByVehicleId(vehicleConfigId); // 完美传感器
-                // -------------------------------- 4 保存任务消息 --------------------------------
-                log.debug("项目 " + projectId + " 开始保存任务消息。");
+
                 List<TaskEntity> taskList = new ArrayList<>();
                 for (SceneEntity sceneEntity : sceneEntitySet) {
                     String sceneId = sceneEntity.getId();
@@ -292,11 +287,11 @@ public class ProjectService {
 
                         // 组装 task 消息
                         // carsim 不需要查询模型参数
-                        TaskMessageEntity taskMessageEntity = TaskMessageEntity.builder().info(InfoEntity.builder().project_id(taskEntity.getPId()).task_id(taskEntity.getId()).task_path(taskEntity.getRunResultFilePath()).default_time(videoTime).build()).scenario(ScenarioEntity.builder().scenario_osc(xoscPathOfMinio).scenario_odr(xodrPathOfMinio).scenario_osgb(osgbPathOfMinio).build()).vehicle(VehicleModel.builder().model(ModelEntity.builder().model_label(vehicleEntity.getModelLabel()).build()).dynamics(null).sensors(SensorsEntity.builder()   // 根据 vehicleId 查询绑定的传感器列表
+                        TaskMessageEntity taskMessageEntity = TaskMessageEntity.builder().info(InfoEntity.builder().project_id(taskEntity.getPId()).task_id(taskEntity.getId()).task_path(taskEntity.getRunResultFilePath()).default_time(videoTime).build()).scenario(ScenarioEntity.builder().scenario_osc(xoscPathOfMinio).scenario_odr(xodrPathOfMinio).scenario_osgb(osgbPathOfMinio).build()).vehicle(VehicleEntity.builder().model(ModelEntity.builder().model_label(vehicleEntity.getModelLabel()).build()).dynamics(null).sensors(SensorsEntity.builder()   // 根据 vehicleId 查询绑定的传感器列表
                                 .camera(cameraEntityList).OGT(ogtEntityList).build()).build()).build();
 
                         FileUtil.writeStringToLocalFile(JsonUtil.beanToJson(taskMessageEntity), projectPath + taskId + ".json");
-                        log.info("项目 " + projectId + " 将任务消息转成 json 保存到临时目录等待资源分配后执行:" + taskMessageEntity.getInfo().getTask_id());
+                        log.debug("项目 " + projectId + " 将任务消息转成 json 保存到临时目录等待资源分配后执行:" + taskMessageEntity.getInfo().getTask_id());
                     }
                 }
                 taskUtil.batchInsertTask(taskList);
@@ -304,7 +299,7 @@ public class ProjectService {
             }
 
             //* -------------------------------- 4 开始排队 --------------------------------
-            cacheProject(projectMessageDTO);
+            cacheProject(projectMessageModel);
         } catch (Exception e) {
             log.error("项目报错。", e);
             stopProject(isChoiceGpu, projectId, projectType, e.getMessage());
@@ -317,16 +312,16 @@ public class ProjectService {
     /**
      * 任务运行前首先判断用户是否拥有可分配资源
      *
-     * @param projectMessageDTO 项目启动消息
+     * @param projectMessageModel 项目启动消息
      */
     @SneakyThrows
-    public void cacheProject(ProjectMessageDTO projectMessageDTO) {
-        log.debug("判断用户是否拥有可分配资源:" + projectMessageDTO);
+    public void cacheProject(ProjectMessageModel projectMessageModel) {
+        log.debug("判断用户是否拥有可分配资源:" + projectMessageModel);
         //1 读取 kafka 的 project 信息
-        final String modelType = projectMessageDTO.getModelType();
-        String projectId = projectMessageDTO.getProjectId();    // 手动执行项目 id 或 自动执行子项目 id
-        long parallelism = projectMessageDTO.getParallelism();   // 项目并行度
-        String projectType = projectMessageDTO.getType(); // 项目类型
+        final String modelType = projectMessageModel.getModelType();
+        String projectId = projectMessageModel.getProjectId();    // 手动执行项目 id 或 自动执行子项目 id
+        long parallelism = projectMessageModel.getParallelism();   // 项目并行度
+        String projectType = projectMessageModel.getType(); // 项目类型
         //2 获取用户信息(管理员账户、管理员子账户、普通账户、普通子账户)(独占、共享)
         final UserEntity userEntity = projectUtil.getUserEntityByProjectIdAndProjectType(projectId, projectType);
         String projectUserId = userEntity.getId();
@@ -339,7 +334,7 @@ public class ProjectService {
             clusterUserId = DictConstants.SYSTEM_CLUSTER_ID;
             log.debug("项目 " + projectId + " 的创建人 " + projectUserId + " 为管理员账户或管理员子账户,直接判断服务器能否执行。");
             PrefixEntity redisPrefix = projectUtil.getRedisPrefixByClusterIdAndProjectId(DictConstants.SYSTEM_CLUSTER_ID, projectId);
-            run(projectMessageDTO, clusterUserId, modelType, DictConstants.SYSTEM_USER_ID, redisPrefix.getProjectRunningKey(), redisPrefix.getProjectWaitingKey());
+            run(projectMessageModel, clusterUserId, modelType, DictConstants.SYSTEM_USER_ID, redisPrefix.getProjectRunningKey(), redisPrefix.getProjectWaitingKey());
             return;
         } else if (DictConstants.ROLE_CODE_UESR.equals(roleCode)) { //3-2 普通账户,不管是独占还是共享,都在自己的集群里排队,根据自己的独占节点排队
             clusterUserId = projectUserId;
@@ -367,40 +362,67 @@ public class ProjectService {
         final Integer numSimulationLicense = clusterEntity.getNumSimulationLicense();
         final Integer numDynamicLicense = clusterEntity.getNumDynamicLicense();
         final String clusterId = clusterEntity.getId();
-        //1 判断仿真证书是否够用,如果
+        final String projectWaitingKey = redisPrefix.getProjectWaitingKey();
+        final String projectRunningKey = redisPrefix.getProjectRunningKey();
+        //1 判断仿真证书是否够用,如果证书为0则将项目加入等待队列;如果证书小于并行度则加入扩充队列,并用现有证书执行;如果证书够用,直接执行。
+        final int remainderSimulationLicense = numSimulationLicense - usingSimulationLicenseNumber;
+        final int remainderDynamicLicense;
+
         // 如果执行后的并行度总和小于最大节点数则执行,否则不执行
         if (DictConstants.MODEL_TYPE_VTD.equals(modelType)) {
-            if (usingSimulationLicenseNumber + parallelism <= numSimulationLicense) {
-                run(projectMessageDTO, clusterUserId, modelType, clusterEntity.getId(), redisPrefix.getProjectRunningKey(), redisPrefix.getProjectWaitingKey());
+            if (remainderSimulationLicense <= 0) {
+                wait(DictConstants.PROJECT_WAIT_TYPE_EXECUTE, projectWaitingKey, projectMessageModel);
+            } else if (remainderSimulationLicense < parallelism) {
+                wait(DictConstants.PROJECT_WAIT_TYPE_EXPAND, projectWaitingKey, projectMessageModel);
             } else {
-                log.info("VTD 项目 {} 并行度为 {},用户 {} 的集群 {} 的仿真证书总数量为 {},已使用数量为 {}。该项目加入等待队列。 ", projectId, parallelism, clusterUserId, clusterId, numSimulationLicense, usingSimulationLicenseNumber);
-                wait(redisPrefix.getProjectWaitingKey(), projectMessageDTO);
+                run(projectMessageModel, clusterUserId, modelType, clusterId, projectRunningKey, projectWaitingKey);
             }
         } else if (DictConstants.MODEL_TYPE_CARSIM.equals(modelType)) {
             usingDynamicLicenseNumber = projectUtil.getUsingLicenseNumber(clusterUserId, DictConstants.LICENSE_TYPE_DYNAMIC);
-            if (usingSimulationLicenseNumber + parallelism <= numSimulationLicense && usingDynamicLicenseNumber + parallelism <= numDynamicLicense) {
-                run(projectMessageDTO, clusterUserId, modelType, clusterEntity.getId(), redisPrefix.getProjectRunningKey(), redisPrefix.getProjectWaitingKey());
+            remainderDynamicLicense = numDynamicLicense - usingDynamicLicenseNumber;
+            if (remainderSimulationLicense <= 0 || remainderDynamicLicense <= 0) {
+                wait(DictConstants.PROJECT_WAIT_TYPE_EXECUTE, projectWaitingKey, projectMessageModel);
+            } else if (remainderSimulationLicense < parallelism || remainderDynamicLicense < parallelism) {
+                wait(DictConstants.PROJECT_WAIT_TYPE_EXPAND, projectWaitingKey, projectMessageModel);
             } else {
-                log.info("CARSIM 项目 {} 并行度为 {},用户 {} 的集群 {} 的仿真证书总数量为 {},已使用数量为 {},动力学证书总数量为 {},已使用数量为 {}。该项目加入等待队列。 ", projectId, parallelism, clusterUserId, clusterId, numSimulationLicense, usingSimulationLicenseNumber, numDynamicLicense, usingDynamicLicenseNumber);
-                wait(redisPrefix.getProjectWaitingKey(), projectMessageDTO);
+                run(projectMessageModel, clusterUserId, modelType, clusterId, projectRunningKey, projectWaitingKey);
             }
         } else {
             throw new RuntimeException("未知模型类型:" + modelType);
         }
     }
 
+    //* -------------------------------- 等待 --------------------------------
+
+    /**
+     * @param waitType          等待类型 1等待执行 2等待扩充
+     * @param projectWaitingKey 项目等待 key
+     * @param projectMessageModel 项目信息
+     */
+    public void wait(String waitType, String projectWaitingKey, ProjectMessageModel projectMessageModel) {
+        //1 获取 redis 中的等待列表
+
+        if (DictConstants.PROJECT_WAIT_TYPE_EXECUTE.equals(waitType)) {
+
+        } else if (DictConstants.PROJECT_WAIT_TYPE_EXPAND.equals(waitType)) {
+
+        }
+        customRedisClient.set(projectWaitingKey, JsonUtil.beanToJson(projectMessageModel));
+    }
+
+
     //* -------------------------------- 运行 --------------------------------
 
     /**
-     * @param projectMessageDTO 初始接收到的项目启动信息
+     * @param projectMessageModel 初始接收到的项目启动信息
      * @param clusterId         集群ID
      * @param projectRunningKey projectRunningKey
      * @param projectWaitingKey projectWaitingKey
      */
-    public void run(ProjectMessageDTO projectMessageDTO, String clusterUserId, String modelType, String clusterId, String projectRunningKey, String projectWaitingKey) {
-        String projectId = projectMessageDTO.getProjectId();    // 项目 id
+    public void run(ProjectMessageModel projectMessageModel, String clusterUserId, String modelType, String clusterId, String projectRunningKey, String projectWaitingKey) {
+        String projectId = projectMessageModel.getProjectId();    // 项目 id
         String isChoiceGpu = projectUtil.getIsChoiceGpuByProjectId(projectId);
-        int parallelism = projectMessageDTO.getParallelism();  // 期望并行度
+        int parallelism = projectMessageModel.getParallelism();  // 期望并行度
         //1 获取集群剩余可用并行度
         int restParallelism = projectUtil.getRestParallelism(isChoiceGpu);
         //2 判断剩余可用并行度是否大于项目并行度,否则加入扩充队列
@@ -410,31 +432,33 @@ public class ProjectService {
                 projectUtil.useLicense(clusterUserId, modelType, parallelism);
             }
             // 设置实际的并行度
-            projectMessageDTO.setCurrentParallelism(Math.min(restParallelism, parallelism));   // 设置实际的并行度
-            parseProject(projectMessageDTO, projectRunningKey, isChoiceGpu);
+            projectMessageModel.setCurrentParallelism(Math.min(restParallelism, parallelism));   // 设置实际的并行度
+            parseProject(projectMessageModel, projectRunningKey, isChoiceGpu);
         } else {
             log.info("服务器资源不够,项目 " + projectId + " 暂时加入等待队列。");
-            wait(projectWaitingKey, projectMessageDTO);
+//            wait(projectWaitingKey, projectMessageDTO);
         }
     }
 
     /**
-     * @param projectMessageDTO 初始接收到的项目启动信息
+     * 运行项目
+     *
+     * @param projectMessageModel 初始接收到的项目启动信息
      * @param projectRunningKey projectRunningKey
      */
     @SneakyThrows
-    public void parseProject(ProjectMessageDTO projectMessageDTO, String projectRunningKey, String isChoiceGpu) {
-        String projectId = projectMessageDTO.getProjectId();    // 项目 id
-        String modelType = projectMessageDTO.getModelType();
-        String vehicleConfigId = projectMessageDTO.getVehicleConfigId();
-        int currentParallelism = projectMessageDTO.getCurrentParallelism();   // 当前并行度
-        String algorithmId = projectMessageDTO.getAlgorithmId();    // 算法 id
+    public void parseProject(ProjectMessageModel projectMessageModel, String projectRunningKey, String isChoiceGpu) {
+        String projectId = projectMessageModel.getProjectId();    // 项目 id
+        String modelType = projectMessageModel.getModelType();
+        String vehicleConfigId = projectMessageModel.getVehicleConfigId();
+        int currentParallelism = projectMessageModel.getCurrentParallelism();   // 当前并行度
+        String algorithmId = projectMessageModel.getAlgorithmId();    // 算法 id
         String projectPath = linuxTempPath + "project/" + projectId + "/";
         // -------------------------------- 1 获取任务 json 列表 --------------------------------
         List<String> taskJsonList = FileUtil.listAbsolutePathByTypeAndLength(projectPath, "json", (StringUtil.getRandomUUID() + ".json").length());
         int taskTotal = taskJsonList.size();
-        projectMessageDTO.setTaskTotal(taskTotal);
-        projectMessageDTO.setTaskCompleted(0);
+        projectMessageModel.setTaskTotal(taskTotal);
+        projectMessageModel.setTaskCompleted(0);
         // 设置任务数量之后,获取运行节点,并将项目运行信息放入 redis
         //1 获取剩余并行度和即将使用的各node的并行度
         Map<String, Integer> nodeMap0 = projectUtil.getNodeMap(isChoiceGpu);
@@ -443,9 +467,9 @@ public class ProjectService {
         nodeMap.keySet().forEach(nodeName -> projectUtil.decrementParallelism(isChoiceGpu, nodeName, nodeMap.get(nodeName)));
         // 重新设置实际使用的并行度并保存到 redis
         int realCurrentParallelism = nodeMap.values().stream().mapToInt(parallelism -> parallelism).sum();
-        projectMessageDTO.setCurrentParallelism(realCurrentParallelism);
+        projectMessageModel.setCurrentParallelism(realCurrentParallelism);
         log.info("项目 " + projectId + " 运行在:" + nodeMap);
-        stringRedisTemplate.opsForValue().set(projectRunningKey, JsonUtil.beanToJson(projectMessageDTO));
+        stringRedisTemplate.opsForValue().set(projectRunningKey, JsonUtil.beanToJson(projectMessageModel));
         //* -------------------------------- 3 根据算法id查询算法名称 --------------------------------
         String algorithmDockerImage = algorithmMapper.selectDockerImageById(algorithmId);
         // -------------------------------- 4 发送任务消息 --------------------------------
@@ -516,17 +540,6 @@ public class ProjectService {
     }
 
 
-    //* -------------------------------- 等待 --------------------------------
-
-    /**
-     * @param projectWaitingKey 项目等待 key
-     * @param projectMessageDTO 项目信息
-     */
-    public void wait(String projectWaitingKey, ProjectMessageDTO projectMessageDTO) {
-        stringRedisTemplate.opsForValue().set(projectWaitingKey, JsonUtil.beanToJson(projectMessageDTO));
-    }
-
-
     //* -------------------------------- Comment --------------------------------
 
     /**
@@ -639,12 +652,10 @@ public class ProjectService {
         String leafIndexPrefix = "project:" + projectId + ":package:" + packageId + ":leaf";
         //1 查询该场景包的所有指标列表,包删了无所谓,但要过滤删掉的指标。并保存成 json 文件。
         List<IndexTemplateEntity> allIndexList = indexTemplateMapper.selectByPackageIdIncludeDeleted(packageId);
-//        FileUtil.writeStringToLocalFile(JsonUtil.listToJson(allIndexList), projectPath + "all-index-list.json");
         stringRedisTemplate.opsForValue().set(allIndexPrefix, JsonUtil.listToJson(allIndexList));
         //2 查询场景包叶子指标
         List<IndexTemplateEntity> leafIndexList = allIndexList.stream().filter(index -> StringUtil.isNotEmpty(index.getRuleId())).collect(Collectors.toList());
         log.debug("项目 " + projectId + " 的叶子指标为:" + leafIndexList);
-//        FileUtil.writeStringToLocalFile(JsonUtil.listToJson(allIndexList), projectPath + "leaf-index-list.json");
         stringRedisTemplate.opsForValue().set(leafIndexPrefix, JsonUtil.listToJson(leafIndexList));
         List<SceneEntity> sceneList = new ArrayList<>();
         leafIndexList.forEach(leafIndex -> {
@@ -767,7 +778,7 @@ public class ProjectService {
                 autoSubProjectMapper.saveErrorMessage(SchedulerProjectPO.builder().id(projectId).errorMessage(em).modifyUserId(DictConstants.SCHEDULER_USER_ID).modifyTime(TimeUtil.getNowForMysql()).build());
             }
         });
-        stopProject(isChoiceGpu, projectType, projectId);
+        stopProject( projectType, projectId);
     }
 
     /**
@@ -775,7 +786,8 @@ public class ProjectService {
      * @param projectType 项目类型
      */
     @SneakyThrows
-    public void stopProject(String isChoiceGpu, String projectType, String projectId) {
+    public void stopProject( String projectType, String projectId) {
+        String isChoiceGpu = projectUtil.getIsChoiceGpuByProjectId(projectId);
         //* -------------------------------- Comment --------------------------------
         ProjectEntity projectEntity;
         String projectUserId, clusterUserId, modelType, projectRunningKeyPrefix;

+ 9 - 8
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/TaskService.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/TaskService.java

@@ -1,15 +1,16 @@
-package com.css.simulation.resource.scheduler.service;
+package com.css.simulation.resource.scheduler.application.service;
 
 import api.common.pojo.constants.DictConstants;
 import api.common.util.HttpUtil;
 import api.common.util.TimeUtil;
-import com.css.simulation.resource.scheduler.configuration.custom.CustomConfiguration;
-import com.css.simulation.resource.scheduler.configuration.kubernetes.KubernetesConfiguration;
-import com.css.simulation.resource.scheduler.configuration.redis.CustomRedisClient;
-import com.css.simulation.resource.scheduler.data.entity.PrefixEntity;
-import com.css.simulation.resource.scheduler.data.entity.ProjectEntity;
-import com.css.simulation.resource.scheduler.data.entity.TaskEntity;
-import com.css.simulation.resource.scheduler.mapper.TaskMapper;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.custom.CustomConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.kubernetes.KubernetesConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.redis.CustomRedisClient;
+import com.css.simulation.resource.scheduler.infrastructure.entity.PrefixEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.ProjectEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.TaskEntity;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.TaskMapper;
+import com.css.simulation.resource.scheduler.infrastructure.util.*;
 import com.css.simulation.resource.scheduler.util.*;
 import io.kubernetes.client.openapi.ApiClient;
 import io.minio.MinioClient;

+ 0 - 62
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/http/HttpConfiguration.java

@@ -1,62 +0,0 @@
-package com.css.simulation.resource.scheduler.configuration.http;
-
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
-import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
-import java.security.KeyManagementException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.X509Certificate;
-
-@Configuration
-public class HttpConfiguration {
-    @Bean
-    public CloseableHttpClient closeableHttpClient() throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException {
-
-        SSLContext sslContext = SSLContext.getInstance("TLS");
-        X509TrustManager x509TrustManager = new X509TrustManager() {
-            @Override
-            public X509Certificate[] getAcceptedIssuers() {
-                return null;
-            }
-
-            @Override
-            public void checkClientTrusted(X509Certificate[] arg0, String arg1) {
-            }
-
-            @Override
-            public void checkServerTrusted(X509Certificate[] arg0, String arg1) {
-            }
-        };
-        sslContext.init(null, new TrustManager[]{x509TrustManager}, null);
-        SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
-        PoolingHttpClientConnectionManager pool = new PoolingHttpClientConnectionManager();
-        pool.setMaxTotal(300);
-        pool.setDefaultMaxPerRoute(300);
-        return HttpClients.custom()
-                .setConnectionManager(pool)
-                .setSSLSocketFactory(sslConnectionSocketFactory)
-                .build();
-    }
-
-
-    @Bean
-    public RequestConfig requestConfig() {
-        return RequestConfig.custom()
-                .setSocketTimeout(5000)
-                .setConnectTimeout(5000)
-                .setConnectionRequestTimeout(5000)
-                .setRedirectsEnabled(false)
-                .setExpectContinueEnabled(false)
-                .build();
-    }
-}

+ 0 - 9
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/ProjectWaitingQueueEntity.java

@@ -1,9 +0,0 @@
-package com.css.simulation.resource.scheduler.data.entity;
-
-import lombok.Data;
-
-@Data
-public class ProjectWaitingQueueEntity {
-    private String projectId;
-    private String waitingType; //1等待扩充 2等待执行
-}

+ 0 - 20
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/model/VehicleModel.java

@@ -1,20 +0,0 @@
-package com.css.simulation.resource.scheduler.data.model;
-
-import com.css.simulation.resource.scheduler.data.entity.ModelEntity;
-import com.css.simulation.resource.scheduler.data.entity.SensorsEntity;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class VehicleModel {
-
-    private ModelEntity model;
-    private DynamicsModel dynamics;
-    private SensorsEntity sensors;
-
-}

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/feign/VideoFeignClient.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/feign/VideoFeignClient.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.configuration.feign;
+package com.css.simulation.resource.scheduler.domain.feign;
 
 import api.common.pojo.common.ResponseBodyVO;
-import com.css.simulation.resource.scheduler.configuration.feign.fallback.VideoFeignClientFallBack;
+import com.css.simulation.resource.scheduler.domain.feign.fallback.VideoFeignClientFallBack;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestParam;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/feign/WebServerClient.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/feign/WebServerClient.java

@@ -1,9 +1,9 @@
-package com.css.simulation.resource.scheduler.configuration.feign;
+package com.css.simulation.resource.scheduler.domain.feign;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.project.SimulationManualProjectParam;
 import api.common.pojo.vo.project.ProjectDetailsVO;
-import com.css.simulation.resource.scheduler.configuration.feign.fallback.WebServerClientFallBack;
+import com.css.simulation.resource.scheduler.domain.feign.fallback.WebServerClientFallBack;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestBody;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/feign/fallback/VideoFeignClientFallBack.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/feign/fallback/VideoFeignClientFallBack.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.configuration.feign.fallback;
+package com.css.simulation.resource.scheduler.domain.feign.fallback;
 
 import api.common.pojo.common.ResponseBodyVO;
-import com.css.simulation.resource.scheduler.configuration.feign.VideoFeignClient;
+import com.css.simulation.resource.scheduler.domain.feign.VideoFeignClient;
 import org.springframework.stereotype.Component;
 
 

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/feign/fallback/WebServerClientFallBack.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/feign/fallback/WebServerClientFallBack.java

@@ -1,9 +1,9 @@
-package com.css.simulation.resource.scheduler.configuration.feign.fallback;
+package com.css.simulation.resource.scheduler.domain.feign.fallback;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.param.project.SimulationManualProjectParam;
 import api.common.pojo.vo.project.ProjectDetailsVO;
-import com.css.simulation.resource.scheduler.configuration.feign.WebServerClient;
+import com.css.simulation.resource.scheduler.domain.feign.WebServerClient;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/algorithm/AlgorithmPlatform.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/algorithm/AlgorithmPlatform.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.algorithm;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.algorithm;
 
 import api.common.util.HttpUtil;
 import api.common.util.JsonUtil;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/algorithm/OauthParameter.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/algorithm/OauthParameter.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.algorithm;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.algorithm;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/custom/CustomConfiguration.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/custom/CustomConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.custom;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.custom;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;

+ 3 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/docker/DockerConfiguration.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/docker/DockerConfiguration.java

@@ -1,6 +1,6 @@
-package com.css.simulation.resource.scheduler.configuration.docker;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.docker;
 
-import com.css.simulation.resource.scheduler.data.model.DockerNodeModel;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.entity.DockerNodeEntity;
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
@@ -15,5 +15,5 @@ public class DockerConfiguration {
     private String registryVolume;
     private Integer maxAlgorithmImage;
     private Integer minAlgorithmImage;
-    private List<DockerNodeModel> nodeList;
+    private List<DockerNodeEntity> nodeList;
 }

+ 4 - 4
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/model/DockerNodeModel.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/entity/DockerNodeEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.model;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class DockerNodeModel implements Cloneable{
+public class DockerNodeEntity implements Cloneable{
     private String name;
     private String hostname;
     private String username;
@@ -17,10 +17,10 @@ public class DockerNodeModel implements Cloneable{
 
 
     @Override
-    public DockerNodeModel clone() {
+    public DockerNodeEntity clone() {
         try {
             // TODO: copy mutable state here, so the clone can't change the internals of the original
-            return (DockerNodeModel) super.clone();
+            return (DockerNodeEntity) super.clone();
         } catch (CloneNotSupportedException e) {
             throw new AssertionError();
         }

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/model/DynamicsModel.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/entity/DynamicsEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.model;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -11,7 +11,7 @@ import java.math.BigDecimal;
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class DynamicsModel {
+public class DynamicsEntity {
 
     /**
      * 		"dynamics": {

+ 4 - 4
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/model/NodeModel.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/entity/NodeEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.model;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -9,16 +9,16 @@ import lombok.NoArgsConstructor;
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class NodeModel implements Cloneable {
+public class NodeEntity implements Cloneable {
     private String hostname;
     private String ip;
     private Integer parallelism;
 
     @Override
-    public NodeModel clone() {
+    public NodeEntity clone() {
         try {
             // TODO: copy mutable state here, so the clone can't change the internals of the original
-            return (NodeModel) super.clone();
+            return (NodeEntity) super.clone();
         } catch (CloneNotSupportedException e) {
             throw new AssertionError();
         }

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/git/GitConfiguration.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/git/GitConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.git;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.git;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;

+ 4 - 4
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/init/CustomApplicationRunner.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/init/CustomApplicationRunner.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.configuration.init;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.init;
 
-import com.css.simulation.resource.scheduler.configuration.redis.CustomRedisClient;
-import com.css.simulation.resource.scheduler.util.ProjectUtil;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.redis.CustomRedisClient;
+import com.css.simulation.resource.scheduler.infrastructure.util.ProjectUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
@@ -26,4 +26,4 @@ public class CustomApplicationRunner implements ApplicationRunner {
         log.info("重置节点并行度。");
         projectUtil.resetNodeParallelism();
     }
-}
+}

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/kafka/KafkaAdminConfiguration.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/kafka/KafkaAdminConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.kafka;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.kafka;
 
 import org.apache.kafka.clients.admin.Admin;
 import org.apache.kafka.clients.admin.KafkaAdminClient;

+ 4 - 4
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/kubernetes/KubernetesConfiguration.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/kubernetes/KubernetesConfiguration.java

@@ -1,6 +1,6 @@
-package com.css.simulation.resource.scheduler.configuration.kubernetes;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.kubernetes;
 
-import com.css.simulation.resource.scheduler.data.model.NodeModel;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.entity.NodeEntity;
 import io.kubernetes.client.openapi.ApiClient;
 import io.kubernetes.client.util.ClientBuilder;
 import io.kubernetes.client.util.KubeConfig;
@@ -30,8 +30,8 @@ public class KubernetesConfiguration {
     private String carsimImage;
     private String carsimCommand;
 //    private List<NodeModel> nodeList;
-    private List<NodeModel> cpuNodeList;
-    private List<NodeModel> gpuNodeList;
+    private List<NodeEntity> cpuNodeList;
+    private List<NodeEntity> gpuNodeList;
 
     @Bean
     @SneakyThrows

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/minio/MinioConfiguration.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/minio/MinioConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.minio;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.minio;
 
 import io.minio.MinioClient;
 import lombok.Data;
@@ -23,4 +23,4 @@ public class MinioConfiguration {
                 .credentials(accessKey, secretKey)
                 .build();
     }
-}
+}

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/pool/PoolConfiguration.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/pool/PoolConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.pool;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.pool;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/pool/PoolParam.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/pool/PoolParam.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.pool;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.pool;
 
 import lombok.Data;
 

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/redis/RedisTemplateConfiguration.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/configuration/redis/RedisTemplateConfiguration.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.redis;
+package com.css.simulation.resource.scheduler.infrastructure.configuration.redis;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/AlgorithmEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/AlgorithmEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.AllArgsConstructor;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/CameraEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/CameraEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/ClusterEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ClusterEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/CpuNodeEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/CpuNodeEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/IndexTemplateEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/IndexTemplateEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/InfoEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/InfoEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/LeafIndexEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/LeafIndexEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import api.common.pojo.common.CommonPO;
 import lombok.*;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/ModelEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ModelEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/NodeEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/NodeEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/OgtEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/OgtEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/PartitionEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/PartitionEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 
 import lombok.AllArgsConstructor;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/PrefixEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/PrefixEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 
 import lombok.AllArgsConstructor;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/ProjectEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ProjectEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/ScenarioEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ScenarioEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/SceneEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/SceneEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/ScoreEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/ScoreEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/SensorsEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/SensorsEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/TaskEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/TaskEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import api.common.pojo.common.CommonPO;
 import lombok.*;

+ 3 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/TaskMessageEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/TaskMessageEntity.java

@@ -1,6 +1,6 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
-import com.css.simulation.resource.scheduler.data.model.VehicleModel;
+import com.css.simulation.resource.scheduler.application.entity.VehicleEntity;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -122,6 +122,6 @@ public class TaskMessageEntity {
 
     private InfoEntity info;
     private ScenarioEntity scenario;
-    private VehicleModel vehicle;
+    private VehicleEntity vehicle;
 
 }

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/UserEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/UserEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/data/entity/VehicleEntity.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/entity/VehicleEntity.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.data.entity;
+package com.css.simulation.resource.scheduler.infrastructure.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/AlgorithmMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/AlgorithmMapper.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
-import com.css.simulation.resource.scheduler.data.entity.AlgorithmEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.AlgorithmEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/AutoSubProjectMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/AutoSubProjectMapper.java

@@ -1,8 +1,8 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
 import api.common.pojo.po.scheduler.SchedulerProjectPO;
-import com.css.simulation.resource.scheduler.data.entity.ProjectEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.ProjectEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/ClusterMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/ClusterMapper.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
-import com.css.simulation.resource.scheduler.data.entity.ClusterEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.ClusterEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/ConfigMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/ConfigMapper.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
 import org.apache.ibatis.annotations.Mapper;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/IndexMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/IndexMapper.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
-import com.css.simulation.resource.scheduler.data.entity.LeafIndexEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.LeafIndexEntity;
 import org.apache.ibatis.annotations.*;
 
 import java.util.List;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/IndexTemplateMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/IndexTemplateMapper.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
-import com.css.simulation.resource.scheduler.data.entity.IndexTemplateEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.IndexTemplateEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/ManualProjectMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/ManualProjectMapper.java

@@ -1,8 +1,8 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
 import api.common.pojo.po.scheduler.SchedulerProjectPO;
-import com.css.simulation.resource.scheduler.data.entity.ProjectEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.ProjectEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 3 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/SceneMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/SceneMapper.java

@@ -1,8 +1,8 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
-import com.css.simulation.resource.scheduler.data.entity.IndexTemplateEntity;
-import com.css.simulation.resource.scheduler.data.entity.SceneEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.IndexTemplateEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.SceneEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/ScoringRulesMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/ScoringRulesMapper.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
 import org.apache.ibatis.annotations.Mapper;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/SensorCameraMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/SensorCameraMapper.java

@@ -1,6 +1,6 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
-import com.css.simulation.resource.scheduler.data.entity.CameraEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.CameraEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/SensorOgtMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/SensorOgtMapper.java

@@ -1,6 +1,6 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
-import com.css.simulation.resource.scheduler.data.entity.OgtEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.OgtEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/SimulationAutomaticProjectMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/SimulationAutomaticProjectMapper.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
 import org.apache.ibatis.annotations.Mapper;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/TaskMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/TaskMapper.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
-import com.css.simulation.resource.scheduler.data.entity.TaskEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.TaskEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 import org.springframework.context.annotation.Scope;

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/UserMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/UserMapper.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
 
-import com.css.simulation.resource.scheduler.data.entity.UserEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.UserEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/VehicleMapper.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/mysql/mapper/VehicleMapper.java

@@ -1,6 +1,6 @@
-package com.css.simulation.resource.scheduler.mapper;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper;
 
-import com.css.simulation.resource.scheduler.data.entity.VehicleEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.VehicleEntity;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.type.JdbcType;
 

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/redis/CustomRedisClient.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/persistence/redis/CustomRedisClient.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.configuration.redis;
+package com.css.simulation.resource.scheduler.infrastructure.persistence.redis;
 
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;

+ 4 - 4
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/TaskIndexManager.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/repository/TaskIndexRepository.java

@@ -1,7 +1,7 @@
-package com.css.simulation.resource.scheduler.service;
+package com.css.simulation.resource.scheduler.infrastructure.repository;
 
-import com.css.simulation.resource.scheduler.mapper.IndexMapper;
-import com.css.simulation.resource.scheduler.data.entity.LeafIndexEntity;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.IndexMapper;
+import com.css.simulation.resource.scheduler.infrastructure.entity.LeafIndexEntity;
 import org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
@@ -11,7 +11,7 @@ import javax.annotation.Resource;
 import java.util.List;
 
 @Component
-public class TaskIndexManager {
+public class TaskIndexRepository {
 
     @Resource
     private SqlSessionFactory sqlSessionFactory;

+ 10 - 10
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/scheduler/AlgorithmScheduler.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/scheduler/AlgorithmScheduler.java

@@ -1,10 +1,10 @@
-package com.css.simulation.resource.scheduler.scheduler;
+package com.css.simulation.resource.scheduler.infrastructure.scheduler;
 
 import api.common.util.SshUtil;
-import com.css.simulation.resource.scheduler.configuration.docker.DockerConfiguration;
-import com.css.simulation.resource.scheduler.mapper.AlgorithmMapper;
-import com.css.simulation.resource.scheduler.data.entity.AlgorithmEntity;
-import com.css.simulation.resource.scheduler.data.model.DockerNodeModel;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.docker.DockerConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.AlgorithmMapper;
+import com.css.simulation.resource.scheduler.infrastructure.entity.AlgorithmEntity;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.entity.DockerNodeEntity;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.sshd.client.SshClient;
@@ -57,11 +57,11 @@ public class AlgorithmScheduler {
         //3 修改数据库为未导入
         algorithmMapper.updateDockerImportAndDockerImageByIdList("0", "", algorithmIdToUpdateList);
         //4 删除镜像
-        List<DockerNodeModel> nodeList = dockerConfiguration.getNodeList();
-        for (DockerNodeModel dockerNodeModel : nodeList) {
-            String hostname = dockerNodeModel.getHostname();
-            String username = dockerNodeModel.getUsername();
-            String password = dockerNodeModel.getPassword();
+        List<DockerNodeEntity> nodeList = dockerConfiguration.getNodeList();
+        for (DockerNodeEntity dockerNodeEntity : nodeList) {
+            String hostname = dockerNodeEntity.getHostname();
+            String username = dockerNodeEntity.getUsername();
+            String password = dockerNodeEntity.getPassword();
             SshClient client = SshUtil.getClient();
             ClientSession session = SshUtil.getSession(client, hostname, username, password);
             SshUtil.execute(session, dockerRmiCommand.toString());

+ 6 - 6
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/scheduler/ProjectScheduler.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/scheduler/ProjectScheduler.java

@@ -1,11 +1,11 @@
-package com.css.simulation.resource.scheduler.scheduler;
+package com.css.simulation.resource.scheduler.infrastructure.scheduler;
 
-import api.common.pojo.dto.ProjectMessageDTO;
+import com.css.simulation.resource.scheduler.api.model.ProjectMessageModel;
 import api.common.util.CollectionUtil;
 import api.common.util.JsonUtil;
-import com.css.simulation.resource.scheduler.service.ProjectService;
-import com.css.simulation.resource.scheduler.util.ProjectUtil;
-import com.css.simulation.resource.scheduler.util.RedisUtil;
+import com.css.simulation.resource.scheduler.application.service.ProjectService;
+import com.css.simulation.resource.scheduler.infrastructure.util.ProjectUtil;
+import com.css.simulation.resource.scheduler.infrastructure.util.RedisUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -34,7 +34,7 @@ public class ProjectScheduler {
             log.info("尝试启动等待中的项目:" + projectMessageKeys);
             for (String projectMessageKey : projectMessageKeys) {
                 final String projectMessage = RedisUtil.getStringByKey(stringRedisTemplate, projectMessageKey);
-                projectService.cacheProject(JsonUtil.jsonToBean(projectMessage, ProjectMessageDTO.class));
+                projectService.cacheProject(JsonUtil.jsonToBean(projectMessage, ProjectMessageModel.class));
             }
         }
     }

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/ApacheKafkaUtil.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/ApacheKafkaUtil.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.util;
+package com.css.simulation.resource.scheduler.infrastructure.util;
 
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/GitUtil.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/GitUtil.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.util;
+package com.css.simulation.resource.scheduler.infrastructure.util;
 
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/KubernetesUtil.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/KubernetesUtil.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.util;
+package com.css.simulation.resource.scheduler.infrastructure.util;
 
 import api.common.util.OsUtil;
 import io.kubernetes.client.openapi.ApiClient;

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/MinioUtil.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/MinioUtil.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.util;
+package com.css.simulation.resource.scheduler.infrastructure.util;
 
 import io.minio.*;
 import io.minio.errors.*;

+ 53 - 54
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/ProjectUtil.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/ProjectUtil.java

@@ -1,21 +1,20 @@
-package com.css.simulation.resource.scheduler.util;
+package com.css.simulation.resource.scheduler.infrastructure.util;
 
 import api.common.pojo.common.ResponseBodyVO;
 import api.common.pojo.constants.DictConstants;
-import api.common.pojo.dto.ProjectMessageDTO;
+import com.css.simulation.resource.scheduler.api.model.ProjectMessageModel;
 import api.common.util.*;
-import com.css.simulation.resource.scheduler.configuration.custom.CustomConfiguration;
-import com.css.simulation.resource.scheduler.configuration.kubernetes.KubernetesConfiguration;
-import com.css.simulation.resource.scheduler.configuration.redis.CustomRedisClient;
-import com.css.simulation.resource.scheduler.data.entity.NodeEntity;
-import com.css.simulation.resource.scheduler.data.entity.PrefixEntity;
-import com.css.simulation.resource.scheduler.data.entity.ProjectEntity;
-import com.css.simulation.resource.scheduler.data.entity.UserEntity;
-import com.css.simulation.resource.scheduler.data.model.NodeModel;
-import com.css.simulation.resource.scheduler.mapper.AutoSubProjectMapper;
-import com.css.simulation.resource.scheduler.mapper.ClusterMapper;
-import com.css.simulation.resource.scheduler.mapper.ManualProjectMapper;
-import com.css.simulation.resource.scheduler.mapper.UserMapper;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.custom.CustomConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.kubernetes.KubernetesConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.redis.CustomRedisClient;
+import com.css.simulation.resource.scheduler.infrastructure.entity.PrefixEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.ProjectEntity;
+import com.css.simulation.resource.scheduler.infrastructure.entity.UserEntity;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.entity.NodeEntity;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.AutoSubProjectMapper;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.ClusterMapper;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.ManualProjectMapper;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.UserMapper;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.kubernetes.client.openapi.ApiClient;
@@ -85,11 +84,11 @@ public class ProjectUtil {
     }
 
 
-    public List<NodeEntity> getNodeListToCount(Map<String, Integer> nodeMap) {
-        List<NodeEntity> result = new ArrayList<>();
+    public List<com.css.simulation.resource.scheduler.infrastructure.entity.NodeEntity> getNodeListToCount(Map<String, Integer> nodeMap) {
+        List<com.css.simulation.resource.scheduler.infrastructure.entity.NodeEntity> result = new ArrayList<>();
         nodeMap.forEach((nodeName, parallelism) -> {
             for (int i = 0; i < parallelism; i++) {
-                result.add(new NodeEntity(nodeName, 0));
+                result.add(new com.css.simulation.resource.scheduler.infrastructure.entity.NodeEntity(nodeName, 0));
             }
         });
         return result;
@@ -227,10 +226,10 @@ public class ProjectUtil {
     public Map<String, Integer> getNodeMap(String isChoiceGpu) {
         Map<String, Integer> resultNodeMap = new HashMap<>();    // 用于执行的节点映射(节点名,并行度)
         if (DictConstants.USE_GPU.equals(isChoiceGpu)) {
-            List<NodeModel> initialNodeList = kubernetesConfiguration.getGpuNodeList();
+            List<NodeEntity> initialNodeList = kubernetesConfiguration.getGpuNodeList();
             log.info("预设并行度的GPU节点列表为:" + initialNodeList);
-            for (NodeModel kubernetesNodeSource : initialNodeList) {
-                NodeModel kubernetesNodeCopy = kubernetesNodeSource.clone();
+            for (NodeEntity kubernetesNodeSource : initialNodeList) {
+                NodeEntity kubernetesNodeCopy = kubernetesNodeSource.clone();
                 String nodeName = kubernetesNodeCopy.getHostname();
                 int maxParallelism = kubernetesNodeCopy.getParallelism();
                 String restParallelismKey = "gpu-node:" + nodeName + ":parallelism";
@@ -246,10 +245,10 @@ public class ProjectUtil {
             }
             log.info("剩余并行度的GPU节点列表为:" + resultNodeMap);
         } else if (DictConstants.USE_CPU.equals(isChoiceGpu)) {
-            List<NodeModel> initialNodeList = kubernetesConfiguration.getCpuNodeList();
+            List<NodeEntity> initialNodeList = kubernetesConfiguration.getCpuNodeList();
             log.info("预设并行度的CPU节点列表为:" + initialNodeList);
-            for (NodeModel kubernetesNodeSource : initialNodeList) {
-                NodeModel kubernetesNodeCopy = kubernetesNodeSource.clone();
+            for (NodeEntity kubernetesNodeSource : initialNodeList) {
+                NodeEntity kubernetesNodeCopy = kubernetesNodeSource.clone();
                 String nodeName = kubernetesNodeCopy.getHostname();
                 int maxParallelism = kubernetesNodeCopy.getParallelism();
                 String restParallelismKey = "cpu-node:" + nodeName + ":parallelism";
@@ -276,14 +275,14 @@ public class ProjectUtil {
      * @return 节点映射(节点名,并行度)
      */
     public Map<String, Integer> getNodeMapToUse(String isChoiceGpu, int parallelism) {
-        List<NodeModel> initialNodeList; // 预设并行度的节点列表
+        List<NodeEntity> initialNodeList; // 预设并行度的节点列表
         if (DictConstants.USE_GPU.equals(isChoiceGpu)) {
             initialNodeList = kubernetesConfiguration.getGpuNodeList();
             log.info("预设并行度的节点列表为:" + initialNodeList);
             // 遍历所有节点,获取还有剩余并行度的节点
-            List<NodeModel> restNodeList = new ArrayList<>();    // 剩余并行度的节点列表
-            for (NodeModel kubernetesNodeSource : initialNodeList) {
-                NodeModel kubernetesNodeCopy = kubernetesNodeSource.clone();
+            List<NodeEntity> restNodeList = new ArrayList<>();    // 剩余并行度的节点列表
+            for (NodeEntity kubernetesNodeSource : initialNodeList) {
+                NodeEntity kubernetesNodeCopy = kubernetesNodeSource.clone();
                 String nodeName = kubernetesNodeCopy.getHostname();   // 节点名称
                 int maxParallelism = kubernetesNodeCopy.getParallelism();
                 String restParallelismString = stringRedisTemplate.opsForValue().get("gpu-node:" + nodeName + ":parallelism");// 获取节点剩余并行度的 key
@@ -304,7 +303,7 @@ public class ProjectUtil {
             Map<String, Integer> resultNodeMap = new HashMap<>();    // 用于执行的节点映射(节点名,并行度)
             if (!CollectionUtil.isEmpty(restNodeList)) {
                 if (restNodeList.size() == 1) {
-                    NodeModel tempNode = restNodeList.get(0);
+                    NodeEntity tempNode = restNodeList.get(0);
                     String tempNodeName = tempNode.getHostname();
                     int tempParallelism = tempNode.getParallelism();
                     resultNodeMap.put(tempNodeName, Math.min(tempParallelism, parallelism));
@@ -313,7 +312,7 @@ public class ProjectUtil {
                     for (int i = 0; i < parallelism; i++) {
                         // 每次降序排序都取剩余并行度最大的一个。
                         restNodeList.sort((o1, o2) -> o2.getParallelism() - o1.getParallelism());
-                        NodeModel tempNode = restNodeList.get(0);
+                        NodeEntity tempNode = restNodeList.get(0);
                         String tempNodeName = tempNode.getHostname();
                         int tempParallelism = tempNode.getParallelism();
                         if (tempParallelism > 0) {
@@ -329,9 +328,9 @@ public class ProjectUtil {
             initialNodeList = kubernetesConfiguration.getCpuNodeList();
             log.info("预设并行度的节点列表为:" + initialNodeList);
             // 遍历所有节点,获取还有剩余并行度的节点
-            List<NodeModel> restNodeList = new ArrayList<>();    // 剩余并行度的节点列表
-            for (NodeModel kubernetesNodeSource : initialNodeList) {
-                NodeModel kubernetesNodeCopy = kubernetesNodeSource.clone();
+            List<NodeEntity> restNodeList = new ArrayList<>();    // 剩余并行度的节点列表
+            for (NodeEntity kubernetesNodeSource : initialNodeList) {
+                NodeEntity kubernetesNodeCopy = kubernetesNodeSource.clone();
                 String nodeName = kubernetesNodeCopy.getHostname();   // 节点名称
                 int maxParallelism = kubernetesNodeCopy.getParallelism();
                 String restParallelismString = stringRedisTemplate.opsForValue().get("cpu-node:" + nodeName + ":parallelism");// 获取节点剩余并行度的 key
@@ -352,7 +351,7 @@ public class ProjectUtil {
             Map<String, Integer> resultNodeMap = new HashMap<>();    // 用于执行的节点映射(节点名,并行度)
             if (!CollectionUtil.isEmpty(restNodeList)) {
                 if (restNodeList.size() == 1) {
-                    NodeModel tempNode = restNodeList.get(0);
+                    NodeEntity tempNode = restNodeList.get(0);
                     String tempNodeName = tempNode.getHostname();
                     int tempParallelism = tempNode.getParallelism();
                     resultNodeMap.put(tempNodeName, Math.min(tempParallelism, parallelism));
@@ -361,7 +360,7 @@ public class ProjectUtil {
                     for (int i = 0; i < parallelism; i++) {
                         // 每次降序排序都取剩余并行度最大的一个。
                         restNodeList.sort((o1, o2) -> o2.getParallelism() - o1.getParallelism());
-                        NodeModel tempNode = restNodeList.get(0);
+                        NodeEntity tempNode = restNodeList.get(0);
                         String tempNodeName = tempNode.getHostname();
                         int tempParallelism = tempNode.getParallelism();
                         if (tempParallelism > 0) {
@@ -385,13 +384,13 @@ public class ProjectUtil {
      * @return 集群剩余并行度
      */
     public int getRestParallelism(String isChoiceGpu) {
-        List<NodeModel> initialNodeList; // 预设并行度的节点列表
+        List<NodeEntity> initialNodeList; // 预设并行度的节点列表
         if (DictConstants.USE_GPU.equals(isChoiceGpu)) {
             initialNodeList = kubernetesConfiguration.getGpuNodeList(); // 预设并行度的节点列表
             // 遍历所有节点,获取还有剩余并行度的节点
-            List<NodeModel> restNodeList = new ArrayList<>();    // 剩余并行度的节点列表
-            for (NodeModel kubernetesNodeSource : initialNodeList) {
-                NodeModel kubernetesNodeCopy = kubernetesNodeSource.clone();
+            List<NodeEntity> restNodeList = new ArrayList<>();    // 剩余并行度的节点列表
+            for (NodeEntity kubernetesNodeSource : initialNodeList) {
+                NodeEntity kubernetesNodeCopy = kubernetesNodeSource.clone();
                 String nodeName = kubernetesNodeCopy.getHostname();   // 节点名称
                 int maxParallelism = kubernetesNodeCopy.getParallelism();
                 String restParallelismString = stringRedisTemplate.opsForValue().get("gpu-node:" + nodeName + ":parallelism");// 获取节点剩余并行度的 key
@@ -409,13 +408,13 @@ public class ProjectUtil {
                 }
             }
             log.info("集群剩余并行度为:" + restNodeList);
-            return restNodeList.size() == 0 ? 0 : restNodeList.stream().mapToInt(NodeModel::getParallelism).sum();
+            return restNodeList.size() == 0 ? 0 : restNodeList.stream().mapToInt(NodeEntity::getParallelism).sum();
         } else if (DictConstants.USE_CPU.equals(isChoiceGpu)) {
             initialNodeList = kubernetesConfiguration.getCpuNodeList(); // 预设并行度的节点列表
             // 遍历所有节点,获取还有剩余并行度的节点
-            List<NodeModel> restNodeList = new ArrayList<>();    // 剩余并行度的节点列表
-            for (NodeModel kubernetesNodeSource : initialNodeList) {
-                NodeModel kubernetesNodeCopy = kubernetesNodeSource.clone();
+            List<NodeEntity> restNodeList = new ArrayList<>();    // 剩余并行度的节点列表
+            for (NodeEntity kubernetesNodeSource : initialNodeList) {
+                NodeEntity kubernetesNodeCopy = kubernetesNodeSource.clone();
                 String nodeName = kubernetesNodeCopy.getHostname();   // 节点名称
                 int maxParallelism = kubernetesNodeCopy.getParallelism();
                 String restParallelismString = stringRedisTemplate.opsForValue().get("cpu-node:" + nodeName + ":parallelism");// 获取节点剩余并行度的 key
@@ -433,7 +432,7 @@ public class ProjectUtil {
                 }
             }
             log.info("集群剩余并行度为:" + restNodeList);
-            return restNodeList.size() == 0 ? 0 : restNodeList.stream().mapToInt(NodeModel::getParallelism).sum();
+            return restNodeList.size() == 0 ? 0 : restNodeList.stream().mapToInt(NodeEntity::getParallelism).sum();
         } else {
             throw new RuntimeException("未知是否使用 GPU:" + isChoiceGpu);
         }
@@ -536,8 +535,8 @@ public class ProjectUtil {
             //1 先检查缓存中的并行度是否超过,超过了就不加缓存的并行度了,常用于测试
             String key = "gpu-node:" + nodeName + ":parallelism";
             final int currentRestParallelism = Integer.parseInt(customRedisClient.get(key));
-            final List<NodeModel> nodeList = kubernetesConfiguration.getGpuNodeList();
-            for (NodeModel node : nodeList) {
+            final List<NodeEntity> nodeList = kubernetesConfiguration.getGpuNodeList();
+            for (NodeEntity node : nodeList) {
                 if (nodeName.equals(node.getHostname())) {
                     if (currentRestParallelism + 1 <= node.getParallelism()) {
                         customRedisClient.increment(key, number);
@@ -549,8 +548,8 @@ public class ProjectUtil {
             //1 先检查缓存中的并行度是否超过,超过了就不加缓存的并行度了,常用于测试
             String key = "cpu-node:" + nodeName + ":parallelism";
             final int currentRestParallelism = Integer.parseInt(customRedisClient.get(key));
-            final List<NodeModel> nodeList = kubernetesConfiguration.getCpuNodeList();
-            for (NodeModel node : nodeList) {
+            final List<NodeEntity> nodeList = kubernetesConfiguration.getCpuNodeList();
+            for (NodeEntity node : nodeList) {
                 if (nodeName.equals(node.getHostname())) {
                     if (currentRestParallelism + 1 <= node.getParallelism()) {
                         customRedisClient.increment(key, number);
@@ -588,11 +587,11 @@ public class ProjectUtil {
 
     public void resetNodeParallelism() {
         //* -------------------------------- GPU节点 --------------------------------
-        final List<NodeModel> gpuNodeList = kubernetesConfiguration.getGpuNodeList();
+        final List<NodeEntity> gpuNodeList = kubernetesConfiguration.getGpuNodeList();
         log.info("GPU 节点:" + gpuNodeList);
         gpuNodeList.forEach((node) -> customRedisClient.set("gpu-node:" + node.getHostname() + ":parallelism", String.valueOf(node.getParallelism())));
         //* -------------------------------- CPU节点 --------------------------------
-        final List<NodeModel> cpuNodeList = kubernetesConfiguration.getCpuNodeList();
+        final List<NodeEntity> cpuNodeList = kubernetesConfiguration.getCpuNodeList();
         log.info("CPU 节点:" + cpuNodeList);
         cpuNodeList.forEach((node) -> customRedisClient.set("cpu-node:" + node.getHostname() + ":parallelism", String.valueOf(node.getParallelism())));
     }
@@ -603,15 +602,15 @@ public class ProjectUtil {
     @Synchronized
     public boolean complete(PrefixEntity redisPrefix, String projectId) {
         boolean result = false;
-        ProjectMessageDTO projectMessageDTO = JsonUtil.jsonToBean(customRedisClient.get(redisPrefix.getProjectRunningKey()), ProjectMessageDTO.class);
-        int taskTotal = projectMessageDTO.getTaskTotal();
-        int taskCompleted = projectMessageDTO.getTaskCompleted();
+        ProjectMessageModel projectMessageModel = JsonUtil.jsonToBean(customRedisClient.get(redisPrefix.getProjectRunningKey()), ProjectMessageModel.class);
+        int taskTotal = projectMessageModel.getTaskTotal();
+        int taskCompleted = projectMessageModel.getTaskCompleted();
         log.info("项目 " + projectId + " 完成进度为:" + (taskCompleted + 1) + "/" + taskTotal);
         if (taskCompleted + 1 == taskTotal) {
             result = true;
         } else {    // 项目没有完成
-            projectMessageDTO.setTaskCompleted(taskCompleted + 1);  // 增加已完成任务数
-            stringRedisTemplate.opsForValue().set(redisPrefix.getProjectRunningKey(), JsonUtil.beanToJson(projectMessageDTO));
+            projectMessageModel.setTaskCompleted(taskCompleted + 1);  // 增加已完成任务数
+            stringRedisTemplate.opsForValue().set(redisPrefix.getProjectRunningKey(), JsonUtil.beanToJson(projectMessageModel));
         }
         return result;
     }

+ 1 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/RedisUtil.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/RedisUtil.java

@@ -1,4 +1,4 @@
-package com.css.simulation.resource.scheduler.util;
+package com.css.simulation.resource.scheduler.infrastructure.util;
 
 import api.common.util.CollectionUtil;
 import lombok.extern.slf4j.Slf4j;

+ 10 - 6
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/TaskUtil.java → simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/util/TaskUtil.java

@@ -1,11 +1,15 @@
-package com.css.simulation.resource.scheduler.util;
+package com.css.simulation.resource.scheduler.infrastructure.util;
 
 import api.common.pojo.constants.DictConstants;
 import api.common.util.*;
-import com.css.simulation.resource.scheduler.configuration.custom.CustomConfiguration;
-import com.css.simulation.resource.scheduler.data.entity.*;
+import com.css.simulation.resource.scheduler.infrastructure.configuration.custom.CustomConfiguration;
+import com.css.simulation.resource.scheduler.infrastructure.entity.*;
+import com.css.simulation.resource.scheduler.infrastructure.mapper.*;
+import com.css.simulation.resource.scheduler.infrastructure.persistence.mysql.mapper.*;
+import com.css.simulation.resource.scheduler.infrastructure.repository.entity.*;
+import com.css.simulation.resource.scheduler.infrastructure.repository.mapper.*;
 import com.css.simulation.resource.scheduler.mapper.*;
-import com.css.simulation.resource.scheduler.service.TaskIndexManager;
+import com.css.simulation.resource.scheduler.infrastructure.repository.TaskIndexRepository;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.minio.MinioClient;
@@ -50,7 +54,7 @@ public class TaskUtil {
     @Resource
     private AutoSubProjectMapper autoSubProjectMapper;
     @Resource
-    private TaskIndexManager taskIndexManager;
+    private TaskIndexRepository taskIndexRepository;
     @Resource
     private IndexMapper indexMapper;
     @Resource
@@ -253,7 +257,7 @@ public class TaskUtil {
             leafIndexList.add(leafIndex);
         }
         // 保存叶子指标得分
-        taskIndexManager.batchInsertLeafIndex(leafIndexList);
+        taskIndexRepository.batchInsertLeafIndex(leafIndexList);
         // 保存一级指标分数
         log.info("项目 " + projectId + " 的所有任务分数为:" + taskList);
         computeFirst(leafIndexList, allIndexTemplateList, projectId, maxLevel);