/** * 가입 정보중 sms 알리미 수신 부분에 대한 정보를 수정한다. userId int 사용자의 ID notify String 알림 사용 여부( Y : 사용, N : 미사용) * * @param userParam * @return */ public String updateSmsNotify() { m_userVo = m_sessionManager.getUser(getRequest()); UserParam userParam = new UserParam(); userParam.setUserId(m_userVo.getUserId()); // m_notify 파라미터 값 String m_notify = getParameter("notify"); userParam.setNotify(m_notify); try { m_ngcIFController.updateSmsNotify(userParam); // 사용자 세션에 알림이 가입 여부 (Y/N) 세팅 m_userVo.setNotify(m_notify); } catch (UserServiceException e) { e.printStackTrace(); m_traceLogger.error(e.getMessage()); return ERROR; } return SUCCESS; }
/** * 프리존 n게임센터 가입여부 체크 * * @return * @throws UserServiceException */ public String joinCheck() throws UserServiceException { String existing = CommUtils.checkNull(getParameter("existing")); if (existing.equals("Y")) { return "existing"; } else if (existing.equals("N")) { return "new"; } DataMap userData = getDataMap(); String mdn = (String) userData.get(DataMap.MAP_MDN); UserParam userParam = new UserParam(); userParam.setMdn(mdn); m_userVo = m_ngcIFController.findUserFrz(userParam); if (m_userVo == null) { return "new"; } else { m_checkedNickName = m_userVo.getNickName(); return "existing"; } }
/** * N.G.C. 서비스가입 해지 * * @param nickname * @return */ public String ngcOutSucsess() throws UserServiceException { String mdn; try { DataMap data = getDataMap(); m_userVo = m_sessionManager.getUser(getRequest()); mdn = m_userVo.getMdn(); m_traceLogger.info("ngcOutSucsess start. mdn : " + mdn); UserParam userParam = new UserParam(); userParam.setUserId(m_userVo.getUserId()); userParam.setMdn(mdn); userParam.setMin((String) data.get(DataMap.MAP_MIN)); userParam.setNotify(m_userVo.getNotify()); String siteCode = CommUtils.checkNull(getParameter("siteCode"), ""); if (!"".equals(siteCode)) { userParam.setSiteCode(siteCode); } // 회원탈퇴시 tb_user 테이블 out_date 탈퇴일자 업데이트 m_ngcIFController.deleteUser(userParam); } catch (Exception e) { m_traceLogger.error(e.getMessage()); return ERROR; } // 회원탈퇴시 세션 삭제 GameMainService.getInstance().deleteNgcTmpSession(m_userVo.getUserId()); m_traceLogger.info("ngcOutSucsess end. mdn : " + mdn); 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; }
/** * gameMain.jsp 모두호출 * * @param * @return List * @throws */ public String gameMain() throws UserServiceException { m_traceLogger.info("gameMain() start......"); // 인기게임 현재 페이지 번호 String pGameCurPage = CommUtils.checkNull(getParameter("pGamePageNum"), "1"); // 추천친구맺기에서 선택한 친구 ID String friendUserId = CommUtils.checkNull(getParameter("fid")); try { m_userVo = m_sessionManager.getUser(getRequest()); DataMap dataMap = getDataMap(); // 추천네트워크게임 param GameParam rGameParam = new GameParam(); rGameParam.setLcdSize(DataMap.getLcdSizeValue(dataMap)); // LCD SIZE (176,240) rGameParam.setTouchSupport((String) dataMap.get(DataMap.MAP_TOUCH_SUPPORT)); // touch 지원여부 rGameParam.setModel((String) dataMap.get(DataMap.MAP_DEVICE_MODEL)); // 단말 모델명 // 인기게임 param GameParam pGameParam = new GameParam(); pGameParam.setLcdSize(DataMap.getLcdSizeValue(dataMap)); // LCD SIZE (176,240) pGameParam.setTouchSupport((String) dataMap.get(DataMap.MAP_TOUCH_SUPPORT)); // touch 지원여부 pGameParam.setModel((String) dataMap.get(DataMap.MAP_DEVICE_MODEL)); // 단말 모델명 pGameParam.setStartPos(pGameCurPage); pGameParam.setReadCount(POPULARGAMELIST_READCOUNT); // 보여줄 인기게임목록 갯수 // 단말기 lcd 사이즈 추출 int lcdSize = getUserLCDSize(getRequest()); if (DataMap.LCDSIZE_176 == lcdSize) { // 176size일 경우 추천 게임리스트 4개 노출 rGameParam.setReadCount("4"); } else if (DataMap.LCDSIZE_240 == lcdSize) { // 240size일 경우 추천 게임리스트 6개노출 rGameParam.setReadCount("6"); } // 인기게임리스트 count int totPopularGameCount = GameMainService.getInstance().getPopularGameListCount(pGameParam); // 인기게임리스트 이전, 다음페이지 구하기 int popularGameReadCount = Integer.parseInt(POPULARGAMELIST_READCOUNT); int popularGameCurPage = Integer.parseInt(pGameCurPage); int popularGameTotalPageNum = totPopularGameCount / popularGameReadCount; if (totPopularGameCount % popularGameReadCount != 0) popularGameTotalPageNum++; // 전체 페이지가 현재 페이지보다 많다면 다음페이지 번호 입력 if (popularGameTotalPageNum > popularGameCurPage) { m_nextPageNum = popularGameCurPage + 1; } // 현재 페이지가 1보다 크면 이전페이지 번호 입력 if (popularGameCurPage > 1) { m_prevPageNum = popularGameCurPage - 1; } /* 인기게임리스트 */ m_selectPopularGameList = GameMainService.getInstance().getPopularGameList(pGameParam); /* 추천게임리스트 */ m_selectRecommandGameList = GameMainService.getInstance().getRecommandGameList(rGameParam); /* 이벤트 / 공지 */ m_eventVO = EventService.getInstance().getSimpleEventNoticeList(); /* 배너 이미지 */ m_bannerImg = BannerService.getInstance().getSelectBannerImg(); // 메인에 표시할 인기게임 제목 길이 제한 if (m_selectPopularGameList != null) { for (int i = 0; i < m_selectPopularGameList.size(); i++) { Game gameTemp = (Game) m_selectPopularGameList.get(i); String popularGameTitle = CommUtils.checkNull(gameTemp.getTitle(), ""); int cutStrLength = 0; if (dataMap != null) { Integer lcdSizeWrap = (Integer) dataMap.get(DataMap.MAP_LCDSIZE); if (lcdSizeWrap != null) { if (lcdSizeWrap.intValue() == DataMap.LCDSIZE_176) { cutStrLength = 6; } else if (lcdSizeWrap.intValue() == DataMap.LCDSIZE_240) { cutStrLength = 7; } else if (lcdSizeWrap.intValue() == DataMap.LCDSIZE_320) { cutStrLength = 7; } ((Game) m_selectPopularGameList.get(i)) .setTitle(StringUtils.cutStringLimitLength(popularGameTitle, cutStrLength)); } } } } // 메인에 표시할 이벤트, 공지 제목 길이 제한 if (m_eventVO != null) { String titleEventNotice = CommUtils.checkNull(m_eventVO.getTitle(), ""); int cutStrLength = 0; if (dataMap != null) { Integer lcdSizeWrap = (Integer) dataMap.get(DataMap.MAP_LCDSIZE); if (lcdSizeWrap != null) { if (lcdSizeWrap.intValue() == DataMap.LCDSIZE_176) { cutStrLength = 8; } else if (lcdSizeWrap.intValue() == DataMap.LCDSIZE_240) { cutStrLength = 12; } else if (lcdSizeWrap.intValue() == DataMap.LCDSIZE_320) { cutStrLength = 12; } m_eventVO.setTitle(StringUtils.cutStringLimitLength(titleEventNotice, cutStrLength)); } } } // end of if if (m_userVo != null) { /* 추천친구리스트 : 로그인 사용자 */ Friend friendParam = new Friend(); friendParam.setMyUserId(m_userVo.getUserId()); friendParam.setFriendUserId(friendUserId); if (friendUserId.equals("")) { m_friendList = m_ngcIFController.getRecommandFriendList(m_userVo.getUserId()); } else { // 추천친구리스트에 추가된 친구 추가 m_friendList = m_ngcIFController.getGameMainFriend(friendParam); } // 알림이 가입여부 boolean if (m_userVo != null) { if (NGCConst.USER_NOTIFY_SETTING.equalsIgnoreCase(m_userVo.getNotify())) { m_isNotifyJoin = true; } } } else { /* 추천친구리스트 : 비로그인 사용자 */ m_friendList = m_ngcIFController.getRecommandFriendList(null); } } catch (GameMainServiceException e) { m_traceLogger.error(e.getMessage()); return ERROR; } catch (EventServiceException e) { m_traceLogger.error(e.getMessage()); return ERROR; } catch (BannerServiceException e) { m_traceLogger.error(e.getMessage()); return ERROR; } catch (FriendServiceException e) { m_traceLogger.error(e.getMessage()); return ERROR; } catch (Exception e) { m_traceLogger.error(e.getMessage(), e); return ERROR; } m_traceLogger.info("gameMain() end......"); return SUCCESS; }