Преглед на файлове

feat(JMap): 增加 getMap 和 getList 方法

hechunping преди 1 месец
родител
ревизия
2886313208

+ 26 - 0
src/main/java/com/xynet/marketing/utils/collections/map/JHashMap.java

@@ -119,6 +119,30 @@ public class JHashMap<K, V> extends HashMap<K, V> implements JMap<K, V>, Seriali
         return v == null ? null : v;
     }
 
+    @Override
+    public JMap<String, Object> getMap(K key) {
+        Object value = this.get(key);
+        if (value == null) {
+            return null;
+        }
+        return new JHashMap<>(BeanUtil.beanToMap(value));
+    }
+
+    @Override
+    public List<JMap<String, Object>> getList(K key) {
+        Object value = this.get(key);
+        if (value == null) {
+            return null;
+        }
+        List<Object> list = (List<Object>) value;
+        List<JMap<String, Object>> result = new ArrayList<>();
+        for (Object valueInfo : list) {
+            JMap<String, Object> jMap = new JHashMap<>(BeanUtil.beanToMap(valueInfo));
+            result.add(jMap);
+        }
+        return result;
+    }
+
     /**
      * 将对象List转为MapList
      *
@@ -168,4 +192,6 @@ public class JHashMap<K, V> extends HashMap<K, V> implements JMap<K, V>, Seriali
         }
         return page2;
     }
+
+
 }

+ 5 - 0
src/main/java/com/xynet/marketing/utils/collections/map/JMap.java

@@ -4,6 +4,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
 import java.time.LocalDateTime;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -73,4 +74,8 @@ public interface JMap<K, V> extends Map<K, V>, Serializable {
 
     V get(K key, Class<V> t);
 
+    JMap<String, Object> getMap(K key);
+
+    List<JMap<String, Object>> getList(K key);
+
 }