/**
  * Description:保存提现申请<br>
  *
  * @author justin.xu
  * @version 0.1 2014年6月19日
  * @param request
  * @param session
  * @param response
  * @param takeCashMoneyVo
  * @return String
  */
 @RequestMapping(value = "saveTakeCash")
 @RequiresAuthentication
 public @ResponseBody String saveTakeCash(
     HttpServletRequest request,
     HttpSession session,
     HttpServletResponse response,
     TakeCashMoneyVo takeCashMoneyVo) {
   String result = "success";
   try {
     ShiroUser shiroUser = currentUser();
     if (super.judgeBlackByType(BusinessConstants.BLACK_TYPE_CASH)) {
       return "";
     }
     if (shiroUser.getIsFinancialUser() == 0) {
       return "借款用户无法提现!";
     }
     // 查询用户认证信息
     MemberApproVo memberApproVo = memberService.queryMemberApproByUserId(shiroUser.getUserId());
     // 您还没有进行手机认证,请先进行手机认证
     if (null == memberApproVo.getMobilePassed()
         || memberApproVo.getMobilePassed() != Constants.YES) {
       return "请先进行手机认证";
     }
     // 判断是否通过了实名认证
     if (null == memberApproVo.getNamePassed()
         || memberApproVo.getNamePassed() != Constants.REALNAME_APPR_ISPASSED_PASSED) {
       return "请先进行实名认证";
     }
     MemberCnd memberCnd = new MemberCnd();
     memberCnd.setId(shiroUser.getUserId());
     MemberVo memberVo = memberService.queryMemberByCnd(memberCnd);
     // 未设置交易密码
     if (null == memberVo.getPaypassword() || "".equals(memberVo.getPaypassword())) {
       return "请先设置交易密码";
     }
     if (null != takeCashMoneyVo && StringUtils.isNotEmpty(takeCashMoneyVo.getTakeMoney())) {
       if (Double.valueOf(takeCashMoneyVo.getTakeMoney()) < 100) {
         return "提现金额必须大于¥100!";
       }
       if (Double.valueOf(takeCashMoneyVo.getTakeMoney()) > 500000) {
         return "提现金额必须小于¥500000!";
       }
     } else {
       return "提现金额不能为空!";
     }
     result = cashRecordService.saveTakeCash(takeCashMoneyVo, memberVo, request);
     if (!"success".equals(result)) {
       return result;
     }
   } catch (AppException ae) {
     return ae.getMessage();
   } catch (Exception e) {
     logger.error("保持提现出错", e);
     return "网络连接异常,请刷新页面或稍后重试!";
   }
   return result;
 }