From 235a867e15a86c3666c3e57727a7d6bb828e08de Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 07 十一月 2019 16:41:09 +0800
Subject: [PATCH] 微信支付查询是否成功修改,商城订单查询修改

---
 utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java |   48 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java b/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java
index 8b896ea..7617ce8 100644
--- a/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java
+++ b/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java
@@ -1,10 +1,12 @@
 package org.yeshi.utils.wx;
 
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.dom4j.DocumentException;
 import org.yeshi.utils.HttpUtil;
 import org.yeshi.utils.StringUtil;
 import org.yeshi.utils.entity.wx.RedPackParams;
@@ -200,7 +202,11 @@
 		String entity = WXUtil.loadWXMessage(map);
 
 		String result = HttpUtil.post("https://api.mch.weixin.qq.com/pay/unifiedorder", entity);
-		System.out.println("缁熶竴涓嬪崟缁撴灉:" + result);
+		try {
+			System.out.println("缁熶竴涓嬪崟缁撴灉:" + new String(result.getBytes("GBK"), "UTF-8"));
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
 		Map<String, String> resultMap = WXUtil.parseXML(result);
 
 		return resultMap;
@@ -261,8 +267,27 @@
 		map.put("out_trade_no", orderNo);
 		map.put("sign", WXUtil.getSignMD5(map, app.getMchKey()));
 		String result = HttpUtil.post("https://api.mch.weixin.qq.com/pay/orderquery", WXUtil.loadWXMessage(map));
-		System.out.println("璁㈠崟鏌ヨ缁撴灉:" + result);
-		Map<String, String> resultMap = WXUtil.parseXML(result);
+		try {
+			try {
+				result = new String(result.getBytes("GBK"), "UTF-8");
+			} catch (UnsupportedEncodingException e1) {
+				e1.printStackTrace();
+			}
+			System.out.println("璁㈠崟鏌ヨ缁撴灉:" + new String(result.getBytes("GBK"), "UTF-8"));
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		Map<String, String> resultMap = null;
+		try {
+			resultMap = WXUtil.parseXML(result);
+		} catch (Exception e) {
+			try {
+				result = new String(result.getBytes("GBK"), "UTF-8");
+			} catch (UnsupportedEncodingException e1) {
+				e1.printStackTrace();
+			}
+			resultMap = WXUtil.parseXML(result);
+		}
 		if ("SUCCESS".equalsIgnoreCase(resultMap.get("return_code"))
 				&& "SUCCESS".equalsIgnoreCase(resultMap.get("result_code"))) {
 			if ("SUCCESS".equalsIgnoreCase(resultMap.get("trade_state")))// 鏀粯鎴愬姛
@@ -276,12 +301,13 @@
 
 	/**
 	 * 
-	 * @param refundOrderNo -閫�娆惧崟鍙�
+	 * @param refundOrderNo
+	 *            -閫�娆惧崟鍙�
 	 * @param app
 	 * @return
 	 * @throws WXOrderException
 	 */
-	public static boolean isRefundSuccess(String refundOrderNo, WXAPPInfo app)  throws WXOrderException {
+	public static boolean isRefundSuccess(String refundOrderNo, WXAPPInfo app) throws WXOrderException {
 		Map<String, String> map = new HashMap<String, String>();
 		map.put("appid", app.getAppId());
 		map.put("mch_id", app.getMchId());
@@ -290,7 +316,17 @@
 		map.put("sign", WXUtil.getSignMD5(map, app.getMchKey()));
 		String result = HttpUtil.post("https://api.mch.weixin.qq.com/pay/refundquery", WXUtil.loadWXMessage(map));
 		System.out.println("璁㈠崟鏌ヨ缁撴灉:" + result);
-		Map<String, String> resultMap = WXUtil.parseXML(result);
+		Map<String, String> resultMap = null;
+		try {
+			resultMap = WXUtil.parseXML(result);
+		} catch (Exception e) {
+			try {
+				result = new String(result.getBytes("GBK"), "UTF-8");
+			} catch (UnsupportedEncodingException e1) {
+				e1.printStackTrace();
+			}
+			resultMap = WXUtil.parseXML(result);
+		}
 		if ("SUCCESS".equalsIgnoreCase(resultMap.get("return_code"))
 				&& "SUCCESS".equalsIgnoreCase(resultMap.get("result_code"))) {
 			if ("SUCCESS".equalsIgnoreCase(resultMap.get("refund_status_0")))// 閫�娆炬垚鍔�

--
Gitblit v1.8.0