/** * Description:修改绑定手机时,对原来的手机号码认证<br> * * @author hujianpan * @version 0.1 2014年4月30日 * @param request * @param session * @param mobile 手机号 * @param activeCode 验证码 * @return String */ @RequestMapping(value = "verifyCurrentUserMobile") @ResponseBody public MessageBox verifyCurrentUserMobile( HttpServletRequest request, HttpSession session, String mobile, String activeCode) { String result = "success"; ShiroUser shiroUser = currentUser(); try { MemberCnd memberCnd = new MemberCnd(); memberCnd.setId(shiroUser.getUserId()); MemberVo memberVo = memberService.queryMemberByCnd(memberCnd); memberVo.setIsModify(true); result = mobileApproService.saveMobileAppro( memberVo, mobile, activeCode, request, BusinessConstants.MOBILE_APPRO_RESET_FUNCTION, BusinessConstants.SMS_TEMPLATE_TYPE_VERIFYSUCCESS_MOBILE_CODE); } catch (AppException ae) { result = ae.getMessage(); } catch (Exception e) { result = "网络连接异常,请刷新页面或稍后重试!"; e.printStackTrace(); } if (BusinessConstants.SUCCESS.equals(result)) { // 记录到session中,代表验证原有手机通过 session.setAttribute( BusinessConstants.MOBILE_APPRO_RESET_FUNCTION + shiroUser.getUserId(), "true"); return new MessageBox("1", "短信认证成功!"); } return new MessageBox("0", result); }
/** * 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; }
/** * Description:判断当前登录用户是否设置了交易密码,如果设置了交易密码,则返回:true,如果没有设置,则返回:false<br> * * @author justin.xu * @version 0.1 2014年7月14日 * @param session * @return String */ @RequestMapping(value = "/isPayPasswordExist") public @ResponseBody String isPayPasswordExist(HttpSession session) { String result = "success"; ShiroUser shiroUser = currentUser(); MemberCnd memberCnd = new MemberCnd(); memberCnd.setId(shiroUser.getUserId()); MemberVo memberVo = memberService.queryMemberByCnd(memberCnd); if (null == memberVo) { result = "notlogin"; } else if (null == memberVo.getPaypassword() || "".equals(memberVo.getPaypassword())) { result = "nopaypassword"; } return result; }
/** * Description:进入注册页面<br> * * @author justin.xu * @version 0.1 2014年4月21日 * @param request * @return ModelAndView */ @RequestMapping(value = "/toRegister") public ModelAndView toRegister(HttpServletRequest request, HttpServletResponse response) { /** *** 微信站点首页域名 **** */ final String WX_MAIN_URL = new String("http://m.gcjr.com/regist"); // 判断是否需要重定向和跳转 String ua = currentRequest().getHeader("User-Agent"); String inviterName = null; String realName = null; // 显示真实姓名 ModelAndView mv = new ModelAndView("member/userRegiste"); String userIdMD5 = request.getParameter("code"); String redId = request.getParameter("redId"); // 如果来自内部推广,则判断该链接的有效性,即邀请人是否存在 if (userIdMD5 != null && !StringUtils.isEmpty(userIdMD5)) { MemberCnd memberCnd = new MemberCnd(); memberCnd.setUserIdMD5(userIdMD5); MemberVo memberVo = memberService.queryMemberByCnd(memberCnd); RealNameApproVo vo = realNameApproMapper.getByUserId(memberVo.getId()); if (vo != null && !StringUtils.isEmpty(vo.getSecuritRealName())) { realName = vo.getSecuritRealName(); } if (null != memberVo && !StringUtils.isEmpty(memberVo.getUsername())) { inviterName = memberVo.getUsername(); } } if (isMobileTerminal(ua)) { return redirect(WX_MAIN_URL) .addObject("inviterName", CharacterEncoder.encodeURL(inviterName, "UTF-8")) .addObject("realName", CharacterEncoder.encodeURL(realName, "UTF-8")) .addObject("redId", CharacterEncoder.encodeURL(redId, "UTF-8")); } CookieGenerator cookieGenerator = new CookieGenerator(); cookieGenerator.setCookieMaxAge(30 * 24 * 60 * 60); String tid = request.getParameter("tid"); // 如果来源于易瑞特,则为必有参数 if (null != tid) { cookieGenerator.setCookieName("tid"); cookieGenerator.addCookie(response, tid); request.getSession().setAttribute("tid", tid); } String extendLinkSourceName = request.getParameter("source"); // 链接来源 if (!StringUtils.isEmpty(extendLinkSourceName)) { String linkSourceValue = Dictionary.getValue(1100, extendLinkSourceName.trim()); request.getSession().setAttribute("linkSourceValue", linkSourceValue); } return mv.addObject("inviterName", inviterName) .addObject("realName", realName) .addObject("redId", CharacterEncoder.encodeURL(redId, "UTF-8")); }
/** * Description:跳转到会员手机认证界面<br> * * @author hujianpan * @version 0.1 2014年8月30日 * @return String */ @RequiresAuthentication @RequestMapping(value = "/toMobailCheckMemberInfo") public ModelAndView checkMemberInfo(HttpServletRequest request) { Member member = currentMember(); if (null == member || StringUtils.isEmpty(member.getUsername())) { return forword(BusinessConstants.TOP_HOME_ADDRESS); } // 通过用户名查询上一步的信息 MemberCnd memberCnd = new MemberCnd(); memberCnd.setUsername(member.getUsername()); MemberVo memberVo = memberService.queryMemberByCnd(memberCnd); // 0:正式身份 -1:游客身份 if (null != memberVo && BusinessConstants.VISITOR_OFFICIAL == memberVo.getType()) { return forword(BusinessConstants.TOP_HOME_ADDRESS); } return forword("/member/register_CheckMemberByMobail"); }
/** * Description:进入提现页面<br> * * @author justin.xu * @version 0.1 2014年6月18日 * @param request * @param session * @return * @throws Exception String */ @RequestMapping(value = "toGetcash") @RequiresAuthentication public ModelAndView getcash(HttpServletRequest request, HttpSession session) throws Exception { ModelAndView mav = new ModelAndView("account/cash/getcash"); ShiroUser shiroUser = currentUser(); if (super.judgeBlackByType(BusinessConstants.BLACK_TYPE_CASH)) { mav = new ModelAndView("redirect:/myaccount/toIndex.html"); return mav; } // 当前帐号信息 AccountVo accountVo = accountService.queryAccountByUserId(shiroUser.getUserId()); mav.addObject("accountVo", accountVo); BigDecimal maxDrawMoney = cashRecordService.getMaxDrawMoney(shiroUser.getUserId()); // 当前用户银行卡信息 BankInfoVo currentBankCardVo = bankInfoService.getUserCurrentCard(shiroUser.getUserId()); // 查询银行卡数量; int cardNum = bankInfoService.querytBankCardNum(shiroUser.getUserId()); mav.addObject("cardNum", cardNum); // 查询银行卡操作日志中的锁定记录(type=0的记录) int cardLock = bankInfoService.querytBankCardLock(shiroUser.getUserId()); mav.addObject("cardLock", cardLock); // 查询用户信息 MemberCnd memberCnd = new MemberCnd(); memberCnd.setId(shiroUser.getUserId()); MemberVo memberVo = memberService.queryMemberByCnd(memberCnd); // 未设置交易密码 if (null == memberVo.getPaypassword() || "".equals(memberVo.getPaypassword())) { mav.addObject("nosetPaypassword", true); } if (vipLevelService.getIsSvipByUserId(shiroUser.getUserId())) { mav.addObject("isSvip", "yes"); } else { mav.addObject("isSvip", "no"); } mav.addObject("currentBankCardVo", currentBankCardVo); mav.addObject("maxDrawMoney", maxDrawMoney); Integer getCashedCount = cashRecordService.getCashedCount(shiroUser.getUserId(), new Date()); mav.addObject("getCashedCount", getCashedCount); return mav; }
/** * Description:安全中心-验证账户信息-发送手机认证验证码<br> * * @author hujianpan * @version 0.1 2014年8月30日 * @param request * @param session * @return String */ @RequiresAuthentication @RequestMapping(value = "/sendMobailActiveInSaftCenter") @ResponseBody public MessageBox sendMobailActiveInSaftCenter(HttpServletRequest request, HttpSession session) { String result = BusinessConstants.SUCCESS; Member member = currentMember(); if (StringUtils.isEmpty(member.getUsername())) { return new MessageBox("0", "请先登入!"); } String mobile = request.getParameter("mobile"); String activeCode = request.getParameter("activeCode"); try { MobileApproVo mobileApproVo = mobileApproService.queryMobileApproByUserId(member.getId()); // 修改手机号码操作 if (null == session.getAttribute( BusinessConstants.MOBILE_APPRO_RESET_FUNCTION + member.getId()) && (null != mobileApproVo && null != mobileApproVo.getPassed() && mobileApproVo.getPassed() == Constants.YES)) { return new MessageBox("0", "手机号码已认证通过"); } result = mobileApproService.sendMobileApprValidate( mobile, request, member.getUsername(), BusinessConstants.MOBILE_APPRO_FUNCTION); if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } ShiroUser shiroUser = currentUser(); MemberVo memberVo = new MemberVo(); memberVo.setId(shiroUser.getUserId()); mobileApproService.packageMobileApproCode(memberVo, mobile, activeCode, request); // 删除验证原有手机号码session session.removeAttribute(BusinessConstants.MOBILE_APPRO_RESET_FUNCTION + member.getId()); } catch (Exception e) { result = "发送验证码出错,请联系客服"; e.printStackTrace(); } if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", "发送成功,请注意查收"); }
/** * Description:发送手机认证验证码<br> * * @author justin.xu * @version 0.1 2014年4月29日 * @param request * @param session * @return String */ @RequestMapping(value = "activeMobileAndSendMsg") @ResponseBody public String activeMobileAndSendMsg( HttpServletRequest request, HttpSession session, String mobile, String activeCode) { String result = "success"; try { ShiroUser shiroUser = currentUser(); result = mobileApproService.sendMobileApprValidate( mobile, request, shiroUser.getUserName(), BusinessConstants.MOBILE_APPRO_FUNCTION); MemberVo memberVo = new MemberVo(); memberVo.setId(shiroUser.getUserId()); // mobileApproService.packageMobileApproCode(memberVo, mobile, // activeCode, request); } catch (Exception e) { result = "网络连接异常,请刷新页面或稍后重试!"; e.printStackTrace(); } return result; }
/** * Description:跳转到会员邮箱和手机认证界面<br> * * @author hujianpan * @version 0.1 2014年8月30日 * @param memberRegisterCnd * @return String */ @RequestMapping(value = "/toCheckMemberInfo") public ModelAndView checkMemberInfo(HttpServletRequest request) { Member member = new Member(); ShiroUser shiroUser = currentUser(); member.setId(shiroUser.getUserId()); member.setUsername(shiroUser.getUserName()); if (null == member || StringUtils.isEmpty(member.getUsername())) { return redirect("/" + BusinessConstants.TOP_HOME_ADDRESS); } // 通过用户名查询上一步的信息 MemberCnd memberCnd = new MemberCnd(); memberCnd.setUsername(member.getUsername()); MemberVo memberVo = memberService.queryMemberByCnd(memberCnd); // 0:正式身份 -1:游客身份 if (null != memberVo && BusinessConstants.VISITOR_OFFICIAL == memberVo.getType()) { logger.info("当前用户已经认证通过"); return redirect("/" + BusinessConstants.TOP_HOME_ADDRESS); } return forword("/member/register_CheckMember") .addObject("currentEmail", memberVo.getEmail() == null ? "" : memberVo.getEmail()); }
/** * Description:跳转到提现菜单页面<br> * * @author justin.xu * @version 0.1 2014年5月21日 * @param request * @return ModelAndView */ @RequestMapping(value = "toCashIndex") @RequiresAuthentication public ModelAndView toTopupMain() throws Exception { ModelAndView mv = new ModelAndView("account/cash/cashIndex"); ShiroUser shiroUser = currentUser(); if (super.judgeBlackByType(BusinessConstants.BLACK_TYPE_CASH)) { mv = new ModelAndView("redirect:/myaccount/toIndex.html"); return mv; } MemberCnd memberCnd = new MemberCnd(); memberCnd.setId(shiroUser.getUserId()); MemberVo memberVo = memberService.queryMemberByCnd(memberCnd); // 查询用户认证信息 MemberApproVo memberApproVo = memberService.queryMemberApproByUserId(shiroUser.getUserId()); // 您还没有进行手机认证,请先进行手机认证 if (null == memberApproVo.getMobilePassed() || memberApproVo.getMobilePassed() != Constants.YES) { mv.addObject("errorCode", "-3"); return mv; } // 判断是否通过了实名认证 if (null == memberApproVo.getNamePassed() || memberApproVo.getNamePassed() != Constants.REALNAME_APPR_ISPASSED_PASSED) { mv.addObject("errorCode", "-1"); return mv; } // 如果交易密码为空,则跳到交易密码页面 if (null == memberVo.getPaypassword() || "".equals(memberVo.getPaypassword())) { mv.addObject("errorCode", "-4"); return mv; } // 设置菜单名 mv.addObject(BusinessConstants.ACCOUNT_FIRST_MENU, BusinessConstants.LEFT_MENU_ZJ); mv.addObject(BusinessConstants.ACCOUNT_SECOND_MENU, BusinessConstants.LEFT_MENU_ZJ_TAKE_CASH); return mv; }