/** * 게임 접속 * * @param param */ public String gameJoin() { m_ifLogger.info("gameJoin start."); jsonParam.viewParamInfo(); GameParam param = (GameParam) jsonParam; // GameService gameService = GameService.getInstance(); HashMap<String, Object> map = new HashMap<String, Object>(); try { param.setNgcIfId(StringUtils.decryptTripleDes(param.getNgcIfId())); param.setProductId(StringUtils.decryptTripleDes(param.getProductId())); param.setMdn(StringUtils.decryptTripleDes(param.getMdn())); m_ifLogger.info( "gameJoin paramInfo. getNgcIfId : " + param.getNgcIfId() + " , getProductId : " + param.getProductId() + " , getMdn : " + param.getMdn()); UserParam userParam = new UserParam(); userParam.setMdn(param.getMdn()); UserVO userVo = new UserVO(); userVo = UserService.getInstance().findUser(userParam); if (userVo != null) { // gameService.gameJoin(param); map.put("ngcIfId", param.getNgcIfId()); map.put("result", ReturnCode.REQ_SUCCESS); map.put("userId", userVo.getUserId()); map.put("nickname", userVo.getNickName()); jsonResult = JSONObject.fromObject(map); } else { jsonResult = super.getResultErrorJSON(param.getNgcIfId(), ReturnCode.USER_NOT_REGISTER); } } catch (Exception e) { m_ifLogger.error(e.getMessage(), e); jsonResult = super.getResultErrorJSON(param.getNgcIfId(), ReturnCode.SYSTEM_ERROR); super.setMessage(e.getMessage()); } m_ifLogger.info("gameJoin end. jsonResult : " + jsonResult.toString(2)); return SUCCESS; }
/** * N.G.C. 서비스가입 * * @param nickname * @return * @throws UserServiceException */ public String ngcJoinSucsess() throws UserServiceException { DataMap data = getDataMap(); String mdn = (String) data.get(DataMap.MAP_MDN); String min = (String) data.get(DataMap.MAP_MIN); m_traceLogger.info("ngcJoinSucsess start. mdn : " + mdn); UserParam userParam = null; String nickname = CommUtils.checkNull(getParameter("nicknameCheck")); String existing = CommUtils.checkNull(getParameter("existing")); if (nickname.length() == 0) { return "Redundancy"; } userParam = new UserParam(); userParam.setNickName(nickname); userParam.setMdn(mdn); // 프리존 가입여부 체크(프리존 가입이 안되있을때) or 중복체크 or 금칙어 체크 if ((joinCheck().equals("existing") && !existing.equals("Y")) || UserService.getInstance().findNickName_join(userParam) || !CommUtils.isValidNickName(nickname) || isBannedNickname(nickname)) { m_traceLogger.info("Wrong access page."); return ERROR; } String agree1 = CommUtils.checkNull(getParameter("agree1")); // String agree2 = CommUtils.checkNull(getParameter("agree2")); String agree3 = CommUtils.checkNull(getParameter("agree3")); if (!agree1.equals("1") || !agree3.equals("1")) { m_buttonFlag = "Y"; m_checkedNickName = nickname; m_agree = false; if (existing.equals("Y")) { return "AgreeExisting"; } else { return "Agree"; } } UserVO existUser = null; String mngnumber = (String) data.get(DataMap.MAP_SVN_MNG_NUMBER); // 외부 사이트 접속 통계 기록용 siteCode 추가 String siteCode = ""; try { // 회원가입중 에러 발생 시 회원가입실패 페이지로 이동하기위해 try문구 추가. userParam = new UserParam(); userParam.setMdn(mdn); userParam.setMin(min); // tb_user테이블에서 회원 조회 out_date = null m_userVo = m_ngcIFController.findUser(userParam); /*if(m_userVo != null){ mngnumber = m_userVo.getMngNumber(); }*/ userParam.setNickName(nickname); userParam.setMngNumber(mngnumber); siteCode = CommUtils.checkNull(getParameter("siteCode"), ""); if (!"".equals(siteCode)) { userParam.setSiteCode(siteCode); } // 현재 가입상태 여부 상관없이 기존에 가입되어있던 사용자 정보를 가져온다. existUser = UserService.getInstance().findExistUser(userParam); // 이미 가입되있으면 중복가입 메세지 페이지로 이동 if (existUser != null) { if (existUser.getState().equals(NGCConst.USER_JOIN) || existUser.getState().equals(NGCConst.USER_RE_JOIN)) { m_traceLogger.info("ngcJoin duplicate. mdn : " + (String) data.get(DataMap.MAP_MDN)); return "duplicate"; } } // 회원 가입 (기존 가입정보 있을시 재가입 처리) m_ngcIFController.addUser(userParam); // 사용자 추가 /*if(existUser == null || "".equals(existUser.getUserId())){ // 신규회원 userParam.setState(NGCConst.USER_JOIN); m_ngcIFController.addUser(userParam); } else{ // 재가입 회원일경우 tb_user 테이블의 기존 사용자정보 업데이트 GameMainService.getInstance().ngcReJoinSucsess(userParam); }*/ // 세션에 추가하기위한 회원 조회 ( 신규 회원일 경우 USER_ID를 가져오기 위해 조회한다. ) m_userVo = m_ngcIFController.findUser(userParam); getSession().setAttribute(NGCConst.USER_SESSION_KEY, m_userVo); String userId = m_userVo.getUserId(); // 세션에 추가 GameMainService.getInstance().insertNgcTmpSession(userId); } catch (EcgException e) { m_traceLogger.error(e.getMessage()); m_joinFailureMessage = e.getMessage(); return ERROR; } catch (Exception e) { m_traceLogger.error(e.getMessage()); m_joinFailureMessage = "내부 서비스 오류"; return ERROR; } m_traceLogger.info("ngcJoinSucsess end. mdn : " + mdn); return SUCCESS; }
/** * 비속에 닉네임 체크 * * @param nickname * @return * @throws UserServiceException */ public boolean isBannedNickname(String nickname) throws UserServiceException { return UserService.getInstance().bannedWordChk(nickname); }
/** * 닉네임 중복체크 * * @param nickname * @return 가입가능 false, 가입불가 true */ public String joinNicknameCheck() throws UserServiceException { m_nickChk = false; m_resNickChk = 0; boolean randomChk = false; String nickname = CommUtils.checkNull(getParameter("nicknameCheck")); // 금칙어 체크 if (!"".equals(nickname) && isBannedNickname(nickname)) { // 금칙어 사용시 return m_resNickChk = 5; // 금칙어 사용 m_buttonFlag = "N"; return SUCCESS; } DataMap userData = getDataMap(); String mdn = (String) userData.get(DataMap.MAP_MDN); UserParam userParam = new UserParam(); userParam.setMdn(mdn); m_userVo = m_sessionManager.getUser(getRequest()); // m_userVo = m_ngcIFController.findUser(userParam); int nickState = BpIFUtils.checkNickName(nickname); if (m_userVo == null && nickState == 0) { // 가입가능이면 닉네임체크 userParam.setNickName(nickname); // nickname이 빈값이면 중복이 안되는 값으로 랜덤생성 if (nickname.length() == 0) { boolean bl = true; int s = 0; while (bl) { nickname = getRandomString(10); userParam.setNickName(nickname); if (!UserService.getInstance().findNickName_join(userParam)) { bl = false; m_nickChk = false; randomChk = true; } s++; if (s == 10) { bl = false; m_nickChk = true; } } } else { int byteLength = CommUtils.getByteLength(nickname); if (byteLength < 2 || byteLength > 10 || !CommUtils.isValidNickName(nickname)) { m_nickChk = true; } else { m_nickChk = UserService.getInstance().findNickName_join(userParam); } } if (m_nickChk) { // 닉네임 사용 불가 m_resNickChk = 3; m_buttonFlag = "N"; } else { if (randomChk) { // 닉네임 자동생성 m_resNickChk = 2; } else { // 사용가능한 닉네임 m_resNickChk = 1; } m_buttonFlag = "Y"; m_checkedNickName = nickname; } } else { m_resNickChk = 4; } return SUCCESS; }