mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-02 02:43:59 +08:00
优化默认生成器
This commit is contained in:
@@ -2,6 +2,7 @@ package org.hswebframework.web.crud.generator;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.hswebframework.ezorm.core.DefaultValue;
|
||||
import org.hswebframework.ezorm.core.DefaultValueGenerator;
|
||||
@@ -28,14 +29,16 @@ public class DefaultIdGenerator implements DefaultValueGenerator<RDBColumnMetada
|
||||
}
|
||||
|
||||
@Override
|
||||
@SneakyThrows
|
||||
public DefaultValue generate(RDBColumnMetadata metadata) {
|
||||
return Mono.justOrEmpty(mappings.get(metadata.getOwner().getName()))
|
||||
.switchIfEmpty(Mono.justOrEmpty(defaultId))
|
||||
.flatMap(id->Mono.justOrEmpty(metadata.findFeature(DefaultValueGenerator.createId(id))))
|
||||
.doOnNext(gen-> log.debug("use default id generator : {} for column : {}", gen.getSortId(), metadata.getFullName()))
|
||||
.map(gen->gen.generate(metadata))
|
||||
.blockOptional()
|
||||
.orElseThrow(()->new UnsupportedOperationException("不支持的生成器:" + defaultId));
|
||||
.switchIfEmpty(Mono.error(()->new UnsupportedOperationException("不支持的生成器:" + defaultId)))
|
||||
.toFuture()
|
||||
.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user