From 1556ae631600e9bf74ee89e3a56af022857edc68 Mon Sep 17 00:00:00 2001 From: mashiyu Date: Fri, 18 May 2018 16:31:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ios=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jmfy/controller/IAPManagerController.java | 151 ++++++++++++++++++ src/main/java/com/jmfy/util/YsjConstant.java | 17 +- 2 files changed, 154 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/jmfy/controller/IAPManagerController.java diff --git a/src/main/java/com/jmfy/controller/IAPManagerController.java b/src/main/java/com/jmfy/controller/IAPManagerController.java new file mode 100644 index 0000000..886e0b1 --- /dev/null +++ b/src/main/java/com/jmfy/controller/IAPManagerController.java @@ -0,0 +1,151 @@ +package com.jmfy.controller; + +import com.jmfy.dto.CUserDao; +import com.jmfy.dto.JsonResult; +import com.jmfy.model.CUser; +import com.jmfy.thrift.idl.RPCRequestIFace; +import com.jmfy.thrift.idl.Result; +import com.jmfy.thrift.pool.ClientAdapterPo; +import com.jmfy.thrift.pool.ServiceKey; +import com.jmfy.util.YsjConstant; +import com.jmfy.util.tencentutil.SnsSigCheck; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.Enumeration; +import java.util.HashMap; + +@RestController +public class IAPManagerController { + + private static final Logger LOGGER = LoggerFactory.getLogger(IAPManagerController.class); + @Resource + private CUserDao cuserDao; + @RequestMapping(value = "/iapmanager") + public JsonResult deliveryGoods(HttpServletRequest request){ + try { + LOGGER.info("======>iap start midas request..."); + HashMap map = new HashMap(); + Enumeration paramNames = request.getParameterNames(); + while (paramNames.hasMoreElements()) { + String paramName = (String) paramNames.nextElement(); + String[] paramValues = request.getParameterValues(paramName); + String paramValue = paramValues[0]; + map.put(paramName, paramValue); + LOGGER.info("parameter : " + paramName + "=" + paramValue); + } + + String sig = map.get("sig"); + String final_appkey; +// if (online == 0){ +// final_appkey = YsjConstant.Midas_Buy_Ios_Appkey; +// }else { + final_appkey = YsjConstant.Midas_Buy_Ios_Appkey_Test; +// } + + boolean checkSign = SnsSigCheck.verifySig("GET", "/delivery/iapmanager", map, final_appkey+"&", sig); + if (!checkSign){ + LOGGER.info("sign error ..."); + } + LOGGER.info("checkSign Success !!! "); + + JsonResult jsonResult = new JsonResult(); + jsonResult.setRet(0); + jsonResult.setMsg("ok"); + LOGGER.info("======>test ok iap end midas request..."); + return jsonResult; + +// String sig = map.get("sig"); +// String[] serverParam = map.get("appmeta").split("\\*"); +// int plat = Integer.parseInt(serverParam[0]); +// int channel = Integer.parseInt(serverParam[1]); +// int gameServer = Integer.parseInt(serverParam[2]); +// int area = Integer.parseInt(serverParam[3]); +// int userId = Integer.parseInt(serverParam[4]); +// int online = Integer.parseInt(serverParam[5]); +// String serverOrder = serverParam[6]; + +// String openid = map.get("openid"); +// String payitem = map.get("payitem"); +// String billno = map.get("billno"); +// String amt = map.get("amt"); +// String channel_id = map.get("channel_id"); +// String token = map.get("token"); +// +// String final_appkey; +// if (online == 0){ +// final_appkey = YsjConstant.Midas_Buy_Ios_Appkey; +// }else { +// final_appkey = YsjConstant.Midas_Buy_Ios_Appkey_Test; +// } +// +// LOGGER.info("final_appkey : "+ final_appkey); +// +// boolean checkSign = SnsSigCheck.verifySig("GET", "/delivery/iapmanager", map, final_appkey+"&", sig); +// if (!checkSign){ +// JsonResult jsonResult = new JsonResult(); +// jsonResult.setRet(5); +// jsonResult.setMsg("sign error"); +// LOGGER.info("sign error ..."); +// LOGGER.info("======> end midas request..."); +// return jsonResult; +// } +// LOGGER.info("checkSign Success !!! "); +// +// CUser cUser = cuserDao.findUserInfo(gameServer,userId); +// LOGGER.info("cUser : "+ cUser.toString()); +// String ip; +// String port; +// //TODO RPC 发货 +// Result result = null; +// if (cUser != null){ +// String[] split = cUser.getCoreAddress().split(":"); +// ip = split[0]; +// port = split[1]; +// +// LOGGER.info("RPC address --> IP : "+ ip + "; PORT : "+ port); +// +// ClientAdapterPo rPCClient = null; +// String serviceKey = getServiceKey(ServiceKey.RPCCore,ip,port); +// LOGGER.info("serviceKey : "+ serviceKey); +// try { +// LOGGER.info("before RPC ... "); +// rPCClient = ClientAdapterPo.getClientAdapterPo(serviceKey); +// result = rPCClient.getClient().deliveryGood(openid,userId,payitem,billno,amt,channel_id,token,serverOrder); +// LOGGER.info("after RPC ... "); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// rPCClient.returnObject(serviceKey); +// } +// } +// +// JsonResult jsonResult = new JsonResult(); +// jsonResult.setRet(result.getResultCode()); +// jsonResult.setMsg(result.getResultMsg()); +// LOGGER.info("RPC result : ResultCode : "+ result.getResultCode()+"; ResultMsg : "+ result.getResultMsg()); +// LOGGER.info("======> end midas request..."); +// return jsonResult; + } catch (Exception e) { + e.printStackTrace(); + JsonResult jsonResult = new JsonResult(); + jsonResult.setRet(1); + jsonResult.setMsg("system error"); + LOGGER.info("======> end midas request..."); + return jsonResult; + } + } + + + public static String getServiceKey(String serviceName, String host, String port) { + StringBuilder sb = new StringBuilder(); + return sb.append(serviceName).append("|") + .append(host).append("|") + .append(port).toString(); + } + +} diff --git a/src/main/java/com/jmfy/util/YsjConstant.java b/src/main/java/com/jmfy/util/YsjConstant.java index d39e48d..3032fc7 100644 --- a/src/main/java/com/jmfy/util/YsjConstant.java +++ b/src/main/java/com/jmfy/util/YsjConstant.java @@ -12,25 +12,14 @@ public class YsjConstant { public static String Test_Midas_Buy_Goods = "/mpay/buy_goods_m"; - public static String Midas_Android_Appid = "1450013210"; - - public static String Midas_Ios_Appid = "1450013217"; - - public static String Midas_Android_Appkey = "9jmOKYwCiQYPBU56Lf1hsMulaUiUrN0p"; - - public static String Midas_Android_Appkey_Test = "8WzVTnfJFDzsaGy5xwNIDKpDYarucl1I"; - - public static String Midas_Ios_Appkey = "r01xrc9VAhEVKBCLj9VYyrAV8sFxNDxi"; - - public static String Midas_Ios_Appkey_Test = "UiRETrkwHWq9YKBoK9A9ovQxmFTL2bjC"; - - public static String Midas_Buy_Android_Appid = "1450013496"; public static String Midas_Buy_Ios_Appid = "1450013495"; - public static String Midas_Buy_Android_Appkey = "LAhW7WH0jVRjGVkj1wL3fG1YJmCcO6TR";//TODO + public static String Midas_Buy_Android_Appkey = "l3JABkBf3iOWXGlFomyr9v8zTGMIFc27"; + +// public static String Midas_Buy_Android_Appkey = "LAhW7WH0jVRjGVkj1wL3fG1YJmCcO6TR";//TODO public static String Midas_Buy_Android_Appkey_Test = "LAhW7WH0jVRjGVkj1wL3fG1YJmCcO6TR";