ylx 7 vuotta sitten
vanhempi
commit
dc8d33ff05

+ 48 - 9
ccb_fund_trusteeship/src/main/java/com/fuzamei/utils/ValidationUtil.java

@@ -2,6 +2,7 @@ package com.fuzamei.utils;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import javax.validation.ConstraintViolation;
@@ -9,24 +10,26 @@ import javax.validation.Validation;
 import javax.validation.Validator;
 import javax.validation.ValidatorFactory;
 
+import com.alibaba.fastjson.JSON;
+
 /**
  * 
  * @author ylx
  * @describe 针对hibernate-validator的实体类进行数据校验的工具类
+ * @describe 针对该项目中其它各类数据校验的工具类
  */
 public class ValidationUtil {
 	
+	private ValidationUtil(){
+		throw new AssertionError("不能实例化 ValidationUtil");
+	}
+	
 	/**
-	 * 
 	* @Title: validate
-	* @Description: TODO(校验一个实体类的所有校验失败信息)
-	* @param @param bo
-	* @param @return    设定文件
-	* @return List<String>    返回的是数据校验的所有校验失败信息,封装在一个list中作为返回值
+	* @Description: TODO(仅针对校验一个实体类的所有校验失败信息)
+	* @return List<String> 返回的是数据校验的所有校验失败信息,封装在一个list中作为返回值
 	* @author ylx
 	* @date 2017年12月26日 下午3:48:40
-	* @throws
-	* 
 	 */
 	public static <T> List<String> validate(T bo){
 		ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
@@ -39,13 +42,49 @@ public class ValidationUtil {
 		return list;	//包含所有校验出错的信息
 		
 		/*使用hibernate validator出现上面的错误, 需要 注意
-
 		@NotNull 和 @NotEmpty  和@NotBlank 区别
-
 		@NotEmpty 用在集合类上面
 		@NotBlank 用在String上面
 		@NotNull    用在基本类型上*/
 	}
 	
+	/**
+	* @Title: range
+	* @Description: TODO(针对传入的参数进行校验)
+	* @return void
+	* @author ylx
+	* @date 2017年12月26日 下午3:48:40
+	 */
+	public static void range(Object obj,int min,Class<? extends Number> clazz){
+		String number=null;
+		try {
+			number=String.class.cast(obj);
+			try {
+				Long.parseLong(number);
+			} catch (NumberFormatException e) {
+				throw new RuntimeException("数据类型解析异常");
+			}
+		} catch (Exception e) {
+			if(e.getMessage().equals("数据类型解析异常")){
+				throw new RuntimeException("数据类型解析异常");
+			}
+			Number num=null;
+			try {
+				num = clazz.cast(obj);
+			} catch (Exception e1) {
+				throw new RuntimeException("数字解析异常");
+			}
+			if(num.longValue()<min){
+				throw new RuntimeException("最小值应为"+min);
+			}
+		}
+		
+		
+	}
+	
+	public static void main(String[] args) {
+		Map<String,Object> map = JSON.parseObject("{'KEY1':'033','KEY2':5}", Map.class);
+		range(map.get("KEY1"), 0, Integer.class);
+	}
 	
 }