diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/UniqueField.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/UniqueField.java index fe104a4..0d8ea73 100644 --- a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/UniqueField.java +++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/UniqueField.java @@ -1,7 +1,7 @@ package com.flyfish.framework.validation.annotations; - -import com.flyfish.framework.validation.validators.IdCardValidator; +import com.flyfish.framework.validation.annotations.UniqueField.List; +import com.flyfish.framework.validation.validators.UniqueFieldValidator; import javax.validation.Constraint; import javax.validation.Payload; @@ -9,11 +9,8 @@ import java.lang.annotation.Documented; import java.lang.annotation.Repeatable; import java.lang.annotation.Retention; import java.lang.annotation.Target; -import com.flyfish.framework.validation.annotations.UniqueField.List; -import com.flyfish.framework.validation.validators.UniqueFieldValidator; import static java.lang.annotation.ElementType.*; -import static java.lang.annotation.ElementType.ANNOTATION_TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER}) diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/UniqueFieldValidator.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/UniqueFieldValidator.java index bf6d89d..3a1bc73 100644 --- a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/UniqueFieldValidator.java +++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/UniqueFieldValidator.java @@ -10,10 +10,10 @@ import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; -import java.util.List; +import java.util.Collection; import java.util.Map; -public class UniqueFieldValidator implements ConstraintValidator> { +public class UniqueFieldValidator implements ConstraintValidator { private String field; @@ -34,12 +34,12 @@ public class UniqueFieldValidator implements ConstraintValidator value, ConstraintValidatorContext context) { + public boolean isValid(Collection value, ConstraintValidatorContext context) { int size = CollectionUtils.size(value); if (size < 2) { return true; } - long count = value.stream().map(item -> { + long count = ((Collection) value).stream().map(item -> { if (item instanceof String || ClassUtils.isPrimitiveOrWrapper(item.getClass())) { return item; } diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java b/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java index d77e6f1..b860b29 100644 --- a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java +++ b/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Domain.java @@ -17,7 +17,7 @@ import java.io.Serializable; @Document @Getter @Setter -public abstract class Domain implements Po, Serializable { +public abstract class Domain implements Po, Named, Serializable { private static final long serialVersionUID = -8288256526019424379L; diff --git a/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Named.java b/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Named.java new file mode 100644 index 0000000..82d5c01 --- /dev/null +++ b/flyfish-data/src/main/java/com/flyfish/framework/domain/base/Named.java @@ -0,0 +1,11 @@ +package com.flyfish.framework.domain.base; + +/** + * 有名称的 + * + * @author wangyu + */ +public interface Named { + + String getName(); +} diff --git a/flyfish-web/src/main/java/com/flyfish/framework/beans/enums/ValidationCandidate.java b/flyfish-web/src/main/java/com/flyfish/framework/beans/enums/ValidationCandidate.java index a3d141a..0fe49a1 100644 --- a/flyfish-web/src/main/java/com/flyfish/framework/beans/enums/ValidationCandidate.java +++ b/flyfish-web/src/main/java/com/flyfish/framework/beans/enums/ValidationCandidate.java @@ -4,13 +4,13 @@ import com.flyfish.framework.annotations.ConditionOn; import com.flyfish.framework.beans.meta.BeanPropertyType; import com.flyfish.framework.beans.meta.BeanValidation; import com.flyfish.framework.validation.annotations.IdCard; +import com.flyfish.framework.validation.annotations.Money; import com.flyfish.framework.validation.annotations.Phone; import com.flyfish.framework.validation.annotations.UniqueField; import com.flyfish.framework.validation.enums.PhoneType; import lombok.Getter; import lombok.val; import org.apache.commons.lang3.ArrayUtils; -import org.hibernate.validator.constraints.Currency; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.URL; @@ -70,7 +70,7 @@ public enum ValidationCandidate { .prop("type", annotation.getType().getSimpleName()), Negative.class, NegativeOrZero.class, Positive.class, PositiveOrZero.class), // 货币 - CURRENCY((annotation, validation) -> validation.setValidator("currency"), Currency.class), + MONEY((annotation, validation) -> validation.setValidator("currency"), Money.class), // 手机号 PHONE((annotation, validation) -> validation.setValidator("phone").prop("type", annotation.getEnum("type", PhoneType.class).name().toLowerCase()), Phone.class), diff --git a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanPropertyType.java b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanPropertyType.java index 2b309f7..727697d 100644 --- a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanPropertyType.java +++ b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanPropertyType.java @@ -21,9 +21,9 @@ import java.util.function.BiPredicate; public enum BeanPropertyType { STRING("String", "string", CharSequence.class), - NUMBER("Number", "string", Number.class), + NUMBER("Number", "any", Number.class), BOOLEAN("Boolean", "boolean", Boolean.class), - DATE("Date", "date", Date.class), + DATE("Date", "any", Date.class), ENUM("Enum", "any", Enum.class), LIST("Array", "array", Collection.class), DB_REF("Ref", "any", Po.class),