From a2aaec96e5b3b6959efc9995bfe9e5d4002aad75 Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Tue, 28 Sep 2021 11:46:25 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0=E9=87=91?= =?UTF-8?q?=E9=92=B1=E9=AA=8C=E8=AF=81=E7=B1=BB=E5=9E=8B=E5=92=8C=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/flyfish/framework/annotations/Property.java | 8 ++++++++ .../com/flyfish/framework/beans/meta/BeanProperty.java | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/Property.java b/flyfish-data/src/main/java/com/flyfish/framework/annotations/Property.java index ca31816..bb0a172 100644 --- a/flyfish-data/src/main/java/com/flyfish/framework/annotations/Property.java +++ b/flyfish-data/src/main/java/com/flyfish/framework/annotations/Property.java @@ -75,7 +75,15 @@ public @interface Property { /** * 表单注解 + * * @return 表单注解,仅用于构造器 */ FormItem[] form() default {}; + + /** + * 表单映射 + * + * @return 映射的注解,仅用于构造器 + */ + MappedTo[] mapping() default {}; } diff --git a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanProperty.java b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanProperty.java index 4b2e8fb..73b0e83 100644 --- a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanProperty.java +++ b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanProperty.java @@ -143,7 +143,6 @@ public class BeanProperty { MergedAnnotation mapping = annotations.get(MappedTo.class); if (mapping.isPresent()) { property.extra.put("mapping", mapping.asMap()); - MappedTo mappedTo = mapping.synthesize(); } // 优雅的处理校验 property.setValidation(ValidationCandidate.produce(annotations)); @@ -321,6 +320,10 @@ public class BeanProperty { if (ArrayUtils.isNotEmpty(prop.form())) { applyFormItem(property, prop.form()[0]); } + // 处理额外的映射 + if (ArrayUtils.isNotEmpty(prop.mapping())) { + property.extra.put("mapping", MergedAnnotations.from(prop.mapping()).get(MappedTo.class).asMap()); + } // 设置标题 property.title = prop.title(); } else {