Jelajahi Sumber

add 地理区域目录

18339543638 4 tahun lalu
induk
melakukan
fe24adf1aa

+ 1 - 2
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/entity/GeoRegionEntity.java

@@ -46,9 +46,8 @@ public  class GeoRegionEntity extends  GenericTreeSortSupportEntity<String> {
 
     @Column
     @ColumnType(jdbcType = JDBCType.CLOB)
-    @JsonCodec
     @NotBlank(message = "请绘制坐标区域")
-    private List<Object> region;
+    private String region;
 
     //子菜单
     private List<GeoRegionEntity> children;

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

@@ -38,16 +38,16 @@ public class GeoController  implements ReactiveTreeServiceQueryController<GeoReg
      */
     @PatchMapping
     public Mono<Void> save(@RequestBody GeoRegionEntity region){
-        return Mono.zip(
-            StrUtil.isEmpty(region.getId())?Mono.just(new GeoRegionEntity()):geoService.findById(region.getId())
-            .defaultIfEmpty(new GeoRegionEntity()),geoService.save(Mono.just(region)))
-            .flatMap(tp2->
-                Mono.zip(
-                    Mono.justOrEmpty(tp2.getT1().getParentId())
-                    .flatMap(geoService::updateChildrenNum),
-                    Mono.justOrEmpty(region.getParentId())
-                        .flatMap(geoService::updateChildrenNum)))
-            .then();
+        String id = region.getId();
+        return StrUtil.isEmpty(id)?
+            geoService
+            .save(Mono.just(region))
+            .flatMap(ignore-> geoService.updateChildrenNum(region.getParentId())).then():
+            geoService.findById(id)
+                .zipWith(geoService.save(Mono.just(region)))
+                .flatMap(tp2->geoService.updateChildrenNum(tp2.getT1().getParentId()))
+                .flatMap(ignore->geoService.updateChildrenNum(region.getParentId()))
+                .then();
     }