From bc3a51600e5b950b8042e13c2fc5e4aa943ffc29 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 05 十一月 2019 19:06:43 +0800
Subject: [PATCH] 单品分享返回值更改

---
 utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 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 9c3b6c0..980853f 100644
--- a/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java
+++ b/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java
@@ -1,6 +1,7 @@
 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;
@@ -200,7 +201,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;
@@ -274,4 +279,32 @@
 		}
 	}
 
+	/**
+	 * 
+	 * @param refundOrderNo -閫�娆惧崟鍙�
+	 * @param app
+	 * @return
+	 * @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());
+		map.put("nonce_str", StringUtil.getRandomCode(32));
+		map.put("out_refund_no", refundOrderNo);
+		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);
+		if ("SUCCESS".equalsIgnoreCase(resultMap.get("return_code"))
+				&& "SUCCESS".equalsIgnoreCase(resultMap.get("result_code"))) {
+			if ("SUCCESS".equalsIgnoreCase(resultMap.get("refund_status_0")))// 閫�娆炬垚鍔�
+				return true;
+			else
+				return false;
+		} else {
+			throw new WXOrderException(100, "寰俊鏀粯鎺ュ彛鍑洪敊:" + result);
+		}
+	}
+
 }

--
Gitblit v1.8.0