feat:框架完善,增加完整的支持
This commit is contained in:
parent
c6682526eb
commit
1db0697340
@ -113,7 +113,7 @@ public class BeanProperty {
|
|||||||
// 开始解析关键注解
|
// 开始解析关键注解
|
||||||
if (annotations.isPresent(Property.class)) {
|
if (annotations.isPresent(Property.class)) {
|
||||||
Property props = annotations.get(Property.class).synthesize();
|
Property props = annotations.get(Property.class).synthesize();
|
||||||
// 只有存在馆建注解,才会进行初始化
|
// 只有存在关键注解,才会进行初始化
|
||||||
String parentName = Optional.ofNullable(beanClass.getAnnotation(RestBean.class))
|
String parentName = Optional.ofNullable(beanClass.getAnnotation(RestBean.class))
|
||||||
.map(RestBean::name).orElse("");
|
.map(RestBean::name).orElse("");
|
||||||
property.setDescription(props.description());
|
property.setDescription(props.description());
|
||||||
@ -148,7 +148,19 @@ public class BeanProperty {
|
|||||||
// 优雅的设置联动映射
|
// 优雅的设置联动映射
|
||||||
MergedAnnotation<MappedTo> mapping = annotations.get(MappedTo.class);
|
MergedAnnotation<MappedTo> mapping = annotations.get(MappedTo.class);
|
||||||
if (mapping.isPresent()) {
|
if (mapping.isPresent()) {
|
||||||
property.extra.put("mapping", mapping.asMap());
|
property.extra.put(BeanProps.MAPPING, mapping.asMap());
|
||||||
|
}
|
||||||
|
// 处理联动
|
||||||
|
MergedAnnotation<ConditionOn.List> condition = annotations.get(ConditionOn.List.class);
|
||||||
|
if (condition.isPresent()) {
|
||||||
|
property.extra.put(BeanProps.CONDITION, Arrays.stream(
|
||||||
|
condition.getAnnotationArray("value", ConditionOn.class)
|
||||||
|
).map(MergedAnnotation::asMap).collect(Collectors.toList()));
|
||||||
|
} else {
|
||||||
|
MergedAnnotation<ConditionOn> single = annotations.get(ConditionOn.class);
|
||||||
|
if (single.isPresent()) {
|
||||||
|
property.extra.put(BeanProps.CONDITION, Collections.singletonList(single.asMap()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 优雅的处理校验
|
// 优雅的处理校验
|
||||||
property.setValidation(ValidationCandidate.produce(annotations));
|
property.setValidation(ValidationCandidate.produce(annotations));
|
||||||
@ -190,7 +202,7 @@ public class BeanProperty {
|
|||||||
break;
|
break;
|
||||||
case NUMBER:
|
case NUMBER:
|
||||||
if (null != field) {
|
if (null != field) {
|
||||||
if (annotations.isPresent(Money.class) && !property.extra.containsKey("component")) {
|
if (annotations.isPresent(Money.class) && !property.extra.containsKey(BeanProps.COMPONENT)) {
|
||||||
property.extra.put(BeanProps.COMPONENT, "money-input");
|
property.extra.put(BeanProps.COMPONENT, "money-input");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -328,13 +340,16 @@ public class BeanProperty {
|
|||||||
}
|
}
|
||||||
// 处理额外的映射
|
// 处理额外的映射
|
||||||
if (ArrayUtils.isNotEmpty(prop.mapping())) {
|
if (ArrayUtils.isNotEmpty(prop.mapping())) {
|
||||||
property.extra.put("mapping", MergedAnnotations.from(prop.mapping()).get(MappedTo.class).asMap());
|
property.extra.put(BeanProps.MAPPING, MergedAnnotations.from(prop.mapping()).get(MappedTo.class).asMap());
|
||||||
}
|
}
|
||||||
// 处理值生成策略,此处可清除原策略
|
// 处理值生成策略,此处可清除原策略
|
||||||
if (ArrayUtils.isNotEmpty(prop.generated())) {
|
if (ArrayUtils.isNotEmpty(prop.generated())) {
|
||||||
property.extra.put(BeanProps.GENERATED, MergedAnnotations.from(prop.mapping()).get(MappedTo.class).asMap());
|
property.extra.put(BeanProps.GENERATED, MergedAnnotations.from(prop.mapping()).get(MappedTo.class).asMap());
|
||||||
} else {
|
} else {
|
||||||
property.extra.remove(BeanProps.GENERATED);
|
property.extra.remove(BeanProps.GENERATED);
|
||||||
|
if ("input-hidden".equals(property.extra.get(BeanProps.COMPONENT))) {
|
||||||
|
property.extra.remove(BeanProps.COMPONENT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 设置标题
|
// 设置标题
|
||||||
property.title = prop.title();
|
property.title = prop.title();
|
||||||
|
@ -21,4 +21,8 @@ public interface BeanProps {
|
|||||||
String COMPONENT = "component";
|
String COMPONENT = "component";
|
||||||
|
|
||||||
String GENERATED = "generated";
|
String GENERATED = "generated";
|
||||||
|
|
||||||
|
String MAPPING = "mapping";
|
||||||
|
|
||||||
|
String CONDITION = "condition";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user