package com.tenwa.collectaudit.cache; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Date; public class EntityTransform { /** * 请求报文 实时代收 Trans_Detail * @param t * @return */ public static String toXmlByLotCollect(T t){ //接收xml StringBuffer xml = new StringBuffer(); //xml.append("\n"); Field[] fielArr = t.getClass().getDeclaredFields(); try { for (Field field : fielArr) { // 获取属性的名字 String fieldName = field.getName(); // 将属性的首字符大写,方便构造get,set方法 fieldName = fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); // 获取属性的类型 String type = field.getGenericType().toString(); if (type.equals("class java.lang.String")) { Method m = t.getClass().getMethod("get" + fieldName); // 调用getter方法获取属性值 String value = (String) m.invoke(t); if (fieldName.equals("SN") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); }/*else if (fieldName.equals("ACCOUNT_NAME") && value != null) { //xml.append("<"+fieldName+">"+value+"\n"); xml.append("<"+fieldName+">"+value+"\n"); }*/ else if (fieldName.equals("PROVINCE") && value != null) { //xml.append("<"+fieldName+">"+value+"\n"); xml.append("<"+fieldName+">"+value+"\n"); }else if (fieldName.equals("CURRENCY") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); }else if (fieldName.equals("RECKON_ACCOUNT") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); }else if("".equals(value)){ value = ""; xml.append("<"+fieldName+">"+value+"\n"); }else if(value != null){ xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Integer")) { Method m = t.getClass().getMethod("get" + fieldName); Integer value = (Integer) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Long")) { Method m = t.getClass().getMethod("get" + fieldName); Long value = (Long) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Short")) { Method m = t.getClass().getMethod("get" + fieldName); Short value = (Short) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Double")) { Method m = t.getClass().getMethod("get" + fieldName); Double value = (Double) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Boolean")) { Method m = t.getClass().getMethod("get" + fieldName); Boolean value = (Boolean) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.util.Date")) { Method m = t.getClass().getMethod("get" + fieldName); Date value = (Date) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } } } catch (Exception e) { //log.error("构造xml出错"+e); } //转化XML return xml.toString(); } /** * 批量代收 XML * @param t * @return */ public static String toXmlByBatchCollect(T t){ //接收xml StringBuffer xml = new StringBuffer(); //xml.append("\n"); Field[] fielArr = t.getClass().getDeclaredFields(); try { for (Field field : fielArr) { // 获取属性的名字 String fieldName = field.getName(); // 将属性的首字符大写,方便构造get,set方法 fieldName = fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); // 获取属性的类型 String type = field.getGenericType().toString(); if (type.equals("class java.lang.String")) { Method m = t.getClass().getMethod("get" + fieldName); // 调用getter方法获取属性值 String value = (String) m.invoke(t); if (fieldName.equals("SN") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); }/*else if (fieldName.equals("ACCOUNT_NAME") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); //xml.append("<"+fieldName+">"+value+"\n"); }*/else if (fieldName.equals("PROVINCE") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); //xml.append("<"+fieldName+">"+value+"\n"); } else if (fieldName.equals("CURRENCY") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); }else if (fieldName.equals("RECKON_ACCOUNT") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); }else if("".equals(value)){ value = ""; xml.append("<"+fieldName+">"+value+"\n"); }else if(value != null){ xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Integer")) { Method m = t.getClass().getMethod("get" + fieldName); Integer value = (Integer) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Long")) { Method m = t.getClass().getMethod("get" + fieldName); Long value = (Long) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Short")) { Method m = t.getClass().getMethod("get" + fieldName); Short value = (Short) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Double")) { Method m = t.getClass().getMethod("get" + fieldName); Double value = (Double) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Boolean")) { Method m = t.getClass().getMethod("get" + fieldName); Boolean value = (Boolean) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.util.Date")) { Method m = t.getClass().getMethod("get" + fieldName); Date value = (Date) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } } } catch (Exception e) { //log.error("构造xml出错"+e); } //转化XML return xml.toString(); } /** * 普通将实体类转化为xml字符串 * @param t * @return */ public static String toXml(T t) { //接收xml StringBuffer xml = new StringBuffer(); //xml.append("\n"); Field[] fielArr = t.getClass().getDeclaredFields(); try { for (Field field : fielArr) { // 获取属性的名字 String fieldName = field.getName(); // 将属性的首字符大写,方便构造get,set方法 fieldName = fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); // 获取属性的类型 String type = field.getGenericType().toString(); if (type.equals("class java.lang.String")) { Method m = t.getClass().getMethod("get" + fieldName); // 调用getter方法获取属性值 String value = (String) m.invoke(t); if (fieldName.equals("SN") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); } else if (fieldName.equals("CURRENCY") && value != null) { xml.append("<"+fieldName+">"+value+"\n"); }else if("".equals(value)){ value = ""; xml.append("<"+fieldName+">"+value+"\n"); }else if(value != null){ xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Integer")) { Method m = t.getClass().getMethod("get" + fieldName); Integer value = (Integer) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Long")) { Method m = t.getClass().getMethod("get" + fieldName); Long value = (Long) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Short")) { Method m = t.getClass().getMethod("get" + fieldName); Short value = (Short) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Double")) { Method m = t.getClass().getMethod("get" + fieldName); Double value = (Double) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.lang.Boolean")) { Method m = t.getClass().getMethod("get" + fieldName); Boolean value = (Boolean) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } if (type.equals("class java.util.Date")) { Method m = t.getClass().getMethod("get" + fieldName); Date value = (Date) m.invoke(t); if (value != null) { xml.append("<"+fieldName+">"+value+"\n"); } } } } catch (Exception e) { //log.error("构造xml出错"+e); } //转化XML //xml.append(""); return xml.toString(); } }