예제 #1
0
  /**
   * 알리미 수신여부 정보 조회한다. 알리미 가입시 smsJoin.jsp 알리미 해지시 smsCancle.jsp 로이동
   *
   * @return
   * @throws UserServiceException
   */
  public String smsCheck() {
    DataMap userData = getDataMap();
    String returnStr = "";
    String notify = "";

    String mdn = (String) userData.get(DataMap.MAP_MDN);

    UserParam userParam = new UserParam();
    userParam.setMdn(mdn);

    UserVO userVO = m_sessionManager.getUser(getRequest());

    if (userVO != null) {
      notify = userVO.getNotify();
    }

    if (NGCConst.USER_NOTIFY_CANCLE.equals(notify)) {
      // 비가입, 해지자 (알리미 가입페이지로)
      returnStr = "join";
    } else if (NGCConst.USER_NOTIFY_SETTING.equals(notify)) {
      // 가입 중(알리미 해지 페이지로)
      returnStr = "cancle";
    } else {
      return ERROR;
    }

    return returnStr;
  }
예제 #2
0
  /**
   * 단말기 사이즈 리턴 176 = 0, 204 = 1
   *
   * @param request
   * @return
   */
  public int getUserLCDSize(HttpServletRequest request) {
    // 단말기 lcd 사이즈 추출
    DataMap userData = getDataMap();
    int lcd_size = (Integer) userData.get(DataMap.MAP_LCDSIZE);
    int result = 0;

    if (DataMap.LCDSIZE_240 == lcd_size) {
      // 240size일때
      result = DataMap.LCDSIZE_240;
    } else if (DataMap.LCDSIZE_176 == lcd_size) {
      // 176size일때
      result = DataMap.LCDSIZE_176;
    }

    return result;
  }
예제 #3
0
  /**
   * 프리존 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";
    }
  }
예제 #4
0
  /**
   * 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;
  }
예제 #5
0
  /**
   * eventList.jsp 상단 이벤트 메시지리스트 출력
   *
   * @param
   * @return List
   * @throws
   */
  public String selectEventMessage() {
    try {
      String pageNum = StringUtils.nvlStr(getParameter("pg"), "1");

      EventParam param = new EventParam();
      param.setStartPos(pageNum);
      param.setReadCount("7");

      m_selectEventMessage = EventService.getInstance().getEventList(param);

      // 이벤트 목록 글씨제한
      DataMap dataMap = getDataMap();
      Integer lcdSizeWrap = (Integer) dataMap.get(DataMap.MAP_LCDSIZE);

      if (m_selectEventMessage != null && m_selectEventMessage.size() > 0) {
        for (int i = 0; i < m_selectEventMessage.size(); i++) {
          if (m_selectEventMessage.get(i) != null) {
            String eventTitle =
                CommUtils.checkNull(((EventVO) m_selectEventMessage.get(i)).getTitle(), "");
            String resultTitle = getTitleCutStringLimit(eventTitle, lcdSizeWrap);
            ((EventVO) m_selectEventMessage.get(i)).setTitle(resultTitle);
          }
        }
      }

      m_eventTotalCount = EventService.getInstance().getEventListTotalCount(param);

      HttpServletRequest request = getRequest();
      request.setAttribute("pg", pageNum);
      request.setAttribute("totalCount", String.valueOf(m_eventTotalCount));
    } catch (EventServiceException e) {
      e.printStackTrace();
      m_traceLogger.error(e.getMessage());
      return ERROR;
    }
    return SUCCESS;
  }
예제 #6
0
  /**
   * 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;
  }
예제 #7
0
  /**
   * 닉네임 중복체크
   *
   * @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;
  }
예제 #8
0
  /**
   * 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;
  }