diff --git a/src/main/java/com/jmfy/controller/Hb027RechargeController.java b/src/main/java/com/jmfy/controller/Hb027RechargeController.java new file mode 100644 index 0000000..5d21aee --- /dev/null +++ b/src/main/java/com/jmfy/controller/Hb027RechargeController.java @@ -0,0 +1,174 @@ +package com.jmfy.controller; + +import com.google.gson.Gson; +import com.jmfy.paramBean.PaySdkEnum; +import com.jmfy.util.HttpUtils; +import com.jmfy.util.JsonUtil; +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 javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * 太初行027支付 + */ +@RestController +public class Hb027RechargeController { + private static final Logger LOGGER = LoggerFactory.getLogger(Hb027RechargeController.class); + private static final String appId = "ae526ad09217c7de12b3130d8ef9c176"; + private static final String appKey = "bf914644faec3faa90daec8d7cd8fdf6"; + private static final String serverKey = "9d261207adcf68c3713bd679a14614a6"; + + @RequestMapping(value = "/Hb027Callback") + public String Hb027Callback(HttpServletRequest request) throws Exception { + return process(request,appId,appKey,serverKey); + } + + public static String process(HttpServletRequest request,String appId,String appKey,String serverKey) throws Exception{ + String result = "FAILURE"; + + HashMap parameterMap = JsonUtil.getInstence().getParameterMap2(request); + if (parameterMap.isEmpty()) { + LOGGER.error("Hb027Callback request data is null"); + return result; + } + if(!parameterMap.containsKey("appId")){ + LOGGER.error("Hb027Callback request appId is null"); + return result; + } + String appIdFrom = parameterMap.get("appId"); + if(appIdFrom == null){ + LOGGER.error("Hb027Callback request appId is null"); + return result; + } + if(appIdFrom.equals(appId)){ + LOGGER.error("Hb027Callback request appId is not exist channel appId : " + appIdFrom + "---local appId : " + appId); + return result; + } + if(!parameterMap.containsKey("userId")){ + LOGGER.error("Hb027Callback request userId is null"); + return result; + } + String userId = parameterMap.get("userId"); + if(userId == null){ + LOGGER.error("Hb027Callback request userId is null"); + return result; + } + if(!parameterMap.containsKey("orderNum")){ + LOGGER.error("Hb027Callback request orderNum is null"); + return result; + } + String orderNum = parameterMap.get("orderNum"); + if(orderNum == null){ + LOGGER.error("Hb027Callback request orderNum is null"); + return result; + } + if(!parameterMap.containsKey("money")){ + LOGGER.error("Hb027Callback request money is null"); + return result; + } + String moneyStr = parameterMap.get("money"); + if(moneyStr == null){ + LOGGER.error("Hb027Callback request moneyStr is null"); + return result; + } + float money = Float.parseFloat(moneyStr); + if(!parameterMap.containsKey("serverId")){ + LOGGER.error("Hb027Callback request serverId is null"); + return result; + } + String serverId = parameterMap.get("serverId"); + if(serverId == null){ + LOGGER.error("Hb027Callback request serverId is null"); + return result; + } + if(!parameterMap.containsKey("roleId")){ + LOGGER.error("Hb027Callback request roleId is null"); + return result; + } + String roleId = parameterMap.get("roleId"); + if(roleId == null){ + LOGGER.error("Hb027Callback request roleId is null"); + return result; + } + if(!parameterMap.containsKey("roleName")){ + LOGGER.error("Hb027Callback request roleName is null"); + return result; + } + String roleName = parameterMap.get("roleName"); + if(roleName == null){ + LOGGER.error("Hb027Callback request roleName is null"); + return result; + } + if(!parameterMap.containsKey("extInfo")){ + LOGGER.error("Hb027Callback request extInfo is null"); + return result; + } + String extInfo = parameterMap.get("extInfo"); + if(extInfo == null){ + LOGGER.error("Hb027Callback request extInfo is null"); + return result; + } + if(!parameterMap.containsKey("status")){ + LOGGER.error("Hb027Callback request status is null"); + return result; + } + String statusStr = parameterMap.get("status"); + if(statusStr == null){ + LOGGER.error("Hb027Callback request statusStr is null"); + return result; + } + int status = Integer.parseInt(statusStr); + if(!parameterMap.containsKey("sign")){ + LOGGER.error("Hb027Callback request sign is null"); + return result; + } + String sign = parameterMap.get("sign"); + if(sign == null){ + LOGGER.error("Hb027Callback request sign is null"); + return result; + } + //充值成功 + if(status == 1){ + String inserted = insertOrder(roleId, extInfo,"ANDROID",orderNum,money); + if("SUCCESS".equals(inserted)){ + result = "SUCCESS"; + } + } + return result; + } + + /** + * + * @param roleId + * @param itemId + * @param type + * @param orderNo + * @param money + * @return + */ + public static String insertOrder(String roleId, String itemId,String type,String orderNo,float money) { + String ccId = "0"; + String callbackInfo = roleId + "_" + itemId + "_" +ccId + "_" + type; + String amount = String.valueOf( money* 100); + Date time = new Date(System.currentTimeMillis()); + String s = PayLogic.initOrder(callbackInfo, orderNo, amount, time, callbackInfo, PaySdkEnum.HB027); + if ("ORDER_IS_EXIST".equals(s)) { + return "SUCCESS"; + } + return s; + } + + public static void main(String[] args) { + String a = "{\"error_code\":0,\"message\":\"Charging successfully!\",\"data\":{\"transaction_id\":\"AP20102226662769G\",\"type\":\"GOOGLE\",\"amount\":\"1.99\",\"vendor\":\"\",\"currency\":\"USD\",\"target\":\"username:XuanXuXu|userid:2618078\",\"state\":\"4_637389746321354058_9_1_1603352647\",\"sandbox\":1,\"time\":\"22\\/10\\/2020 14:44:20 GMT+7\",\"product_id\":\"com.gunx.item1.199\"}}"; + Gson gson = new Gson(); + System.out.println(gson.fromJson(a, Map.class)); + } +} diff --git a/src/main/java/com/jmfy/controller/Hb027Tcx2RechargeController.java b/src/main/java/com/jmfy/controller/Hb027Tcx2RechargeController.java new file mode 100644 index 0000000..eb24c69 --- /dev/null +++ b/src/main/java/com/jmfy/controller/Hb027Tcx2RechargeController.java @@ -0,0 +1,25 @@ +package com.jmfy.controller; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +/** + * 太初行027二包支付 + */ +@RestController +public class Hb027Tcx2RechargeController{ + + private static final Logger LOGGER = LoggerFactory.getLogger(Hb027RechargeController.class); + private static final String appId = "2f89c8ab1866fbd990006df560e887ba"; + private static final String appKey = "f7ac0af5a84778aee82b15f2155a6b92"; + private static final String serverKey = "bb0f57f8061eaca83a8e172536f3704d"; + + @RequestMapping(value = "/Hb027Tcx2Callback") + public String Hb027tcx2Callback(HttpServletRequest request) throws Exception { + return Hb027RechargeController.process(request,appId,appKey,serverKey); + } +} diff --git a/src/main/java/com/jmfy/controller/QuickTcxZbRechargeController.java b/src/main/java/com/jmfy/controller/QuickTcxZbRechargeController.java new file mode 100644 index 0000000..29a82f3 --- /dev/null +++ b/src/main/java/com/jmfy/controller/QuickTcxZbRechargeController.java @@ -0,0 +1,20 @@ +package com.jmfy.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +/** + * 太初行直播 + */ +@RestController +public class QuickTcxZbRechargeController { + private static final String callbackkey = "99556382625431718404572320200079"; + private static final String md5key = "wlwcinulevk1dwasxbrtt4n6a27d4td1"; + + @RequestMapping(value = "/quickTcxZbCallback") + public String QuickCallback(HttpServletRequest request) throws Exception { + return QuickRechargeController.process(request,callbackkey,md5key); + } +} diff --git a/src/main/java/com/jmfy/paramBean/PaySdkEnum.java b/src/main/java/com/jmfy/paramBean/PaySdkEnum.java index afd6ade..da52b81 100644 --- a/src/main/java/com/jmfy/paramBean/PaySdkEnum.java +++ b/src/main/java/com/jmfy/paramBean/PaySdkEnum.java @@ -23,7 +23,8 @@ public enum PaySdkEnum { FENGTI(13,"FENGTI"), U1GAME(14, "U1GAME"), REBATES(15, "REBATES"), - GAMOTA(16, "GAMOTA") + GAMOTA(16, "GAMOTA"), + HB027(17, "HB027") ; private int id;