Ver Fonte

add 地图区域管理

18339543638 há 4 anos atrás
pai
commit
4198e57f71

+ 6 - 0
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/entity/geo/GeoEntity.java

@@ -19,4 +19,10 @@ public class GeoEntity  implements Serializable{
     private Geometry geometry;
 
     private GeoProperty properties;
+
+    public GeoEntity with(GeoProperty properties){
+        this.properties=properties;
+        this.geometry=properties.getGeometry();
+        return this;
+    }
 }

+ 11 - 5
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/GeoController.java

@@ -42,16 +42,22 @@ public class GeoController  implements ReactiveServiceCrudController<GeoProperty
 
 
     @PostMapping("/_search/geo.json")
-    public Mono<?> search(@RequestBody Mono<QueryParamEntity> filter, @RequestBody GeoShape shape){
+    public Mono<?> search(@RequestBody Mono<QueryParamEntity> filter){
 
         return geoService.queryPager(filter)
             .map(PagerResult::getData)
             .map(result->{
                 GeoPayload geoPayload = new GeoPayload();
-//                geoPayload.setFeatures(result);
-                return geoPayload;
-            });
-    }
+                result.stream()
+                    .filter(geoProperty->null!=geoProperty.getGeometry())
+                    .forEach(property->{
+                        GeoEntity geoEntity = new GeoEntity();
+                        geoEntity.with(property);
+                        geoPayload.getFeatures().add(geoEntity);
+                    });
+                return geoPayload;}
+            );
+    };
 
     /**
      * 区域管理新增

+ 1 - 1
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/request/GeoPayload.java

@@ -15,5 +15,5 @@ import java.util.*;
 public class GeoPayload {
     @JsonIgnoreProperties(allowSetters = true)
     private String type;
-    private List<GeoEntity> features;
+    private List<GeoEntity> features=new LinkedList<>();
 }