/** * 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; }