From 232a4ce4dd137e5830ea3a0908f9e6039477d218 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Fri, 25 Sep 2020 15:22:10 +0800
Subject: [PATCH] 修改bug

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/WxServiceImpl.java |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/WxServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/WxServiceImpl.java
index eacc82d..f6d1481 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/WxServiceImpl.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/WxServiceImpl.java
@@ -35,7 +35,7 @@
         jsonObject.put("body",saasClientPay.getChildName());//商品描述
         jsonObject.put("out_trade_no", saasClientPay.getOutTradeNo());//商户订单号
         jsonObject.put("total_fee",saasClientPay.getPayPrice().toString());//标价金额  单位为分
-        jsonObject.put("spbill_create_ip","192.168.2.240");//终端IP
+        jsonObject.put("spbill_create_ip",getIpAddress(request));//终端IP
         jsonObject.put("notify_url",weiXinOfficPayProperties.getPayNotifyUrl());//通知地址
         jsonObject.put("trade_type","NATIVE");//交易类型
         MyConfig wxPayConfig= new MyConfig(weiXinOfficPayProperties);
@@ -50,10 +50,29 @@
         String s = QRCodeUtil.creatRrCode(resultStr, 200, 200, 0).replaceAll("\n","").replaceAll("\r","");
         String prepay_id = result.get("prepay_id");
         Map<String,String> map = new HashMap<>();
-        map.put("code_url",resultStr);
+        map.put("code_url",s);
         map.put("prepay_id",prepay_id);
         return map;
     }
+    public static String getIpAddress(HttpServletRequest request) {
+        String ip = request.getHeader("x-forwarded-for");
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("WL-Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("HTTP_CLIENT_IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getRemoteAddr();
+        }
+        return ip;
+    }
 
     @Override
     public String callback(Map<String, String> requestMap) throws Exception {

--
Gitblit v1.8.0