From 2ba431be9c12a79783e0f9ef249292b7fa95f2a1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 25 一月 2021 19:13:58 +0800
Subject: [PATCH] 拼多多备案调整

---
 utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java |   41 ++++++++++++++++++++++++++++++-----------
 1 files changed, 30 insertions(+), 11 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 7617ce8..143f1d3 100644
--- a/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java
+++ b/utils/src/main/java/org/yeshi/utils/wx/WXPayUtil.java
@@ -1,11 +1,15 @@
 package org.yeshi.utils.wx;
 
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.PostMethod;
 import org.dom4j.DocumentException;
 import org.yeshi.utils.HttpUtil;
 import org.yeshi.utils.StringUtil;
@@ -22,6 +26,21 @@
  *
  */
 public class WXPayUtil {
+
+	private static String post(String url, String entity) {
+		HttpClient client = new HttpClient();
+		PostMethod method = new PostMethod(url);
+		method.setRequestBody(entity);
+		try {
+			client.executeMethod(method);
+			return method.getResponseBodyAsString();
+		} catch (HttpException e) {
+			e.printStackTrace();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return "";
+	}
 
 	/**
 	 * 浠樻鍒伴浂閽�
@@ -153,16 +172,16 @@
 		if (params == null)
 			throw new WXPlaceOrderParamsException(1, "璇蜂紶鍏ヤ笅鍗曞弬鏁�");
 
-		if (params.getInfo() == null)
+		if (params.getApp() == null)
 			throw new WXPlaceOrderParamsException(2, "璇蜂紶鍏ヤ笅鍗曞簲鐢ㄤ俊鎭�");
 
-		if (StringUtil.isNullOrEmpty(params.getInfo().getAppId()))
+		if (StringUtil.isNullOrEmpty(params.getApp().getAppId()))
 			throw new WXPlaceOrderParamsException(201, "璇蜂紶鍏ヤ笅鍗曞簲鐢ㄤ俊鎭�-appId");
-		if (StringUtil.isNullOrEmpty(params.getInfo().getAppSecret()))
+		if (StringUtil.isNullOrEmpty(params.getApp().getAppSecret()))
 			throw new WXPlaceOrderParamsException(202, "璇蜂紶鍏ヤ笅鍗曞簲鐢ㄤ俊鎭�-appSecret");
-		if (StringUtil.isNullOrEmpty(params.getInfo().getMchId()))
+		if (StringUtil.isNullOrEmpty(params.getApp().getMchId()))
 			throw new WXPlaceOrderParamsException(203, "璇蜂紶鍏ヤ笅鍗曞簲鐢ㄤ俊鎭�-mchId");
-		if (StringUtil.isNullOrEmpty(params.getInfo().getMchKey()))
+		if (StringUtil.isNullOrEmpty(params.getApp().getMchKey()))
 			throw new WXPlaceOrderParamsException(204, "璇蜂紶鍏ヤ笅鍗曞簲鐢ㄤ俊鎭�-mchKey");
 		if (StringUtil.isNullOrEmpty(params.getBody()))
 			throw new WXPlaceOrderParamsException(3, "璇蜂紶鍏ody");
@@ -186,8 +205,8 @@
 		// throw new WXPlaceOrderParamsException(9, "璇蜂紶鍏penId");
 
 		Map<String, String> map = new HashMap<String, String>();
-		map.put("appid", params.getInfo().getAppId());
-		map.put("mch_id", params.getInfo().getMchId());
+		map.put("appid", params.getApp().getAppId());
+		map.put("mch_id", params.getApp().getMchId());
 		map.put("nonce_str", StringUtil.getRandomCode(32));
 		map.put("body", params.getBody());
 		map.put("out_trade_no", params.getOrderNo());
@@ -197,14 +216,14 @@
 		map.put("trade_type", params.getTradeType());
 		if (!StringUtil.isNullOrEmpty(params.getOpenId()))
 			map.put("openid", params.getOpenId());
-		map.put("sign", WXUtil.getSignMD5(map, params.getInfo().getMchKey()));
+		map.put("sign", WXUtil.getSignMD5(map, params.getApp().getMchKey()));
 
 		String entity = WXUtil.loadWXMessage(map);
 
 		String result = HttpUtil.post("https://api.mch.weixin.qq.com/pay/unifiedorder", entity);
 		try {
 			System.out.println("缁熶竴涓嬪崟缁撴灉:" + new String(result.getBytes("GBK"), "UTF-8"));
-		} catch (UnsupportedEncodingException e) {
+		} catch (Exception e) {
 			e.printStackTrace();
 		}
 		Map<String, String> resultMap = WXUtil.parseXML(result);
@@ -314,12 +333,12 @@
 		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));
+		String result = post("https://api.mch.weixin.qq.com/pay/refundquery", WXUtil.loadWXMessage(map));
 		System.out.println("璁㈠崟鏌ヨ缁撴灉:" + result);
 		Map<String, String> resultMap = null;
 		try {
 			resultMap = WXUtil.parseXML(result);
-		} catch (Exception e) {
+		} catch (Throwable e) {
 			try {
 				result = new String(result.getBytes("GBK"), "UTF-8");
 			} catch (UnsupportedEncodingException e1) {

--
Gitblit v1.8.0