275 lines
12 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
// 将属性的首字符大写方便构造getset方法
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();
// 将属性的首字符大写方便构造getset方法
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();
// 将属性的首字符大写方便构造getset方法
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();
}
}