@RequestMapping(value = "/user/awayUser", method = RequestMethod.POST)
  public ModelAndView updateAwayUser(
      @LoginUser MemberSessionVo loginUser,
      HttpServletRequest request,
      HttpServletResponse response,
      ModelAndView modelAndView)
      throws Throwable {
    String awayPassword = StringUtil.strNull(request.getParameter("awayPassword"));
    String weUserIdx = StringUtil.strNull(request.getParameter("weUserIdx"));

    int result = 0;

    Map<String, String> param = new HashMap<String, String>();
    if (loginUser.getWeUserIdx() == Integer.parseInt(weUserIdx)) {

      try {
        WeUser weUser = commonService.getUserInfo(Integer.parseInt(weUserIdx));

        String passKey = weUser.getWe_user_key(); // 현재 로그인 사용자의 패스워드 키
        String password = loginService.getEncryptPassword(passKey, awayPassword);

        logger.debug("현재 가져온 PASSWORD : "******"DB의 getWe_user_pwd() : " + weUser.getWe_user_pwd());

        // 사용자가 입력한 현재 비밀번호와 DB에서 가져온 값과 같은가 판단한다.
        if (password.equals(weUser.getWe_user_pwd())) {
          // 비밀번호 일치
          // 회원 정보 초기화 업데이트
          result = userProfileService.updateAwayUser(loginUser.getWeUserIdx());
          logger.debug("#### result : " + result);

          if (result > 0) {
            param.put("result", result + "");
            param.put("msg", "회원 탈퇴 처리 되었습니다. 곧 자동으로 로그아웃 됩니다. 이용해주셔서 감사합니다.");
          }
        } else {
          result = -1;
          param.put("result", result + "");
          param.put("msg", "회원 비밀번호가 일치 하지 않습니다.");
        }

        logger.debug("### result : " + result);
      } catch (Exception e) {
        result = -3;
        param.put("result", result + "");
        param.put("msg", "에러가  발생하였습니다.");
      }

    } else {
      result = -2;
      throw new GliderwikiException("사용자 정보가 일치 하지 않습니다.");
    }

    logger.debug("param : " + param.toString());

    return new ModelAndView("json_").addObject("param", param);
  }
  /**
   * 프로필 수정
   *
   * @param profileVo
   * @param request
   * @param response
   * @param modelAndView
   * @return
   * @throws Throwable
   */
  @RequestMapping(value = "/user/updateUserProfile", method = RequestMethod.POST)
  public ModelAndView updateUserProfile(
      @ModelAttribute("frmFile") ProfileVo profileVo,
      HttpServletRequest request,
      HttpServletResponse response,
      ModelAndView modelAndView)
      throws Throwable {
    logger.debug("회원정보 request 값 : " + profileVo.toString());
    // TODOLIST 회원 세션 정보 획득

    String weUserName = StringUtil.strNull(request.getParameter("weUserName"));
    logger.debug("weUserName : "******"userPassword"));
    String weUserPwd = StringUtil.strNull(request.getParameter("weUserPwd"));

    BaseObjectBean baseObj = new BaseObjectBean();

    // 패스워드가 있을 경우 비밀번호 수정 로직 구현
    if (userPassword.equals("") || weUserPwd.equals("")) {
      // 비밀번호가 둘중 하나라도 입력이 안되어있으면 수정할 수 없다.
      profileVo.setUserPassword("");
      profileVo.setWeUserPwd("");

    } else {
      // userPassword : 현재 사용자 패스워드, weUserPwd 바꿀 패스워드
      profileVo.setUserPassword(userPassword);
      profileVo.setWeUserPwd(weUserPwd);
    }

    try {
      baseObj = userProfileService.updateUserProfile(profileVo, request);
    } catch (Exception e) {
      logger.info("회원정보 수정 Controller 에서 에러 발생 : " + e.getMessage());
      baseObj.setRtnResult(-1);
      baseObj.setRtnMsg("에러가 발생하였습니다. " + e.getMessage());
    }

    Map<String, String> param = new HashMap<String, String>();
    param.put("result", baseObj.getRtnResult() + "");
    param.put("msg", baseObj.getRtnMsg());

    return new ModelAndView("json_").addObject("param", param);
  }