优化可视化配置

This commit is contained in:
zhou-hao 2020-04-22 19:59:00 +08:00
parent 8a98971be4
commit 3d09765247
3 changed files with 24 additions and 1 deletions

View File

@ -52,5 +52,17 @@ public class DataVisualizationEntity extends GenericEntity<String> {
@DefaultValue("enabled")
private DataVisualizationState state;
public void applyId() {
this.setId(String.format("%s:%s", type, target));
}
public static DataVisualizationEntity newEmpty(String type, String target) {
DataVisualizationEntity entity = new DataVisualizationEntity();
entity.setType(type);
entity.setTarget(target);
entity.applyId();
entity.setMetadata("");
return entity;
}
}

View File

@ -1,11 +1,21 @@
package org.jetlinks.pro.visualization.service;
import org.hswebframework.ezorm.rdb.mapping.defaults.SaveResult;
import org.hswebframework.web.crud.service.GenericReactiveCrudService;
import org.jetlinks.pro.visualization.entity.DataVisualizationEntity;
import org.reactivestreams.Publisher;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@Service
public class DataVisualizationService extends GenericReactiveCrudService<DataVisualizationEntity,String> {
@Override
public Mono<SaveResult> save(Publisher<DataVisualizationEntity> entityPublisher) {
return Flux.from(entityPublisher)
.doOnNext(DataVisualizationEntity::applyId)
.as(super::save);
}
}

View File

@ -34,7 +34,8 @@ public class DataVisualizationController implements ReactiveServiceCrudControlle
return visualizationService.createQuery()
.where(DataVisualizationEntity::getType, type)
.and(DataVisualizationEntity::getTarget, target)
.fetchOne();
.fetchOne()
.defaultIfEmpty(DataVisualizationEntity.newEmpty(type, target));
}
}