From 6cec25dc22d1b53092947fca9a34cbef4608beb0 Mon Sep 17 00:00:00 2001
From: ChenJiaHe <763432473@qq.com>
Date: 星期一, 19 四月 2021 15:13:57 +0800
Subject: [PATCH] 新版企业付款接口

---
 src/main/java/com/hx/corp/entity/CorpPayRequest.java  |    6 +++---
 src/main/java/com/hx/corp/entity/CorpPayResponse.java |   24 +++++++++++++++++++++++-
 src/main/java/com/hx/corp/util/WxCorpPayUtil.java     |   16 +++++++++-------
 3 files changed, 35 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/hx/corp/entity/CorpPayRequest.java b/src/main/java/com/hx/corp/entity/CorpPayRequest.java
index 88f9859..de57762 100644
--- a/src/main/java/com/hx/corp/entity/CorpPayRequest.java
+++ b/src/main/java/com/hx/corp/entity/CorpPayRequest.java
@@ -26,7 +26,7 @@
     /*(O)鏀舵鐢ㄦ埛濮撳悕,濡傛灉check_name璁剧疆涓篎ORCE_CHECK锛屽垯蹇呭~鐢ㄦ埛鐪熷疄濮撳悕*/
     private String re_user_name;
     /*(Y)閲戦*/
-    private int amount;
+    private Integer amount;
     /*(Y)浼佷笟浠樻澶囨敞*/
     private String desc;
     /*(N)Ip鍦板潃锛岃IP鍚屽湪鍟嗘埛骞冲彴璁剧疆鐨処P鐧藉悕鍗曚腑鐨処P娌℃湁鍏宠仈锛岃IP鍙紶鐢ㄦ埛绔垨鑰呮湇鍔$鐨処P*/
@@ -101,11 +101,11 @@
         this.re_user_name = re_user_name;
     }
 
-    public int getAmount() {
+    public Integer getAmount() {
         return amount;
     }
 
-    public void setAmount(int amount) {
+    public void setAmount(Integer amount) {
         this.amount = amount;
     }
 
diff --git a/src/main/java/com/hx/corp/entity/CorpPayResponse.java b/src/main/java/com/hx/corp/entity/CorpPayResponse.java
index 723c3fc..59bd352 100644
--- a/src/main/java/com/hx/corp/entity/CorpPayResponse.java
+++ b/src/main/java/com/hx/corp/entity/CorpPayResponse.java
@@ -7,7 +7,11 @@
 
     /*(Y)涓氬姟缁撴灉锛孲UCCESS/FAIL锛屾敞鎰忥細褰撶姸鎬佷负FAIL鏃讹紝瀛樺湪涓氬姟缁撴灉鏈槑纭殑鎯呭喌銆傚鏋滅姸鎬佷负FAIL锛岃鍔″繀鍏虫敞閿欒浠g爜锛坋rr_code瀛楁锛夛紝閫氳繃鏌ヨ鎺ュ彛纭姝ゆ浠樻鐨勭粨鏋�*/
     private String result_code = "FAIL";
-    /*锛圷锛夐敊璇唬鐮侊紝鎴愬姛锛歋UCCESS*/
+    /*锛圷锛夎繑鍥炵姸鎬佺爜,SUCCESS/FAIL锛屾瀛楁鏄�氫俊鏍囪瘑锛岄潪浜ゆ槗鏍囪瘑锛屼氦鏄撴槸鍚︽垚鍔熼渶瑕佹煡鐪媟esult_code鏉ュ垽鏂�*/
+    private String return_code;
+    /*(Y) 杩斿洖淇℃伅 */
+    private String return_msg;
+    /*锛圷锛夐敊璇唬鐮�*/
     private String err_code;
     /*(Y)閿欒浠g爜鎻忚堪*/
     private String err_code_des;
@@ -114,10 +118,28 @@
         this.payment_time = payment_time;
     }
 
+    public String getReturn_code() {
+        return return_code;
+    }
+
+    public void setReturn_code(String return_code) {
+        this.return_code = return_code;
+    }
+
+    public String getReturn_msg() {
+        return return_msg;
+    }
+
+    public void setReturn_msg(String return_msg) {
+        this.return_msg = return_msg;
+    }
+
     @Override
     public String toString() {
         return "CorpPayResponse{" +
                 "result_code='" + result_code + '\'' +
+                ", return_code='" + return_code + '\'' +
+                ", return_msg='" + return_msg + '\'' +
                 ", err_code='" + err_code + '\'' +
                 ", err_code_des='" + err_code_des + '\'' +
                 ", mch_appid='" + mch_appid + '\'' +
diff --git a/src/main/java/com/hx/corp/util/WxCorpPayUtil.java b/src/main/java/com/hx/corp/util/WxCorpPayUtil.java
index 9f29441..89cfb1f 100644
--- a/src/main/java/com/hx/corp/util/WxCorpPayUtil.java
+++ b/src/main/java/com/hx/corp/util/WxCorpPayUtil.java
@@ -71,20 +71,22 @@
         parameters.put("nonce_str", corpPayRequest.getNonce_str());
         parameters.put("openid", corpPayRequest.getOpenid());
         parameters.put("check_name", corpPayRequest.getCheck_name());
-        parameters.put("amount", corpPayRequest.getAmount());
+        parameters.put("amount", corpPayRequest.getAmount().toString());
         parameters.put("spbill_create_ip", corpPayRequest.getSpbill_create_ip());
         parameters.put("desc", corpPayRequest.getDesc());
 
-        String sign = WXSignUtils.createSign("UTF-8", parameters, mchKey);
-
-        parameters.put("sign", sign);
+        corpPayRequest.setSign(WXSignUtils.createSign("UTF-8", parameters, mchKey));
+        parameters.put("sign", corpPayRequest.getSign());
         String xmlInfo = HttpXmlUtils.transferXml(parameters);
-
         try {
             CloseableHttpResponse response = HttpUtil.Post(CORP_PAY_URL, xmlInfo, true, certPath, corpPayRequest.getMchid());
             String transfersXml = EntityUtils.toString(response.getEntity(), "utf-8");
-            // System.out.println("娓犻亾绔紒涓氫粯娆撅細" + transfersXml);
-            Map<String, String> transferMap = HttpXmlUtils.parseRefundXml(transfersXml);
+            System.out.println("娓犻亾绔紒涓氫粯娆撅細" + transfersXml);
+
+           //Map<String, String> transferMap = HttpXmlUtils.parseRefundXml(transfersXml);
+
+            Map<String,Object> transferMap = XMLUtil.doXMLParse(transfersXml);
+
             // 灏� Map 杞崲涓� 瀹炰綋绫�
             corpPayResponse = JSON.parseObject(JSON.toJSONString(transferMap),CorpPayResponse.class);
         } catch (Exception e) {

--
Gitblit v1.8.0