generated from root/miduo_server
疯体游戏支付sign问题解决
parent
0214291769
commit
9604639706
|
@ -48,11 +48,13 @@ public class ChengfengRechargeController {
|
|||
|
||||
String ntData = requestMap.get("nt_data");
|
||||
String decode = FengTiDesUtil.decode(ntData, Callback_Key);
|
||||
HashMap<String, String> data = (HashMap<String, String>) XmlUtil.readStringXmlOut(decode);
|
||||
LOGGER.info("疯体,解析xml参数:{}",data);
|
||||
String orderno = data.get("order_no"); // 支付订单号
|
||||
double amount = Double.parseDouble(data.get("amount")) * 100; //充值金额(单位:元)(需要换算成分)
|
||||
String gameExt = data.get("extras_params"); //透传参数,如CP下单有值提交,则会原样回传,不得超过255个字符
|
||||
|
||||
Map<String, String> map = new HashMap<>();
|
||||
Map<String, String> data = XmlUtil.parseXml2Map(decode, map);
|
||||
LOGGER.info("疯体xml参数,解析前:{},解析后:{}",decode, data);
|
||||
String orderno = data.get("message.order_no"); // 支付订单号
|
||||
double amount = Double.parseDouble(data.get("message.amount")) * 100; //充值金额(单位:元)(需要换算成分)
|
||||
String gameExt = data.get("message.extras_params"); //透传参数,如CP下单有值提交,则会原样回传,不得超过255个字符
|
||||
String[] callback = gameExt.split("_");
|
||||
return payLogic.initOrder(gameExt, orderno, String.valueOf(amount), new Date(), callback[0], PaySdkEnum.FENGTIIOS);
|
||||
}
|
||||
|
|
|
@ -46,11 +46,14 @@ public class FengtiIOSRechargeController {
|
|||
|
||||
String ntData = requestMap.get("nt_data");
|
||||
String decode = FengTiDesUtil.decode(ntData, Callback_Key);
|
||||
HashMap<String, String> data = (HashMap<String, String>) XmlUtil.readStringXmlOut(decode);
|
||||
LOGGER.info("疯体,解析xml参数:{}",data);
|
||||
String orderno = data.get("out_order_no"); // 支付订单号
|
||||
double amount = Double.parseDouble(data.get("amount")) * 100; //充值金额(单位:元)(需要换算成分)
|
||||
String gameExt = data.get("extras_params"); //透传参数,如CP下单有值提交,则会原样回传,不得超过255个字符
|
||||
|
||||
Map<String, String> map = new HashMap<>();
|
||||
Map<String, String> data = XmlUtil.parseXml2Map(decode, map);
|
||||
LOGGER.info("疯体xml参数,解析前:{},解析后:{}",decode, data);
|
||||
String orderno = data.get("message.order_no"); // 支付订单号
|
||||
double amount = Double.parseDouble(data.get("message.amount")) * 100; //充值金额(单位:元)(需要换算成分)
|
||||
String gameExt = data.get("message.extras_params"); //透传参数,如CP下单有值提交,则会原样回传,不得超过255个字符
|
||||
|
||||
String[] callback = gameExt.split("_");
|
||||
return payLogic.initOrder(gameExt, orderno, String.valueOf(amount), new Date(), callback[0], PaySdkEnum.FENGTIIOS);
|
||||
}
|
||||
|
|
|
@ -4,7 +4,9 @@ import org.dom4j.Document;
|
|||
import org.dom4j.DocumentException;
|
||||
import org.dom4j.DocumentHelper;
|
||||
import org.dom4j.Element;
|
||||
import org.dom4j.io.SAXReader;
|
||||
|
||||
import java.io.StringReader;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
@ -78,6 +80,42 @@ public class XmlUtil {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将xml转换为Map。 支持xml标签多层嵌套,并以"."分隔多级标签(不包括根节点)。 不支持XML标签重复时的情况
|
||||
*
|
||||
* @param xml
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
public static Map<String, String> parseXml2Map(String xml, Map<String, String> map) {
|
||||
try {
|
||||
SAXReader reader = new SAXReader();
|
||||
Document doc = reader.read(new StringReader(xml));
|
||||
Element root = doc.getRootElement();
|
||||
String path = "";
|
||||
if (map.containsKey(root.getName().trim())) {
|
||||
path = map.get(root.getName().trim());
|
||||
map.remove(root.getName().trim());
|
||||
}
|
||||
for (Iterator i = root.elementIterator(); i.hasNext();) {
|
||||
Element element = (Element) i.next();
|
||||
if (element.isTextOnly()) {
|
||||
if (path.length() > 0) {
|
||||
map.put(path + element.getName().trim(), element.getTextTrim());
|
||||
} else {
|
||||
map.put(element.getName().trim(), element.getTextTrim());
|
||||
}
|
||||
} else {
|
||||
map.put(element.getName().trim(), path+ element.getName().trim() + ".");
|
||||
parseXml2Map(element.asXML(), map);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 将xml字符串转换成map
|
||||
* @param xml
|
||||
|
|
Loading…
Reference in New Issue