| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334 |
- package com.java110.utils.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.Set;
- 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);
- }
- }
- /**
- * 数组只有一条数据
- *
- * @param jsonArray
- * @param message
- */
- public static void listOnlyOne(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.notNull(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);
- }
- }
- public static void isDate(String text, String format, String msg) {
- try {
- DateUtil.getDateFromString(text, format);
- } 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);
- }
- }
- /**
- * 检验是否在 infos 中存在 flowComponent 对应组件的key
- *
- * @param infos
- * @param flowComponent
- * @param key
- * @param message
- */
- public static void hasKeyByFlowData(JSONArray infos, String flowComponent, String key, String message) {
- for (int infoIndex = 0; infoIndex < infos.size(); infoIndex++) {
- JSONObject _info = infos.getJSONObject(infoIndex);
- if (_info.containsKey(flowComponent) && _info.getString("flowComponent").equals(flowComponent)) {
- hasKeyAndValue(_info, key, message);
- break;
- }
- }
- }
- @SuppressWarnings("rawtypes")
- public static boolean objIsEmpty(Object o) {
- if (o == null) {
- return true;
- }
- if (o instanceof String) {
- if (o.toString().trim().equals("")) {
- return true;
- }
- if (o.equals("null") || o.equals("NULL")) {
- return true;
- }
- } else if (o instanceof List) {
- if (((List) o).size() == 0) {
- return true;
- }
- } else if (o instanceof Map) {
- if (((Map) o).size() == 0) {
- return true;
- }
- } else if (o instanceof Set) {
- if (((Set) o).size() == 0) {
- return true;
- }
- } else if (o instanceof Object[]) {
- if (((Object[]) o).length == 0) {
- return true;
- }
- } else if (o instanceof int[]) {
- if (((int[]) o).length == 0) {
- return true;
- }
- } else if (o instanceof long[]) {
- if (((long[]) o).length == 0) {
- return true;
- }
- }
- return false;
- }
- /**
- * 检验是否在 infos 中存在 flowComponent 对应组件的key
- *
- * @param key
- * @param message
- */
- public static void isEmail(JSONObject info, String key, String message) {
- hasKeyAndValue(info, key, message);
- if (!ValidatorUtil.isEmail(info.getString(key))) {
- throw new IllegalArgumentException(message);
- }
- }
- }
|