From 22e8a676ee42c0d78b3526bcd9a635abbe8dca03 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 28 六月 2022 11:28:21 +0800
Subject: [PATCH] 优化databus bug
---
java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java | 51 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 36 insertions(+), 15 deletions(-)
diff --git a/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java b/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
old mode 100644
new mode 100755
index cd38f0f..5be045b
--- a/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
@@ -1,22 +1,18 @@
package com.java110.utils.util;
-import org.apache.commons.beanutils.BeanUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;
-import org.apache.commons.beanutils.PropertyUtils;
+import org.apache.commons.lang3.reflect.FieldUtils;
import org.springframework.cglib.beans.BeanCopier;
import org.springframework.cglib.beans.BeanMap;
import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
/**
* @ClassName BeanConvertUtil
@@ -34,9 +30,9 @@
static {
ConvertUtils.register(new Converter() { //娉ㄥ唽涓�涓棩鏈熻浆鎹㈠櫒
- public Object convert(Class type, Object value) {
+ public <T> T convert(Class<T> type, Object value) {
Date date1 = null;
- if (value instanceof String) {
+ if (value instanceof String && type.getClass().equals(Date.class)) {
String date = (String) value;
SimpleDateFormat sdf = null;
if (date.contains(":")) {
@@ -49,10 +45,11 @@
} catch (ParseException e) {
e.printStackTrace();
}
- return date1;
+ return type.cast(date1);
}
- return value;
+ return null;
}
+
}, Date.class);
@@ -89,18 +86,20 @@
return dstBean;
}
- private static void objectFieldsPutMap(Object dstBean, BeanMap beanMap, Map orgMap) {
- Field[] fields = dstBean.getClass().getDeclaredFields();
+ private static void objectFieldsPutMap(Object dstBean, BeanMap beanMap, Map<String, Object> orgMap) {
+ //Field[] fields = dstBean.getClass().getDeclaredFields();
+ Field[] fields = FieldUtils.getAllFields(dstBean.getClass());
for (Field field : fields) {
if (!orgMap.containsKey(field.getName())) {
continue;
}
- Class dstClass = field.getType();
+ Class<?> dstClass = field.getType();
//System.out.println("瀛楁绫诲瀷" + dstClass);
Object value = orgMap.get(field.getName());
//String 杞琩ate
Object tmpValue = Java110Converter.getValue(value, dstClass);
+ //System.out.println("tmpValue"+value.toString());
beanMap.put(field.getName(), tmpValue);
}
}
@@ -167,6 +166,28 @@
return map;
}
+ /**
+ * bean杞崲涓簃ap瀵硅薄
+ *
+ * @param orgBean 鍘熷bean
+ * @return map瀵硅薄
+ */
+ public static JSONObject beanCovertJson(Object orgBean) {
+
+ return JSONObject.parseObject(JSONObject.toJSONString(orgBean));
+ }
+
+ /**
+ * bean杞崲涓簃ap瀵硅薄
+ *
+ * @param orgBean 鍘熷bean
+ * @return map瀵硅薄
+ */
+ public static JSONArray beanCovertJSONArray(Object orgBean) {
+
+ return JSONArray.parseArray(JSONArray.toJSONStringWithDateFormat(orgBean, "yyyy-MM-dd HH:mm:ss"));
+ }
+
/**
* bean闆嗗悎杞崲涓簃ap瀵硅薄闆嗗悎
--
Gitblit v1.8.0