定义validator
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/annotation/IntegerList.java b/common/src/main/java/com/supwisdom/dlpay/api/annotation/IntegerList.java
new file mode 100644
index 0000000..8487906
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/annotation/IntegerList.java
@@ -0,0 +1,21 @@
+package com.supwisdom.dlpay.api.annotation;
+
+import com.supwisdom.dlpay.api.validator.StringListValidator;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.*;
+
+@Constraint(validatedBy = {StringListValidator.class})
+@Documented
+@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface IntegerList {
+ String message() default "{validator.message.integerlist}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ String[] value();
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/annotation/StringList.java b/common/src/main/java/com/supwisdom/dlpay/api/annotation/StringList.java
new file mode 100644
index 0000000..2c608df
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/annotation/StringList.java
@@ -0,0 +1,21 @@
+package com.supwisdom.dlpay.api.annotation;
+
+import com.supwisdom.dlpay.api.validator.StringListValidator;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.*;
+
+@Constraint(validatedBy = {StringListValidator.class})
+@Documented
+@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface StringList {
+ String message() default "{validator.message.stringlist}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ String[] value();
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenShopParam.java b/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenShopParam.java
index ffbd2a6..4fc1ae1 100644
--- a/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenShopParam.java
+++ b/common/src/main/java/com/supwisdom/dlpay/api/bean/OpenShopParam.java
@@ -7,6 +7,7 @@
import lombok.Getter;
import lombok.Setter;
+import javax.validation.constraints.Email;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@@ -34,6 +35,7 @@
@Sign
private String mobile;
@Sign
+ @Email(message = "Email 格式错误")
private String email;
@Sign
private String address;
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/validator/IntegerListValidator.java b/common/src/main/java/com/supwisdom/dlpay/api/validator/IntegerListValidator.java
new file mode 100644
index 0000000..aec2cee
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/validator/IntegerListValidator.java
@@ -0,0 +1,27 @@
+package com.supwisdom.dlpay.api.validator;
+
+import com.supwisdom.dlpay.api.annotation.IntegerList;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.Arrays;
+
+public class IntegerListValidator implements ConstraintValidator<IntegerList, Integer> {
+
+ private Integer[] valueList;
+
+ @Override
+ public boolean isValid(Integer value, ConstraintValidatorContext context) {
+ if (Arrays.asList(valueList).contains(value))
+ return true;
+ return false;
+ }
+
+ @Override
+ public void initialize(IntegerList constraintAnnotation) {
+ valueList = new Integer[constraintAnnotation.value().length];
+ for (int i = 0; i < constraintAnnotation.value().length; i++) {
+ valueList[i] = Integer.parseInt(constraintAnnotation.value()[i]);
+ }
+ }
+}
diff --git a/common/src/main/java/com/supwisdom/dlpay/api/validator/StringListValidator.java b/common/src/main/java/com/supwisdom/dlpay/api/validator/StringListValidator.java
new file mode 100644
index 0000000..63f6299
--- /dev/null
+++ b/common/src/main/java/com/supwisdom/dlpay/api/validator/StringListValidator.java
@@ -0,0 +1,24 @@
+package com.supwisdom.dlpay.api.validator;
+
+import com.supwisdom.dlpay.api.annotation.StringList;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.Arrays;
+
+public class StringListValidator implements ConstraintValidator<StringList, String> {
+
+ private String[] valueList;
+
+ @Override
+ public boolean isValid(String value, ConstraintValidatorContext context) {
+ if (Arrays.asList(valueList).contains(value))
+ return true;
+ return false;
+ }
+
+ @Override
+ public void initialize(StringList constraintAnnotation) {
+ valueList = constraintAnnotation.value();
+ }
+}