From 904c13591d81139add5875b5680912530dc3711f Mon Sep 17 00:00:00 2001 From: xhxu Date: Mon, 23 Oct 2023 18:19:25 +0800 Subject: [PATCH] //pay notify --- .../controller/CallbackPayController.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/suimangCApi/src/main/java/com/iformall/controller/CallbackPayController.java b/suimangCApi/src/main/java/com/iformall/controller/CallbackPayController.java index 11cef35..0ef6d54 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/CallbackPayController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/CallbackPayController.java @@ -26,7 +26,10 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; @@ -154,10 +157,13 @@ public class CallbackPayController extends BaseController { String biz_content = request.getParameter("biz_content"); logger.info("ali支付回调结果通知{}notify_id="+notify_id+",app_id="+app_id+",biz_content="+biz_content); Map resultMap = new HashMap<>(); + /** * ----效验数据来源合法 */ try{ + String body = this.getBody(request); + logger.info("ali支付回调结果通知---body{}"+body); // String msg = (String) paranMap.get("msg"); // String type = (String) paranMap.get("type"); // @@ -185,4 +191,36 @@ public class CallbackPayController extends BaseController { return resultMap; } + + + private String getBody(HttpServletRequest request) throws IOException { + StringBuilder stringBuilder = new StringBuilder(); + BufferedReader bufferedReader = null; + try { + InputStream inputStream = request.getInputStream(); + if (inputStream != null) { + bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8")); + char[] charBuffer = new char[1024]; + int bytesRead = -1; + while ((bytesRead = bufferedReader.read(charBuffer)) > 0) { + stringBuilder.append(charBuffer, 0, bytesRead); + } + } else { + stringBuilder.append(""); + } + } catch ( + IOException ex) { + throw ex; + } finally { + if (bufferedReader != null) { + try { + bufferedReader.close(); + } catch (IOException ex) { + throw ex; + } + } + } + return stringBuilder.toString(); + } + }