|
|
@@ -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();
|
|
|
}
|
|
|
|
|
|
|