diff --git a/src/main/java/com/jmfy/controller/AqlmRechargeController.java b/src/main/java/com/jmfy/controller/AqlmRechargeController.java new file mode 100644 index 0000000..47d0401 --- /dev/null +++ b/src/main/java/com/jmfy/controller/AqlmRechargeController.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 AqlmRechargeController { + + private static final String PAYKEY = "dea78f4dd3cf774be9af795dd7b34d5f"; + + @RequestMapping(value = "/Web/aqlmCallback") + public String aqlmTenthCallback(HttpServletRequest request) throws Exception { + return YouGuRechargeController.callback(request, PAYKEY); + } +} diff --git a/src/main/java/com/jmfy/controller/QuickRechargeController.java b/src/main/java/com/jmfy/controller/QuickRechargeController.java index cff9b77..10f5a14 100644 --- a/src/main/java/com/jmfy/controller/QuickRechargeController.java +++ b/src/main/java/com/jmfy/controller/QuickRechargeController.java @@ -27,10 +27,10 @@ public class QuickRechargeController { @RequestMapping(value = "/QuickCallback") public String QuickGnCallback(HttpServletRequest request) throws Exception { - return process(request,callbackkey); + return process(request,callbackkey,md5key); } - private String process(HttpServletRequest request,String appsecret) throws Exception{ + public static String process(HttpServletRequest request,String appsecret,String md5key) throws Exception{ HashMap parameterMap = JsonUtil.getInstence().getParameterMap2(request); if (parameterMap.isEmpty()) { LOGGER.info("data is null"); @@ -51,7 +51,7 @@ public class QuickRechargeController { String consumerid = map.get("channel_uid"); String sign = parameterMap.get("sign"); String md5Sign = parameterMap.get("md5Sign"); - if(!sign(ntdata0,sign,md5Sign)){ + if(!sign(ntdata0,sign,md5Sign,md5key)){ LOGGER.info("callback==>roleUid={},sin derify fail ", consumerid); return "FAILED"; } @@ -68,7 +68,7 @@ public class QuickRechargeController { return response; } - private String insertOrder(Map map) { + public static String insertOrder(Map map) { String callbackInfo = map.get("extras_params"); String[] callback = callbackInfo.split("_"); String orderNo = map.get("order_no"); @@ -82,8 +82,8 @@ public class QuickRechargeController { return s; } - public boolean sign(String ntdata0,String sign0,String md5Sign){ - String paramStr = ntdata0+sign0+md5key; + public static boolean sign(String ntdata0,String sign0,String md5Sign,String md5key){ + String paramStr = ntdata0 + sign0 + md5key; String sign = MD5Util.encrypByMd5(paramStr); // LOGGER.info("加密前字符串:{}",paramStr); LOGGER.info("加密后得:{}",sign); diff --git a/src/main/java/com/jmfy/controller/QuickRechargeController3.java b/src/main/java/com/jmfy/controller/QuickRechargeController3.java index 2734f1f..7874241 100644 --- a/src/main/java/com/jmfy/controller/QuickRechargeController3.java +++ b/src/main/java/com/jmfy/controller/QuickRechargeController3.java @@ -25,154 +25,11 @@ import java.util.regex.Pattern; */ @RestController public class QuickRechargeController3 { - @Resource - private PayLogic payLogic; - private static final Logger LOGGER = LoggerFactory.getLogger(QuickRechargeController3.class); private static final String callbackkey = "53780900079388195716762718742907"; private static final String md5key = "giahggkise4k7hef3qir4adbrmcejdrz"; @RequestMapping(value = "/Web/QUICKCallback3") public String QuickGnCallback(HttpServletRequest request) throws Exception { - return process(request,callbackkey); - } - - private String process(HttpServletRequest request,String appsecret) throws Exception{ - HashMap parameterMap = JsonUtil.getInstence().getParameterMap2(request); - if (parameterMap.isEmpty()) { - LOGGER.info("data is null"); - return "FAILED"; - } - String ntdata0 = parameterMap.get("nt_data"); - - String ntdata = decode(ntdata0,callbackkey); - Map map = getData(ntdata); - LOGGER.info("MapInfo: is_test:{},channel:{},channel_uid:{},game_order:{},order_no:{},pay_time:{}," + - "amount:{},atatus:{}",map.get("is_test"),map.get("channel"),map.get("channel_uid"), - map.get("game_order"),map.get("order_no"),map.get("pay_time")); - if (map.size() == 0) { - LOGGER.info("data is null"); - return "FAILED"; - } - - - String response = "SUCCESS"; - try { - String consumerid = map.get("channel_uid"); - String sign = parameterMap.get("sign"); - String md5Sign = parameterMap.get("md5Sign"); - if(!sign(ntdata0,sign,md5Sign)){ - LOGGER.info("callback==>roleUid={},sin derify fail ", consumerid); - return "FAILED"; - } - if(map.get("status").equals("1")){ - LOGGER.info("callback==>status:FAILED "); - return "FAILED"; - } - response = insertOrder(map); - - } catch (Exception e) { - e.printStackTrace(); - LOGGER.info("callback==>err " + e.toString()); - response = "FAILED"; - } - - return response; - } - - private String insertOrder(Map map) { - String callbackInfo = map.get("extras_params"); - String[] callback = callbackInfo.split("_"); - String orderNo = map.get("order_no"); - String amount = map.get("amount"); - //quick的是元 要处理一下 - String amountForward = String.valueOf((int)Double.parseDouble(amount) * 100); - String s = payLogic.initOrder(callbackInfo, orderNo, amountForward, new Date(System.currentTimeMillis()), callback[0], PaySdkEnum.QUICK); - if ("ORDER_IS_EXIST".equals(s)) { - return "SUCCESS"; - } - return s; - } - - public boolean sign(String ntdata0,String sign0,String md5Sign){ - String paramStr = ntdata0+sign0+md5key; - String sign = MD5Util.encrypByMd5(paramStr); -// LOGGER.info("加密前字符串:{}",paramStr); - LOGGER.info("加密后得:{}",sign); - if(sign.equals(md5Sign)){ - return true; - }else{ - LOGGER.info("sign:{} md5Sign:{}",sign,md5Sign); - return false; - } - } - - public String encode(String src,String key) { - byte[] data = src.getBytes(); - byte[] keys = key.getBytes(); - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < data.length; i++) { - int n = (0xff & data[i]) + (0xff & keys[i % keys.length]); - sb.append("@" + n); - } - return sb.toString(); - } - - public String decode(String src,String key) { - if(src == null || src.length() == 0){ - return src; - } - Pattern pattern = Pattern.compile("@([^@]*)"); - Matcher m = pattern.matcher(src); - List list = new ArrayList(); - while (m.find()) { - try { - String group = m.group(1); - if(group.equals("")) - continue; - list.add(Integer.valueOf(group)); - } catch (Exception e) { - e.printStackTrace(); - return src; - } - } - if (list.size() > 0) { - byte[] data = new byte[list.size()]; - byte[] keys = key.getBytes(); - for (int i = 0; i < data.length; i++) { - data[i] = (byte) (list.get(i) - (0xff & keys[i % keys.length])); - } - return new String(data); - } else { - return src; - } - } - - public static Map getData(String xml){ - //1.创建Reader对象 - SAXReader reader = new SAXReader(); - StringReader sr = new StringReader(xml); - InputSource is = new InputSource(sr); - Map map = new HashMap<>(); - //2.加载xml - try { - Document document = reader.read(is); - //3.获取根节点 - Element rootElement = document.getRootElement(); - Iterator iterator = rootElement.elementIterator(); - while (iterator.hasNext()){ - Element stu = (Element) iterator.next(); - LOGGER.info("======遍历子节点======"); - Iterator iterator1 = stu.elementIterator(); - while (iterator1.hasNext()){ - Element stuChild = (Element) iterator1.next(); - map.put(stuChild.getName(),stuChild.getStringValue()); - LOGGER.info("节点名:"+stuChild.getName()+"---节点值:"+stuChild.getStringValue()); - } - } - }catch (DocumentException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return map; + return QuickRechargeController.process(request,callbackkey,md5key); } } diff --git a/src/main/java/com/jmfy/controller/WYDDSRechargeController.java b/src/main/java/com/jmfy/controller/WYDDSRechargeController.java new file mode 100644 index 0000000..3f796c6 --- /dev/null +++ b/src/main/java/com/jmfy/controller/WYDDSRechargeController.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; + +/** + * 我要当大圣 sdk + */ +@RestController +public class WYDDSRechargeController { + private static final String callbackkey = "mzb3bdSsXQKSXRXJTcfwa"; + private static final String md5key = "mzb3bdSsXQKSXRXJTcfwa"; + + @RequestMapping(value = "/wyydsCallback") + public String wyydsCallback(HttpServletRequest request) throws Exception { + return QuickRechargeController.process(request,callbackkey,md5key); + } +}