Browse Source

几个模块添加put 接口

wuweihao 4 years ago
parent
commit
d2246b1d7f

+ 1 - 1
README.md

@@ -85,7 +85,7 @@
     
     
 # 坐标    
-    获取特殊点,firstView, lat:113, [0], lon:22, [1]
+    获取特殊点,firstView , 经度:lon:113, [0] 纬度:lat:22, [1],   
     
     
 # 测试页面

+ 12 - 12
laser/src/main/java/com/fdkankan/indoor/base/convert/ModifyCloud.java

@@ -26,19 +26,19 @@ public class ModifyCloud {
 		String str = FileUtil.readStringFile(path);
 		JSONObject json = JSONObject.fromObject(str);
 		
-//		String[] pointAttributes = {
-//		                            "POSITION_CARTESIAN",
-//		                            "COLOR_PACKED",
-//		                            "NORMAL_OCT16"
-//									};
-
 		String[] pointAttributes = {
-				"POSITION_CARTESIAN",
-				"COLOR_PACKED",
-				"NORMAL_OCT16",
-				"INTENSITY",
-				"CLASSIFICATION"
-		};
+		                            "POSITION_CARTESIAN",
+		                            "COLOR_PACKED",
+		                            "NORMAL_OCT16"
+									};
+
+//		String[] pointAttributes = {
+//				"POSITION_CARTESIAN",
+//				"COLOR_PACKED",
+//				"NORMAL_OCT16",
+//				"INTENSITY",
+//				"CLASSIFICATION"
+//		};
 		json.put("pointAttributes", pointAttributes);
 		return json;
 	}

+ 1 - 0
laser/src/main/java/com/fdkankan/indoor/base/convert/ModifyDataSets.java

@@ -80,6 +80,7 @@ public class ModifyDataSets {
 		//double[] location = {0,0,0};
 		//location = TransformGPS.convert(location);
 		//原点 ,获取特征点的原点
+//		Double[] doubles = param.get(TypeConstant.POI_ORIGIN);
 		po.setLocation(param.get(TypeConstant.POI_ORIGIN));
 		po.setOrientation(0.0);
 		Integer[] site_model_entity_ids = {10,11,12};

+ 11 - 1
laser/src/main/java/com/fdkankan/indoor/core/controller/MeasurementController.java

@@ -24,8 +24,9 @@ public class MeasurementController {
     @Autowired
     MeasurementService entityService;
 
+
     @WebControllerLog(description = "测量-新增/修改数据")
-    @ApiOperation(value = "新增/修改数据")
+    @ApiOperation(value = "新增/修改数据", notes = "返回post请求添加的id数据")
     @PostMapping("indoor/{sceneCode}/api/newmeasurements")
     public Object update(@PathVariable String sceneCode, @RequestBody List<MeasurementDto> param){
         Result result = entityService.update(sceneCode, param);
@@ -49,4 +50,13 @@ public class MeasurementController {
         Result result = entityService.removeByDataId(sceneCode, dataId);
         return result.getData();
     }
+
+    @WebControllerLog(description = "测量-新增/修改数据Put")
+    @ApiOperation(value = "新增/修改数据put")
+    @PutMapping("indoor/{sceneCode}/api/newmeasurements")
+    public Object updatePut(@PathVariable String sceneCode, @RequestBody List<MeasurementDto> param){
+        Result result = entityService.update(sceneCode, param);
+        return result.getData();
+    }
+
 }

+ 9 - 0
laser/src/main/java/com/fdkankan/indoor/core/controller/PoiController.java

@@ -69,6 +69,15 @@ public class PoiController {
         return result.getData();
     }
 
+
+    @WebControllerLog(description = "poi数据接口-添加热点-put")
+    @ApiOperation(value = "添加热点-put", notes = "code:场景码")
+    @PutMapping("indoor/{sceneCode}/api/pois")
+    public Object saveHotPut(@PathVariable String sceneCode, @RequestBody List<PoiHotDto> param){
+        Result result = poiService.saveHot(sceneCode, param);
+        return result.getData();
+    }
+
     /**
      * 2021-07-27
      * @param sceneCode

+ 7 - 0
laser/src/main/java/com/fdkankan/indoor/core/controller/PoiTypeController.java

@@ -28,6 +28,13 @@ public class PoiTypeController {
         return result.getData();
     }
 
+    @ApiOperation(value = "修改保存-put")
+    @PutMapping("indoor/{sceneCode}/api/poi_types")
+    public Object editPut(@PathVariable String sceneCode, @RequestBody List<PoiTypeDto> param){
+        Result result = poiTypeService.edit(sceneCode, param);
+        return result.getData();
+    }
+
     @ApiOperation(value = "poi_types")
     @GetMapping("indoor/{sceneCode}/api/poi_types")
     public Object poiTypes(@PathVariable String sceneCode){

+ 7 - 0
laser/src/main/java/com/fdkankan/indoor/core/controller/PoiTypeGroupController.java

@@ -28,6 +28,13 @@ public class PoiTypeGroupController {
         return result.getData();
     }
 
+    @ApiOperation(value = "修改保存-put")
+    @PutMapping("indoor/{sceneCode}/api/poi_type_groups")
+    public Object editPut(@PathVariable String sceneCode, @RequestBody List<PoiTypeGroupDto> param){
+        Result result = entityService.edit(sceneCode, param);
+        return result.getData();
+    }
+
     @ApiOperation(value = "getAll")
     @GetMapping("indoor/{sceneCode}/api/poi_type_groups")
     public Object poiTypes(@PathVariable String sceneCode){

+ 2 - 0
laser/src/main/java/com/fdkankan/indoor/core/service/MeasurementService.java

@@ -23,4 +23,6 @@ public interface MeasurementService {
     Result measureInit(String sceneCode);
 
     Result removeByDataId(String sceneCode, Integer dataId);
+
+//    Result updatePut(String sceneCode, List<MeasurementDto> param);
 }

+ 5 - 5
laser/src/main/java/com/fdkankan/indoor/core/service/impl/InitServiceImpl.java

@@ -219,20 +219,20 @@ public class InitServiceImpl implements InitService {
         com.alibaba.fastjson.JSONObject poi_1 = points.getJSONObject(0);
         com.alibaba.fastjson.JSONObject poi_2 = points.getJSONObject(1);
 
-        // 第一个点
-        double gpsLat_1 = poi_1.getJSONObject("coordinate").getDouble("latitude");
+        // 第一个点  经度:lon:113, [0] 纬度:lat:22, [1]
         double gpsLon_1 = poi_1.getJSONObject("coordinate").getDouble("longitude");
+        double gpsLat_1 = poi_1.getJSONObject("coordinate").getDouble("latitude");
         double ageX_1 = poi_1.getJSONObject("location").getDouble("x");
         double ageY_1 = poi_1.getJSONObject("location").getDouble("y");
 
         // 第二个点
-        double gpsLat_2 = poi_2.getJSONObject("coordinate").getDouble("latitude");
         double gpsLon_2 = poi_2.getJSONObject("coordinate").getDouble("longitude");
+        double gpsLat_2 = poi_2.getJSONObject("coordinate").getDouble("latitude");
         double ageX_2 = poi_2.getJSONObject("location").getDouble("x");
         double ageY_2 = poi_2.getJSONObject("location").getDouble("y");
 
-        double[] gpsCoord1 = {gpsLat_1, gpsLon_1};
-        double[] gpsCoord2 = {gpsLat_2, gpsLon_2};
+        double[] gpsCoord1 = {gpsLon_1, gpsLat_1 };
+        double[] gpsCoord2 = { gpsLon_2, gpsLat_2};
         double[] ageLocation1 = {ageX_1, ageY_1};
         double[] ageLocation2 = {ageX_2, ageY_2};
 

+ 55 - 4
laser/src/main/java/com/fdkankan/indoor/core/service/impl/MeasurementServiceImpl.java

@@ -57,12 +57,11 @@ public class MeasurementServiceImpl extends IBaseServiceImpl implements Measurem
                 Optional<MeasurementDto> max = data.stream().max(Comparator.comparingInt(MeasurementDto::getId));
                 maxId = max.get().getId();
             }
-
         }
 
-
-
         // 合并两个流, 处理id
+
+        List<Integer> resIds = new ArrayList<>();
         for (MeasurementDto dto : param) {
             if (dto.getId() == null) {
                 maxId ++;
@@ -71,6 +70,7 @@ public class MeasurementServiceImpl extends IBaseServiceImpl implements Measurem
             }
 
             data.add(dto);
+            resIds.add(dto.getId());
         }
 
         log.info("添加后数量: {}", data.size());
@@ -80,7 +80,14 @@ public class MeasurementServiceImpl extends IBaseServiceImpl implements Measurem
 
         this.save(entity);
 
-        return Result.success(getDataBySceneCode(sceneCode));
+        return Result.success(changeById(sceneCode,resIds));
+    }
+
+    // 把更新后的值,返回给前端
+    private List<MeasurementDto> changeById(String sceneCode, List<Integer> resIds){
+        List<MeasurementDto> data = getDataBySceneCode(sceneCode);
+        data = data.stream().filter(p -> resIds.contains(p.getId())).collect(Collectors.toList());
+        return data;
     }
 
     @Override
@@ -110,6 +117,50 @@ public class MeasurementServiceImpl extends IBaseServiceImpl implements Measurem
         return Result.success();
     }
 
+//    @Override
+//    public Result updatePut(String sceneCode, List<MeasurementDto> param) {
+//        MeasurementEntity entity = findById(sceneCode);
+//        List<MeasurementDto> data = entity.getData();
+//
+//        Integer maxId = 0;
+//        if (data.size() != 0){
+//            // 遍历参数,获取id, 保存新list
+//            List<Integer> collectId = param.stream().map(MeasurementDto::getId).collect(Collectors.toList());
+//            log.info("参数id: {}", collectId);
+//            // 判断原数据是否包含参数里的id, 包含则删除后重新添加
+//            data = data.stream().filter(p -> !collectId.contains(p.getId())).collect(Collectors.toList());
+//            log.info("过滤后数量: {}", data.size());
+//
+//            if (data.size() != 0){
+//                // 获取最大id
+//                Optional<MeasurementDto> max = data.stream().max(Comparator.comparingInt(MeasurementDto::getId));
+//                maxId = max.get().getId();
+//            }
+//
+//        }
+//
+//
+//        // 合并两个流, 处理id
+//        for (MeasurementDto dto : param) {
+//            if (dto.getId() == null) {
+//                maxId ++;
+//                log.info("处理后maxId: {}", maxId);
+//                dto.setId(maxId);
+//            }
+//
+//            data.add(dto);
+//        }
+//
+//        log.info("添加后数量: {}", data.size());
+//
+//        // 更新后数据保存数据库
+//        entity.setData(data);
+//
+//        this.save(entity);
+//
+//        return Result.success(getDataBySceneCode(sceneCode));
+//    }
+
     private MeasurementEntity findById(String sceneCode){
         Optional<MeasurementEntity> optional = entityMapper.findById(sceneCode);
         return optional.orElse(null);

+ 13 - 2
laser/src/main/java/com/fdkankan/indoor/core/service/impl/PoiServiceImpl.java

@@ -112,7 +112,8 @@ public class PoiServiceImpl extends IBaseServiceImpl implements PoiService {
 
         }
 
-
+        // 返回修改的值给前端
+        List<Integer> resIds = new ArrayList<>();
 
         // 合并两个流, 处理id
         for (PoiHotDto dto : param) {
@@ -129,6 +130,7 @@ public class PoiServiceImpl extends IBaseServiceImpl implements PoiService {
             }
 
             data.add(dto);
+            resIds.add(dto.getId());
         }
 
         log.info("添加后数量: {}", data.size());
@@ -138,9 +140,18 @@ public class PoiServiceImpl extends IBaseServiceImpl implements PoiService {
 
         save(entity);
 
-        return Result.success(findDataBySceneCode(sceneCode));
+//        return Result.success(findDataBySceneCode(sceneCode));
+        return Result.success(changeById(sceneCode, resIds));
     }
 
+    // 把更新后的值,返回给前端
+    private List<PoiHotDto> changeById(String sceneCode, List<Integer> resIds){
+        List<PoiHotDto> data = findDataBySceneCode(sceneCode);
+        data = data.stream().filter(p -> resIds.contains(p.getId())).collect(Collectors.toList());
+        return data;
+    }
+
+
 
     private String getIcon(String sceneCode, Integer poiTypeId){
         PoiTypeDto dto = poiTypeService.findBySceneCodeAndPoiTypeId(sceneCode, poiTypeId);

+ 11 - 2
laser/src/main/java/com/fdkankan/indoor/core/service/impl/PoiTypeGroupServiceImpl.java

@@ -72,7 +72,8 @@ public class PoiTypeGroupServiceImpl extends IBaseServiceImpl implements PoiType
 
         }
 
-
+        // 返回修改的值给前端
+        List<Integer> resIds = new ArrayList<>();
         // 合并两个流, 处理id
         for (PoiTypeGroupDto dto : param) {
             if (dto.getId() == null) {
@@ -82,6 +83,7 @@ public class PoiTypeGroupServiceImpl extends IBaseServiceImpl implements PoiType
             }
 
             data.add(dto);
+            resIds.add(dto.getId());
         }
 
         log.info("添加后数量: {}", data.size());
@@ -91,7 +93,7 @@ public class PoiTypeGroupServiceImpl extends IBaseServiceImpl implements PoiType
 
         save(entity);
 
-        List<PoiTypeGroupDto> newData = findDataBySceneCode(sceneCode);
+        List<PoiTypeGroupDto> newData = changeById(sceneCode, resIds);
         if (isLogin()){
             return Result.success(newData);
         }
@@ -99,6 +101,13 @@ public class PoiTypeGroupServiceImpl extends IBaseServiceImpl implements PoiType
         return Result.success(changeSecurityUnLoginList(newData));
     }
 
+    // 把更新后的值,返回给前端
+    private List<PoiTypeGroupDto> changeById(String sceneCode, List<Integer> resIds){
+        List<PoiTypeGroupDto> data = findDataBySceneCode(sceneCode);
+        data = data.stream().filter(p -> resIds.contains(p.getId())).collect(Collectors.toList());
+        return data;
+    }
+
     /**
      * 处理登录问题
      * @param param

+ 14 - 4
laser/src/main/java/com/fdkankan/indoor/core/service/impl/PoiTypeServiceImpl.java

@@ -7,6 +7,7 @@ import com.fdkankan.indoor.base.constant.ConfigConstant;
 import com.fdkankan.indoor.base.constant.MsgCode;
 import com.fdkankan.indoor.base.exception.BaseRuntimeException;
 import com.fdkankan.indoor.base.util.Result;
+import com.fdkankan.indoor.core.entity.dto.MeasurementDto;
 import com.fdkankan.indoor.core.entity.dto.PoiTypeDto;
 import com.fdkankan.indoor.core.entity.dto.PoiTypeGroupDto;
 import com.fdkankan.indoor.core.entity.PoiTypeEntity;
@@ -65,7 +66,8 @@ public class PoiTypeServiceImpl implements PoiTypeService {
 
         }
 
-
+        // 返回修改的值给前端
+        List<Integer> resIds = new ArrayList<>();
 
         // 合并两个流, 处理id
         for (PoiTypeDto poiTypeDto : param) {
@@ -80,6 +82,7 @@ public class PoiTypeServiceImpl implements PoiTypeService {
             }
 
             data.add(poiTypeDto);
+            resIds.add(poiTypeDto.getId());
         }
 
         log.info("添加后数量: {}", data.size());
@@ -87,10 +90,17 @@ public class PoiTypeServiceImpl implements PoiTypeService {
         // 更新后数据保存数据库
         vo.setData(data);
 
-//        update(vo);
-        save(vo);
+        this.save(vo);
+
+//        return Result.success(findDataBySceneCode(sceneCode));
+        return Result.success(changeById(sceneCode, resIds));
+    }
 
-        return Result.success(findDataBySceneCode(sceneCode));
+    // 把更新后的值,返回给前端
+    private List<PoiTypeDto> changeById(String sceneCode, List<Integer> resIds){
+        List<PoiTypeDto> data = findDataBySceneCode(sceneCode);
+        data = data.stream().filter(p -> resIds.contains(p.getId())).collect(Collectors.toList());
+        return data;
     }