/**
* 請求區服列表
* @param request
* @param channel
* @return
* @throws Exception
*/
@RequestMapping(value = "/get_servlist", produces = {"application/json;charset=UTF-8"})
@ResponseBody
public String getServlist(HttpServletRequest request) throws Exception {
try {
log.info("---------------------------------------------------------------------");
Map<String, Object> params = Servlets.getParametersStartingWith(request, "");
log.info("易接 請求區服列表參數:"+ request.getRequestURI() + " :" + params.toString());
String sign = request.getParameter("sign");
String time = request.getParameter("time");
String back_login_type = request.getParameter("back_login_type");
String redirectUrl = "http://127.0.0.1:" + request.getLocalPort();// 端口號
String uid = request.getParameter("uid"); // 玩家唯一標誌 //sdk返回的用戶標識
String channelCode = request.getParameter("channelCode");
// String ver = request.getParameter("ver");
// String gameVer = serverConfigService.getVer(channelCode);//遊戲版本
// if(StringUtils.isBlank(ver) || ver.compareTo(gameVer) < 0){
// log.info("遊戲版本不一致");
// log.info("--------------------------------------------------------------------------------------------------------------");
// return "{\"ret\":\"-1\",\"msg\":\"抱歉,版本已更新,請重新下載安裝!\"}";
// }
//簽名驗證生成sign
String verify_sign = CoreUtil.md5sign(PLATFORM, time, channelCode);
log.info("接收的sign:"+sign);
log.info("驗證的sign:"+verify_sign);
// 內部簽名驗證
if (StringUtils.equals(sign, verify_sign)){
String ip = InetAddressUtil.getAddressFromRequest(request); // 得到訪問的IP
String res = GMStartupListener.getServerList(userInfoService, uid, channelCode, redirectUrl, back_login_type, ip);
log.info("易接 "+ channelCode+ " --下發區服列表:" + res);
log.info("--------------------------------- 易接 "+ channelCode+ " 下發區服列表 -----------------------------------");
return res;
} else {
// //驗證失敗
log.info("內部簽名驗證失敗");
log.info("----------------------------------- 內部簽名驗證失敗! -------------------------------------");
return "{\"ret\":\"-1\",\"msg\":\"內部簽名驗證失敗\"}";
}
} catch (Exception e) {
e.printStackTrace();
log.error("系統錯誤:", e);
log.info("-------------------------------- 系統錯誤! ----------------------------------------------");
return "{\"ret\":\"-1\",\"msg\":\"系統錯誤\"}";
}
}
易接
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.