From c9b36c8d499409d5b596e4f9cf4fc47fd8a42fd8 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 08 四月 2021 18:25:15 +0800
Subject: [PATCH] 加入个人物品管理工鞥

---
 java110-utils/src/main/java/com/java110/utils/util/Assert.java |   88 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 84 insertions(+), 4 deletions(-)

diff --git a/java110-utils/src/main/java/com/java110/utils/util/Assert.java b/java110-utils/src/main/java/com/java110/utils/util/Assert.java
index 3f79a4f..1a6a54f 100644
--- a/java110-utils/src/main/java/com/java110/utils/util/Assert.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/Assert.java
@@ -16,6 +16,13 @@
  */
 public class Assert extends org.springframework.util.Assert {
 
+
+    public static void hasValue(Object value,String msg){
+        Assert.notNull(value, msg);
+        Assert.hasLength(value.toString(), msg);
+
+    }
+
     /**
      * 鍒ゆ柇 jsonObject 鏄惁涓虹┖
      *
@@ -81,6 +88,17 @@
     public static void hasKeyAndValue(Map info, String key, String message) {
         isNotNull(info, key, message);
         hasLength(info.get(key) == null ? "" : info.get(key).toString(), message);
+    }
+
+    /**
+     * 鍒ゆ柇 jsonObject 鏄惁涓虹┖
+     *
+     * @param info
+     * @param key
+     * @param message
+     */
+    public static void hasKeyAndValue(Object info, String key, String message) {
+        hasKeyAndValue(BeanConvertUtil.beanCovertMap(info), key, message);
     }
 
 
@@ -150,7 +168,7 @@
      * @param message
      */
     public static void isOne(List<?> targetList, String message) {
-        Assert.isNull(targetList, message);
+        Assert.notNull(targetList, message);
 
         if (targetList.size() != 1) {
             throw new IllegalArgumentException(message);
@@ -231,6 +249,14 @@
         }
     }
 
+    public static void isDate(String text, String format, String msg) {
+        try {
+            DateUtil.getDateFromString(text, format);
+        } catch (Exception e) {
+            throw new IllegalArgumentException(msg);
+        }
+    }
+
 
     /**
      * 鍒ゆ柇瀛楃涓叉槸鍚︽槸閲戦
@@ -249,16 +275,17 @@
 
     /**
      * 妫�楠屾槸鍚﹀湪 infos 涓瓨鍦� flowComponent 瀵瑰簲缁勪欢鐨刱ey
+     *
      * @param infos
      * @param flowComponent
      * @param key
      * @param message
      */
-    public static void hasKeyByFlowData(JSONArray infos, String flowComponent, String key, String message){
+    public static void hasKeyByFlowData(JSONArray infos, String flowComponent, String key, String message) {
 
-        for(int infoIndex = 0 ; infoIndex < infos.size() ; infoIndex ++){
+        for (int infoIndex = 0; infoIndex < infos.size(); infoIndex++) {
             JSONObject _info = infos.getJSONObject(infoIndex);
-            if(_info.containsKey(flowComponent) && _info.getString("flowComponent").equals(flowComponent)){
+            if (_info.containsKey(flowComponent) && _info.getString("flowComponent").equals(flowComponent)) {
                 hasKeyAndValue(_info, key, message);
                 break;
             }
@@ -307,4 +334,57 @@
     }
 
 
+    /**
+     * 妫�楠屾槸鍚﹀湪 infos 涓瓨鍦� flowComponent 瀵瑰簲缁勪欢鐨刱ey
+     *
+     * @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);
+        }
+    }
+
+    public static void judgeAttrValue(JSONObject paramObj){
+        if (!paramObj.containsKey("attrs")) {
+            return;
+        }
+
+        JSONArray attrs = paramObj.getJSONArray("attrs");
+        if (attrs.size() < 1) {
+            return;
+        }
+        JSONObject attr = null;
+        for (int attrIndex = 0; attrIndex < attrs.size(); attrIndex++) {
+            attr = attrs.getJSONObject(attrIndex);
+            if (!"Y".equals(attr.getString("required"))) {
+                continue;
+            }
+            Assert.hasKeyAndValue(attr, "value", attr.getString("specName") + "涓嶈兘涓虹┖");
+
+            //鏁存暟
+            if ("2002".equals(attr.getString("specValueType"))) {
+                Assert.isInteger(attr.getString("value"), attr.getString("specName") + "涓嶆槸鏁存暟");
+            }
+
+            //鏁存暟
+            if ("3003".equals(attr.getString("specValueType"))) {
+                Assert.isMoney(attr.getString("value"), attr.getString("specName") + "涓嶆槸閲戦绫诲瀷 濡� 3.00");
+            }
+
+            // 鏃ユ湡4004
+            if ("4004".equals(attr.getString("specValueType"))) {
+                Assert.isDate(attr.getString("value"), DateUtil.DATE_FORMATE_STRING_B, attr.getString("specName") + "涓嶆槸鏃ユ湡鏍煎紡 YYYY-MM-DD");
+            }
+
+            // 鏃ユ湡5005
+            if ("5005".equals(attr.getString("specValueType"))) {
+                Assert.isDate(attr.getString("value"), DateUtil.DATE_FORMATE_STRING_A, attr.getString("specName") + "涓嶆槸鏃ユ湡鏍煎紡 YYYY-MM-DD hh:mm:ss");
+            }
+        }
+    }
+
+
 }

--
Gitblit v1.8.0