cffabe2271bdd1c8d90318220a6568d73d1ea57e.svn-base 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package org.jeecg.common.base;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import org.apache.commons.beanutils.ConvertUtils;
  4. import java.math.BigDecimal;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. import java.util.Optional;
  9. import java.util.stream.Collectors;
  10. /**
  11. * 自定义Map
  12. */
  13. public class BaseMap extends HashMap<String, Object> {
  14. private static final long serialVersionUID = 1L;
  15. public BaseMap() {
  16. }
  17. public BaseMap(Map<String, Object> map) {
  18. this.putAll(map);
  19. }
  20. @Override
  21. public BaseMap put(String key, Object value) {
  22. super.put(key, Optional.ofNullable(value).orElse(""));
  23. return this;
  24. }
  25. public BaseMap add(String key, Object value) {
  26. super.put(key, Optional.ofNullable(value).orElse(""));
  27. return this;
  28. }
  29. @SuppressWarnings("unchecked")
  30. public <T> T get(String key) {
  31. Object obj = super.get(key);
  32. if (ObjectUtil.isNotEmpty(obj)) {
  33. return (T) obj;
  34. } else {
  35. return null;
  36. }
  37. }
  38. @SuppressWarnings("unchecked")
  39. public Boolean getBoolean(String key) {
  40. Object obj = super.get(key);
  41. if (ObjectUtil.isNotEmpty(obj)) {
  42. return Boolean.valueOf(obj.toString());
  43. } else {
  44. return false;
  45. }
  46. }
  47. public Long getLong(String key) {
  48. Object v = get(key);
  49. if (ObjectUtil.isNotEmpty(v)) {
  50. return new Long(v.toString());
  51. }
  52. return null;
  53. }
  54. public Long[] getLongs(String key) {
  55. Object v = get(key);
  56. if (ObjectUtil.isNotEmpty(v)) {
  57. return (Long[]) v;
  58. }
  59. return null;
  60. }
  61. public List<Long> getListLong(String key) {
  62. List<String> list = get(key);
  63. if (ObjectUtil.isNotEmpty(list)) {
  64. return list.stream().map(e -> new Long(e)).collect(Collectors.toList());
  65. } else {
  66. return null;
  67. }
  68. }
  69. public Long[] getLongIds(String key) {
  70. Object ids = get(key);
  71. if (ObjectUtil.isNotEmpty(ids)) {
  72. return (Long[]) ConvertUtils.convert(ids.toString().split(","), Long.class);
  73. } else {
  74. return null;
  75. }
  76. }
  77. public Integer getInt(String key, Integer def) {
  78. Object v = get(key);
  79. if (ObjectUtil.isNotEmpty(v)) {
  80. return Integer.parseInt(v.toString());
  81. } else {
  82. return def;
  83. }
  84. }
  85. public Integer getInt(String key) {
  86. Object v = get(key);
  87. if (ObjectUtil.isNotEmpty(v)) {
  88. return Integer.parseInt(v.toString());
  89. } else {
  90. return 0;
  91. }
  92. }
  93. public BigDecimal getBigDecimal(String key) {
  94. Object v = get(key);
  95. if (ObjectUtil.isNotEmpty(v)) {
  96. return new BigDecimal(v.toString());
  97. }
  98. return new BigDecimal("0");
  99. }
  100. @SuppressWarnings("unchecked")
  101. public <T> T get(String key, T def) {
  102. Object obj = super.get(key);
  103. if (ObjectUtil.isEmpty(obj)) {
  104. return def;
  105. }
  106. return (T) obj;
  107. }
  108. public static BaseMap toBaseMap(Map<String, Object> obj) {
  109. BaseMap map = new BaseMap();
  110. map.putAll(obj);
  111. return map;
  112. }
  113. }