易接

/**
     * 請求區服列表
     * @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\":\"系統錯誤\"}";
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章