275 lines
12 KiB
Java
275 lines
12 KiB
Java
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 <T> String toXmlByLotCollect(T t){
|
||
//接收xml
|
||
StringBuffer xml = new StringBuffer();
|
||
//xml.append("<xml>\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+"</"+fieldName+"><E_USER_CODE/>\n");
|
||
}/*else if (fieldName.equals("ACCOUNT_NAME") && value != null) {
|
||
//xml.append("<"+fieldName+">"+value+"</"+fieldName+"><PROVINCE/><CITY/><BANK_NAME/>\n");
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><CITY/><BANK_NAME/>\n");
|
||
}*/ else if (fieldName.equals("PROVINCE") && value != null) {
|
||
//xml.append("<"+fieldName+">"+value+"</"+fieldName+"><PROVINCE/><CITY/><BANK_NAME/>\n");
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><CITY/><BANK_NAME/>\n");
|
||
}else if (fieldName.equals("CURRENCY") && value != null) {
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><PROTOCOL/><PROTOCOL_USERID/><ID_TYPE/><ID/><TEL/><CUST_USERID/>\n");
|
||
}else if (fieldName.equals("RECKON_ACCOUNT") && value != null) {
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><REMARK/><RESERVE1/><RESERVE2/><RESERVE3/><RESERVE4/><ELE_BANKNO/><ABS/><PS/><USE/><CRE_VAL_DATE/><CRE_CVN2/><ACC_PASS/></TRANS_DETAIL><TRANS_DETAIL>\n");
|
||
}else if("".equals(value)){
|
||
value = "";
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+">\n");
|
||
}else if(value != null){
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\n");
|
||
}
|
||
}
|
||
}
|
||
} catch (Exception e) {
|
||
//log.error("构造xml出错"+e);
|
||
}
|
||
//转化XML
|
||
return xml.toString();
|
||
}
|
||
/**
|
||
* 批量代收 XML
|
||
* @param t
|
||
* @return
|
||
*/
|
||
public static <T> String toXmlByBatchCollect(T t){
|
||
//接收xml
|
||
StringBuffer xml = new StringBuffer();
|
||
//xml.append("<xml>\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+"</"+fieldName+"><E_USER_CODE/>\n");
|
||
}/*else if (fieldName.equals("ACCOUNT_NAME") && value != null) {
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><CITY/><BANK_NAME/>\n");
|
||
//xml.append("<"+fieldName+">"+value+"</"+fieldName+"><PROVINCE/><CITY/><BANK_NAME/>\n");
|
||
}*/else if (fieldName.equals("PROVINCE") && value != null) {
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><CITY/><BANK_NAME/>\n");
|
||
//xml.append("<"+fieldName+">"+value+"</"+fieldName+"><PROVINCE/><CITY/><BANK_NAME/>\n");
|
||
} else if (fieldName.equals("CURRENCY") && value != null) {
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><PROTOCOL/><PROTOCOL_USERID/><ID_TYPE/><ID/><TEL/><CUST_USERID/>\n");
|
||
}else if (fieldName.equals("RECKON_ACCOUNT") && value != null) {
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><REMARK/><RESERVE1/><RESERVE2/><RESERVE3/><RESERVE4/><ELE_BANKNO/><ABS/><PS/><USE/><CRE_VAL_DATE/><CRE_CVN2/><ACC_PASS/></TRANS_DETAIL><TRANS_DETAIL>\n");
|
||
}else if("".equals(value)){
|
||
value = "";
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+">\n");
|
||
}else if(value != null){
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\n");
|
||
}
|
||
}
|
||
}
|
||
} catch (Exception e) {
|
||
//log.error("构造xml出错"+e);
|
||
}
|
||
//转化XML
|
||
return xml.toString();
|
||
}
|
||
|
||
/**
|
||
* 普通将实体类转化为xml字符串
|
||
* @param t
|
||
* @return
|
||
*/
|
||
public static <T> String toXml(T t) {
|
||
|
||
//接收xml
|
||
StringBuffer xml = new StringBuffer();
|
||
//xml.append("<xml>\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+"</"+fieldName+"><E_USER_CODE/>\n");
|
||
} else if (fieldName.equals("CURRENCY") && value != null) {
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+"><CURRENCY/><PROTOCOL_USERID/>\n");
|
||
}else if("".equals(value)){
|
||
value = "";
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+">\n");
|
||
}else if(value != null){
|
||
xml.append("<"+fieldName+">"+value+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\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+"</"+fieldName+">\n");
|
||
}
|
||
}
|
||
}
|
||
} catch (Exception e) {
|
||
//log.error("构造xml出错"+e);
|
||
}
|
||
//转化XML
|
||
//xml.append("</xml>");
|
||
return xml.toString();
|
||
}
|
||
}
|