夜得朦胧 1 year ago
parent
commit
5f028cc50a

+ 2 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/server/adapter/controller/job_manage/SimulationMapController.java

@@ -59,8 +59,8 @@ public class SimulationMapController {
   }
 
   @RequestMapping("/uploadSimulationMap")
-  public ResponseBodyVO<SimulationMapVO> uploadSimulationMap(@RequestParam("fileJson") MultipartFile fileJson, @RequestParam("fileDriver") MultipartFile fileDriver, @RequestPart("content") SimulationMapParam param) {
-    return mapService.uploadSimulationMap(fileJson, fileDriver, param);
+  public ResponseBodyVO<SimulationMapVO> uploadSimulationMap(@RequestParam("fileJson") MultipartFile fileJson,@RequestParam("fileOsgb") MultipartFile fileOsgb, @RequestParam("fileDriver") MultipartFile fileDriver, @RequestPart("content") SimulationMapParam param) {
+    return mapService.uploadSimulationMap(fileJson, fileOsgb, fileDriver, param);
   }
 
 }

+ 4 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/impl/MultiSimulationProjectServiceImpl.java

@@ -363,6 +363,10 @@ public class MultiSimulationProjectServiceImpl implements MultiSimulationProject
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, sceneVO);
     }
 
+    public static void main(String[] args) {
+        System.out.println(StringUtil.getRandomUUID());
+    }
+
     @Override
     @SneakyThrows
     public ResponseBodyVO<PageInfo<MultiSimulationSceneCarVO>> getMultiSimulationSceneCarList(MultiSimulationSceneCarParam param) {

+ 20 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/impl/SimulationMapServiceImpl.java

@@ -106,18 +106,25 @@ public class SimulationMapServiceImpl implements SimulationMapService {
         for (SimulationMapPathVO pathDetail: simulationMapPathPOS) {
             String pathStartPoint = pathDetail.getPathStartPoint();
             String pathEndPoint = pathDetail.getPathEndPoint();
+            String section = pathDetail.getPathDetail();
             List<JSONObject> startArr = new ArrayList<>();
             List<JSONObject> endArr = new ArrayList<>();
+            List<JSONObject> pathDetailArr = new ArrayList<>();
             JSONArray arrayStart = JSONArray.parseArray(pathStartPoint);
             JSONArray arrayEnd = JSONArray.parseArray(pathEndPoint);
+            JSONArray array = JSONArray.parseArray(section);
             for (int i = 0; i < arrayStart.size(); i++) {
                 startArr.add(arrayStart.getJSONObject(i));
             }
             for (int i = 0; i < arrayEnd.size(); i++) {
                 endArr.add(arrayEnd.getJSONObject(i));
             }
+            for (int i = 0; i < array.size(); i++) {
+                pathDetailArr.add(array.getJSONObject(i));
+            }
             pathDetail.setStartPoints(startArr);
             pathDetail.setEndPoints(endArr);
+            pathDetail.setSections(pathDetailArr);
         }
         simulationMapVO.setPath(simulationMapPathPOS);
         simulationMapVO.setMapJsonPathNum(simulationMapPathPOS.size());
@@ -163,7 +170,7 @@ public class SimulationMapServiceImpl implements SimulationMapService {
 
     @SneakyThrows
     @Transactional
-    public ResponseBodyVO uploadSimulationMap(MultipartFile fileJson, MultipartFile fileDriver, SimulationMapParam param){
+    public ResponseBodyVO uploadSimulationMap(MultipartFile fileJson, MultipartFile fileOsgb, MultipartFile fileDriver, SimulationMapParam param){
         String currentUserRoleCode = AuthUtil.getCurrentUserRoleCode();
         if (!StringUtils.equals(DictConstants.ROLE_CODE_ADMIN, currentUserRoleCode) && !StringUtils.equals(DictConstants.ROLE_CODE_SYSADMIN, currentUserRoleCode)){
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "当前用户无该权限");
@@ -188,10 +195,18 @@ public class SimulationMapServiceImpl implements SimulationMapService {
         if (!response.isStatus()){
             return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "上传失败");
         }
-
+        String osgbFileName = fileOsgb.getOriginalFilename();
+        if (osgbFileName == null){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "文件名为空,请检查!");
+        }
+        fileName = "/" + DictConstants.MAP_DRIVER_FILE + "/" + nowTime + "/" + randomCode + "/" + osgbFileName;
+        ResponseBodyVO<String> responseOs = fileDownService.upload(fileDriver, fileName);
+        if (!responseOs.isStatus()){
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "上传失败");
+        }
         String previewUrl = response.getInfo();
         SimulationMapPO simulationMapPO = new SimulationMapPO();
-        simulationMapPO.setMapPath(previewUrl).setMapName(param.getMapName()).setMapDescription(param.getMapDescription())
+        simulationMapPO.setMapPath(previewUrl).setMapOsgbPath(responseOs.getInfo()).setMapName(param.getMapName()).setMapDescription(param.getMapDescription())
             .setMapJson(object.toJSONString()).setPathNum(param.getPathNum()).setMapCode("").setId(StringUtil.getRandomUUID());
         int i = mapMapper.addSimulationMap(simulationMapPO);
         if (i <= 0){
@@ -205,7 +220,8 @@ public class SimulationMapServiceImpl implements SimulationMapService {
         for (int j = 0; j < jsonArray.size(); j++) {
             JSONObject jsonObject = jsonArray.getJSONObject(j);
             SimulationMapPathPO simulationMapPathPO = new SimulationMapPathPO();
-            simulationMapPathPO.setId(StringUtil.getRandomUUID()).setMapId(mapPOId).setPathSort(j).setPathDetail(jsonObject.getString("roadIds"))
+            simulationMapPathPO.setId(StringUtil.getRandomUUID()).setMapId(mapPOId)
+                .setPathSort(jsonObject.getInteger("pathId")).setPathDetail(jsonObject.getJSONArray("sections").toJSONString())
                 .setStartPointNum(jsonObject.getInteger("numOfStartPoints")).setPathStartPoint(jsonObject.getJSONArray("startPoints").toJSONString())
                 .setEndPointNum(jsonObject.getInteger("numOfEndPoints")).setPathEndPoint(jsonObject.getJSONArray("endPoints").toJSONString());
             int i1 = mapPathMapper.addSimulationMap(simulationMapPathPO);

+ 1 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/job_manage/SimulationMapService.java

@@ -20,6 +20,6 @@ public interface SimulationMapService {
 
     ResponseBodyVO deleteSimulationMap(SimulationMapParam param);
 
-    ResponseBodyVO uploadSimulationMap(MultipartFile fileJson, MultipartFile fileDriver, SimulationMapParam param);
+    ResponseBodyVO uploadSimulationMap(MultipartFile fileJson,MultipartFile fileOsgb, MultipartFile fileDriver, SimulationMapParam param);
 
 }

+ 3 - 3
simulation-resource-server/src/main/java/com/css/simulation/resource/server/infra/db/mysql/mapper/SimulationMapMapper.java

@@ -11,11 +11,11 @@ import java.util.List;
 
 @Mapper
 public interface SimulationMapMapper {
-    @Insert("insert into simulation_map (id,map_code,map_name,map_json,map_path,map_description,path_num) values" +
-        "(#{id},#{mapCode},#{mapName},#{mapJson},#{mapPath},#{mapDescription},#{pathNum})")
+    @Insert("insert into simulation_map (id,map_code,map_name,map_json,map_osgb_path,map_path,map_description,path_num) values" +
+        "(#{id},#{mapCode},#{mapName},#{mapJson},#{mapOsgbPath},#{mapPath},#{mapDescription},#{pathNum})")
     int addSimulationMap(SimulationMapPO scenePO);
 
-    @Select("select id,path_num,map_name,map_description,create_time from simulation_map where id = #{id} and deleted = 0")
+    @Select("select id,path_num,map_name,map_osgb_path,map_path,map_description,create_time from simulation_map where id = #{id} and deleted = 0")
     SimulationMapVO selectMapByMapId(@Param("id") String mapId);
 
     @Update("update simulation_map set deleted = 1 where id = #{mapId}")