From e4de90990c948898db5d0c2fc080853a144728c3 Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期三, 13 四月 2022 09:38:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/lyq_battery_shop' into lyq_battery_shop

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java
index 24af561..b819486 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java
@@ -151,6 +151,44 @@
         }
     }
 
+    @PostMapping("/batteryActivityPayNotify")
+    public void batteryActivityPayNotify(HttpServletRequest request, HttpServletResponse response) {
+        log.info("购买活动商品微信支付回调start");
+        String inputLine = "";
+        String notityXml = "";
+        try {
+            while ((inputLine = request.getReader().readLine()) != null) {
+                notityXml += inputLine;
+            }
+            // 关闭流
+            request.getReader().close();
+            log.info("购买活动商品微信回调内容信息:" + notityXml);
+            // 解析成Json
+            org.json.JSONObject xmlJson = XML.toJSONObject(notityXml);
+            if (StringUtils.isNotEmpty(xmlJson.toString())) {
+                JSONObject resultData = JSON.parseObject(xmlJson.get("xml").toString());
+                // 成功支付订单
+                if (SUCCESS.equals(resultData.getString("result_code")) && SUCCESS.equals(resultData.getString("result_code"))){
+                    WxPayNotifyOrderDTO notifyOrderDTO = getWxNotify(resultData);
+
+                    // 根据订单号修改订单信息
+                    commodityOrderFeign.batteryActivityPayNotify(notifyOrderDTO);
+                    // 给微信服务器返回 成功标示 否则会一直询问 咱们服务器 是否回调成功
+                    PrintWriter writer = response.getWriter();
+                    // 返回
+                    writer.print(getWxSuccessString());
+                } else {// 未成功支付订单
+                    // 给微信服务器返回 成功标示 否则会一直询问 咱们服务器 是否回调成功
+                    PrintWriter writer = response.getWriter();
+                    // 返回
+                    writer.print(getWxFailString());
+                }
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 将微信支付回调的请求参数转义为对象
      * @param resultData    微信支付回调请求参数
@@ -174,6 +212,9 @@
         // 现金支付金额
         String cashFee = resultData.getString("cash_fee");
         notifyOrderDTO.setCashFee(cashFee);
+        //附加数据
+        String attach = resultData.getString("attach");
+        notifyOrderDTO.setAttach(attach);
         return notifyOrderDTO;
     }
 

--
Gitblit v1.7.1