From e4bb01d181eaf3642cf60cf14ef54d719a31be8f Mon Sep 17 00:00:00 2001 From: "DESKTOP-C3M45P4\\dengdan" Date: Mon, 6 Jan 2025 17:28:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B6=8A=E5=8D=97=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VietnamGamotaRechargeController.java | 50 ++++++++++--------- src/main/java/com/jmfy/vo/GamotaObj.java | 37 ++++++++++++++ 2 files changed, 64 insertions(+), 23 deletions(-) create mode 100644 src/main/java/com/jmfy/vo/GamotaObj.java diff --git a/src/main/java/com/jmfy/controller/VietnamGamotaRechargeController.java b/src/main/java/com/jmfy/controller/VietnamGamotaRechargeController.java index 8f55152..a60035a 100644 --- a/src/main/java/com/jmfy/controller/VietnamGamotaRechargeController.java +++ b/src/main/java/com/jmfy/controller/VietnamGamotaRechargeController.java @@ -4,25 +4,18 @@ import com.google.gson.Gson; import com.jmfy.paramBean.PaySdkEnum; import com.jmfy.util.HttpUtils; import com.jmfy.util.JsonUtil; -import com.jmfy.util.MD5Util; -import net.sf.json.JSON; -import org.dom4j.Document; -import org.dom4j.DocumentException; -import org.dom4j.Element; -import org.dom4j.io.SAXReader; +import com.jmfy.vo.GamotaObj; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import org.xml.sax.InputSource; import javax.servlet.http.HttpServletRequest; import java.io.IOException; -import java.io.StringReader; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; @RestController public class VietnamGamotaRechargeController { @@ -47,21 +40,20 @@ public class VietnamGamotaRechargeController { return result.toString(); } - Map map = verifyOrder(parameterMap,md5key); - if (map == null || map.isEmpty()){ + GamotaObj obj = verifyOrder(parameterMap,md5key); + if (obj == null){ LOGGER.error("verify order is error"); result.put("messsage", "verify order is error"); return result.toString(); } - LOGGER.info("越南gamota支付验证结果:{}",map); - String errorCode = map.get("error_code"); - if (!"0".equals(errorCode)){ + LOGGER.info("越南gamota支付验证结果:{}",obj); + int errorCode = obj.getError_code(); + if (errorCode != 0){ LOGGER.error("verify order is false"); result.put("messsage", "verify order is false"); return result.toString(); } - Gson gson = new Gson(); - Map data = gson.fromJson(map.get("data"), Map.class); + Map data = obj.getData(); String inserted = insertOrder(parameterMap, data); if ("SUCCESS".equals(inserted)) { result.put("error_code",0); @@ -70,7 +62,7 @@ public class VietnamGamotaRechargeController { return result.toString(); } - public static Map verifyOrder(Map map,String apiKey) { + public static GamotaObj verifyOrder(Map map,String apiKey) { String url = "https://paygate.gamota.com/v1/services/check_transaction?api_key = " + apiKey; Map parms = new HashMap<>(); parms.put("transaction_id",map.get("transaction_id")); @@ -78,7 +70,8 @@ public class VietnamGamotaRechargeController { Gson gson = new Gson(); String data = HttpUtils.doPost(url, parms); LOGGER.info("越南gamota支付验证请求结果:{}",data); - return gson.fromJson(data, Map.class); + GamotaObj obj = gson.fromJson(data, GamotaObj.class); + return gson.fromJson(data, GamotaObj.class); }catch (IOException e){ LOGGER.error("越南gamota支付验证请求报错",e); return null; @@ -113,9 +106,20 @@ public class VietnamGamotaRechargeController { Map parms = new HashMap<>(); parms.put("transaction_id","GM250106688157G"); try { - String data = HttpUtils.doPost(url, parms); - System.out.println("越南gamota支付验证" + data); - }catch (IOException e){ + String r = HttpUtils.doPost(url, parms); + System.out.println("越南gamota支付验证" + r); + Gson gson = new Gson(); + GamotaObj obj = gson.fromJson(r, GamotaObj.class); +// + System.out.println(obj.getError_code() + "----" + Double.parseDouble(obj.getData().get("amount"))); +// String errorCode = map.get("error_code").toString(); +// String data = map.get("data").toString(); +// System.out.println(data); +// if (!"0.0".equals(errorCode)){ +// System.out.println(errorCode + "----" + errorCode); +// } +// Map map = gson.fromJson(r,Map.class); + }catch (Exception e){ e.printStackTrace(); } } diff --git a/src/main/java/com/jmfy/vo/GamotaObj.java b/src/main/java/com/jmfy/vo/GamotaObj.java new file mode 100644 index 0000000..6505a98 --- /dev/null +++ b/src/main/java/com/jmfy/vo/GamotaObj.java @@ -0,0 +1,37 @@ +package com.jmfy.vo; + +import java.util.HashMap; +import java.util.Map; + +/** + * 越南gamota支付返回的对象数据 + */ +public class GamotaObj { + private int error_code; + private String message; + private Map data = new HashMap(); + + public int getError_code() { + return error_code; + } + + public void setError_code(int error_code) { + this.error_code = error_code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Map getData() { + return data; + } + + public void setData(Map data) { + this.data = data; + } +}