package com.java110.common.util;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import org.apache.commons.lang3.StringUtils;
|
|
import java.util.List;
|
import java.util.Map;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
/**
|
* 自定义 断言
|
* Created by wuxw on 2017/4/22.
|
*/
|
public class Assert extends org.springframework.util.Assert {
|
|
/**
|
* 判断 jsonObject 是否为空
|
*
|
* @param jsonObject
|
* @param key
|
* @param message
|
*/
|
public static void isNotNull(Map jsonObject, String key, String message) {
|
Assert.notEmpty(jsonObject, message);
|
|
if (!jsonObject.containsKey(key)) {
|
throw new IllegalArgumentException(message);
|
}
|
}
|
|
/**
|
* 判断 jsonObject 是否为空
|
*
|
* @param jsonObject
|
* @param key
|
* @param message
|
*/
|
public static void jsonObjectHaveKey(JSONObject jsonObject, String key, String message) {
|
isNotNull(jsonObject, key, message);
|
}
|
|
|
/**
|
* 判断 jsonObject 是否为空
|
*
|
* @param jsonStr
|
* @param key
|
* @param message
|
*/
|
public static void jsonObjectHaveKey(String jsonStr, String key, String message) {
|
Assert.hasLength(jsonStr, "不是有效的json为空," + message);
|
if (isJsonObject(jsonStr)) {
|
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
|
isNotNull(jsonObject, key, message);
|
} else {
|
throw new IllegalArgumentException(message);
|
}
|
}
|
|
/**
|
* 判断 jsonObject 是否为空
|
*
|
* @param info
|
* @param key
|
* @param message
|
*/
|
public static void hasKey(Map info, String key, String message) {
|
isNotNull(info, key, message);
|
}
|
|
/**
|
* 判断 jsonObject 是否为空
|
*
|
* @param info
|
* @param key
|
* @param message
|
*/
|
public static void hasKeyAndValue(Map info, String key, String message) {
|
isNotNull(info, key, message);
|
hasLength(info.get(key) == null ? "" : info.get(key).toString(), message);
|
}
|
|
|
/**
|
* 判断json是否为空
|
*
|
* @param jsonArray
|
* @param message
|
*/
|
public static void listIsNull(List jsonArray, String message) {
|
|
if (jsonArray != null && jsonArray.size() > 0) {
|
throw new IllegalArgumentException(message);
|
}
|
}
|
|
/**
|
* 判断json是否为空
|
*
|
* @param jsonArray
|
* @param message
|
*/
|
public static void listNotNull(List jsonArray, String message) {
|
|
Assert.notNull(jsonArray, message);
|
|
if (jsonArray.size() < 1) {
|
throw new IllegalArgumentException(message);
|
}
|
}
|
|
/**
|
* 判断list 是否为空
|
*
|
* @param targetList
|
* @param message
|
*/
|
public static void isNotNull(List<?> targetList, String message) {
|
|
Assert.notNull(targetList, message);
|
|
if (targetList.size() < 1) {
|
throw new IllegalArgumentException(message);
|
}
|
}
|
|
/**
|
* 判断是否只有一条记录数据
|
*
|
* @param targetList
|
* @param message
|
*/
|
public static void isOne(List<?> targetList, String message) {
|
Assert.isNull(targetList, message);
|
|
if (targetList.size() != 1) {
|
throw new IllegalArgumentException(message);
|
}
|
}
|
|
/**
|
* 校验map 中是否有值
|
*
|
* @param targetMap
|
* @param message
|
*/
|
public static void hasSize(Map<?, ?> targetMap, String message) {
|
Assert.isNull(targetMap, message);
|
|
if (targetMap.size() < 1) {
|
throw new IllegalArgumentException(message);
|
}
|
|
}
|
|
/**
|
* 判断 jsonObject 是否为空
|
*
|
* @param strValue
|
* @param message
|
*/
|
public static void isJsonObject(String strValue, String message) {
|
if (!isJsonObject(strValue)) {
|
throw new IllegalArgumentException(message);
|
}
|
}
|
|
/**
|
* 校验是否为JSON
|
*
|
* @param msg
|
* @return
|
*/
|
public static Boolean isJsonObject(String msg) {
|
try {
|
JSONObject.parseObject(msg);
|
} catch (Exception e) {
|
return false;
|
}
|
return true;
|
}
|
|
public static Boolean isPageJsonObject(String msg) {
|
try {
|
JSONObject jsonObject = JSONObject.parseObject(msg);
|
if (!jsonObject.containsKey("meta") || !jsonObject.containsKey("param")) {
|
return false;
|
}
|
} catch (Exception e) {
|
return false;
|
}
|
return true;
|
}
|
|
/**
|
* 校验是否为整数
|
*
|
* @param text
|
* @param msg
|
*/
|
public static void isInteger(String text, String msg) {
|
if (!StringUtils.isNumeric(text)) {
|
throw new IllegalArgumentException(msg);
|
}
|
}
|
|
public static void isDate(String text, String msg) {
|
try {
|
DateUtil.getDefaultDateFromString(text);
|
} catch (Exception e) {
|
throw new IllegalArgumentException(msg);
|
}
|
}
|
|
|
/**
|
* 判断字符串是否是金额
|
*
|
* @param str 金额字符串
|
* @param msg 异常时信息
|
*/
|
public static void isMoney(String str, String msg) {
|
Pattern pattern = java.util.regex.Pattern.compile("^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,2})?$"); // 判断小数点后2位的数字的正则表达式
|
Matcher match = pattern.matcher(str);
|
if (!match.matches()) {
|
throw new IllegalArgumentException(msg);
|
|
}
|
}
|
|
}
|