/** * Description:进行手机认证<br> * * @author justin.xu * @version 0.1 2014年4月30日 * @param request * @param session * @param mobile 手机号 * @param activeCode 验证码 * @return String */ @RequestMapping(value = "activeMobile") @ResponseBody public MessageBox activeMobile( HttpServletRequest request, HttpSession session, String mobile, String activeCode) { String result = "success"; try { ShiroUser shiroUser = currentUser(); MobileApproVo mobileApproVo = mobileApproService.queryMobileApproByUserId(shiroUser.getUserId()); // 修改手机号码操作 if (null != mobileApproVo && null != mobileApproVo.getPassed() && mobileApproVo.getPassed() == Constants.YES) { return new MessageBox("0", "手机号码已认证通过"); } MemberCnd memberCnd = new MemberCnd(); memberCnd.setId(shiroUser.getUserId()); MemberVo memberVo = memberService.queryMemberByCnd(memberCnd); result = mobileApproService.saveMobileAppro( memberVo, mobile, activeCode, request, BusinessConstants.MOBILE_APPRO_FUNCTION); } catch (AppException ae) { result = ae.getMessage(); } catch (Exception e) { result = "网络连接异常,请刷新页面或稍后重试!"; e.printStackTrace(); } if (BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("1", "短信认证成功!"); } return new MessageBox("0", result); }
/** * Description:进行手机认证<br> * * @author hujianpan * @version 0.1 2014年8月30日 * @param request * @param session * @param mobile 手机号 * @param activeCode 验证码 * @return String */ @RequestMapping(value = "verificationMobailActiveCode") @ResponseBody public MessageBox verificationMobailActiveCode(HttpServletRequest request, HttpSession session) { String result = BusinessConstants.SUCCESS; Member member = currentMember(); String userNameParam = "@@@@"; String mobileParam = request.getParameter("mobile"); String activeCodeParam = request.getParameter("activeCode"); if (member != null) { userNameParam = member.getUsername(); if (StringUtils.isEmpty(userNameParam)) { return new MessageBox("0", "用户名不能为空"); } } else { return new MessageBox("0", "注册信息丢失,请重新登入或注册"); } if (StringUtils.isEmpty(mobileParam)) { return new MessageBox("0", "用户手机号不能为空"); } if (StringUtils.isEmpty(activeCodeParam)) { return new MessageBox("0", "手机验证码不能为空"); } result = mobileApproService.verificationMobailActiveCode( request, member, mobileParam, activeCodeParam); if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", "验证成功"); }
/** * Description:手机短信验证码<br> * * @author yubin * @version 0.1 2015年9月18日 * @return MessageBox */ @RequestMapping(value = "/isMobileCode") public @ResponseBody MessageBox isMobileCode() { String result = "success"; try { String mobileCode = currentRequest().getParameter("mobileCode"); String mobileNum = currentRequest().getParameter("mobileNum"); if (null == mobileCode) { return new MessageBox("0", "请输入手机验证码"); } if (null != mobileCode && !"".equals(mobileCode.trim())) { // 验证手机验证码是否输入正确 // 验证验证码是否正确 String valiateResult = phoneService.compareSmsValidate( mobileNum, mobileCode, BusinessConstants.MOBILE_APPRO_FUNCTION); if (valiateResult != "success") { return new MessageBox("0", valiateResult); } } } catch (Exception e) { result = "failer"; logger.error("手机验证码错误"); } if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", result); }
/** * 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 yubin * @version 0.1 2015年9月17日 * @param memberRegisterCnd * @param request * @param session * @return MessageBox */ @RequestMapping(value = "/isMobileNumExist") public @ResponseBody MessageBox isMobileNumExist(String mobileNum) { String result = "success"; try { if (null != mobileNum && !"".equals(mobileNum.trim())) { // 验证手机号是否存在 MobileApproCnd mobileApproCnd = new MobileApproCnd(); mobileApproCnd.setMobileNum(mobileNum); Integer usernameCount = mobileApproMapper.queryRepeatMobileApproCount(mobileApproCnd); if (null != usernameCount && usernameCount > 0) { return new MessageBox("2", "该手机号已经被使用!"); } } } catch (Exception e) { result = "failer"; logger.error("该手机号已经被使用!"); } if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", result); }
/** * Description:找回密码第一步<br> * * @author yubin * @version 0.1 2015年12月29日 * @param mobileNum * @return MessageBox */ @RequestMapping(value = "/findMobileByOne") public @ResponseBody MessageBox findMobileByOne(String mobileNum, String validatecode) { String result = "success"; try { if (null != mobileNum && !"".equals(mobileNum.trim())) { MobileApproCnd mobileApproCnd = new MobileApproCnd(); mobileApproCnd.setMobileNum(mobileNum); Integer usernameCount = mobileApproMapper.queryRepeatMobileApproCount(mobileApproCnd); if (usernameCount == null || usernameCount.intValue() < 1) { return new MessageBox("0", "您的手机号码没有绑定账号"); } } String randCode = (String) currentSession().getAttribute("randomCode"); if (null == validatecode || null == randCode || !validatecode.equals(randCode)) { return new MessageBox("0", "验证码输入有误!"); } } catch (Exception e) { result = "failer"; logger.error("找回密码第一步:", e); } if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", result); }
/** * 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 hujianpan * @version 0.1 2014年8月30日 * @param request * @param session * @param mobile 手机号 * @param activeCode 验证码 * @return String */ @RequestMapping( value = "/jsonpVerificationMobail", produces = {"text/plain;charset=UTF-8"}) @ResponseBody public String verificationMobailActiveCodeJsonp( HttpServletRequest request, HttpSession session, String jsonpcallback) { MessageBox box = null; String result = BusinessConstants.SUCCESS; Member member = currentMember(); String userNameParam = "@@@@"; String mobileParam = request.getParameter("mobile"); String activeCodeParam = request.getParameter("activeCode"); if (member != null) { userNameParam = member.getUsername(); if (StringUtils.isEmpty(userNameParam)) { box = new MessageBox("0", "用户名不能为空"); return jsonpcallback + "(" + JsonUtils.bean2Json(box) + ")"; } } else { box = new MessageBox("0", "注册信息丢失,请重新登入或注册"); return jsonpcallback + "(" + JsonUtils.bean2Json(box) + ")"; } if (StringUtils.isEmpty(mobileParam)) { box = new MessageBox("0", "用户手机号不能为空"); return jsonpcallback + "(" + JsonUtils.bean2Json(box) + ")"; } if (StringUtils.isEmpty(activeCodeParam)) { box = new MessageBox("0", "手机验证码不能为空"); return jsonpcallback + "(" + JsonUtils.bean2Json(box) + ")"; } result = mobileApproService.verificationMobailActiveCode( request, member, mobileParam, activeCodeParam); if (!BusinessConstants.SUCCESS.equals(result)) { box = new MessageBox("0", result); return jsonpcallback + "(" + JsonUtils.bean2Json(box) + ")"; } box = new MessageBox("1", "验证成功"); return jsonpcallback + "(" + JsonUtils.bean2Json(box) + ")"; }
/** * Description:注册-验证账户信息-发送手机认证验证码<br> * * @author hujianpan * @version 0.1 2014年8月30日 * @param request * @param session * @return String */ @RequestMapping(value = "/sendMobailActiveByMessage") @ResponseBody public MessageBox sendMobailActiveByMessage(HttpServletRequest request, HttpSession session) { try { String result = BusinessConstants.SUCCESS; Member member = currentMember(); if (null == member || StringUtils.isEmpty(member.getUsername())) { return new MessageBox("0", "未关联到要绑定的用户!"); } result = mobileApproService.sendMobailMessageActiveCode(request, member); if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", "发送成功,请注意查收"); } catch (Exception e) { logger.error("注册-验证账户信息-发送手机认证验证码出错", e); return new MessageBox("0", "发送异常"); } }
/** * Description:检查用户名或邮箱或推荐人是否存在<br> * * @author justin.xu * @version 0.1 2014年4月22日 * @param memberRegisterCnd * @return String */ @RequestMapping(value = "/isInviterNameExist") public @ResponseBody MessageBox isInviterNameExist( MemberRegisterCnd memberRegisterCnd, HttpServletRequest request, HttpSession session) { String result = "success"; try { String inviterName = request.getParameter("inviterName"); memberRegisterCnd.setInviterName(inviterName); result = memberRegisterService.queryMemberRepeat(memberRegisterCnd, null); } catch (Exception e) { result = "failer"; logger.error("验证用户名或邮箱是否存在错误"); e.printStackTrace(); } if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", result); }
/** * Description:发送邮箱验证信息<br> * * @author hujianpan * @version 0.1 2014年8月30日 * @param request * @return String */ @RequestMapping(value = "sendEmailVerifyLink") @ResponseBody public MessageBox sendEmailVerifyLink(HttpServletRequest request) { String destinationEmail = request.getParameter("email"); Boolean again = Boolean.valueOf(request.getParameter("again")); // Member member = currentMember(); if (null == member || StringUtils.isEmpty(member.getUsername())) { return MessageBox.build("0", "发送验证邮箱时出错,当前用户可能已验证,请核对。"); } String result = ""; try { result = memberRegisterService.sendEmailLinkActivateMember( request, destinationEmail, again, member); } catch (Exception e) { return MessageBox.build("0", e.getMessage()); } if (!BusinessConstants.SUCCESS.equals(result)) { return MessageBox.build("0", result); } return MessageBox.build("1", "发送验证邮件成功,请去激活!"); }
/** * Description:根据当前用户的手机号发送验证码<br> * * @author justin.xu * @version 0.1 2014年4月30日 * @param request * @param session * @return String */ @RequestMapping(value = "sendResetMsg") @ResponseBody public MessageBox sendResetMsg(HttpServletRequest request, HttpSession session) { String result = BusinessConstants.SUCCESS; try { ShiroUser shiroUser = currentUser(); MobileApproVo mobileApproVo = mobileApproService.queryMobileApproByUserId(shiroUser.getUserId()); result = mobileApproService.sendMobileApprValidate( mobileApproVo.getMobileNum(), request, shiroUser.getUserName(), BusinessConstants.MOBILE_APPRO_RESET_FUNCTION, BusinessConstants.SMS_TEMPLATE_TYPE_VERIFY_MOBILE_CODE); } catch (Exception e) { result = "网络连接异常,请刷新页面或稍后重试!"; e.printStackTrace(); } if (BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("1", "验证码发送成功,请查收手机短信。"); } return new MessageBox("0", result); }
/** * Description:手机短信验证码发送<br> * * @author yubin * @version 0.1 2015年9月18日 * @return MessageBox */ @RequestMapping(value = "/sendMobileCode") public @ResponseBody MessageBox sendMobileCode() { String result = "success"; try { String mobileNum = currentRequest().getParameter("mobileNum"); if (null != mobileNum && !"".equals(mobileNum.trim())) { // 验证码发送 result = mobileApproService.sendMobileApprValidate( mobileNum, currentRequest(), "", BusinessConstants.MOBILE_APPRO_FUNCTION, BusinessConstants.SMS_TEMPLATE_TYPE_WX_SAFECENTER_MOBILEVALIDATE); } } catch (Exception e) { result = "failer"; logger.error("网络异常"); } if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", result); }
/** * Description:检查用户名或邮箱或推荐人是否存在<br> * * @author justin.xu * @version 0.1 2014年4月22日 * @param memberRegisterCnd * @return String */ @RequestMapping(value = "/checkMemberRepeatForRegist") public @ResponseBody MessageBox checkMemberRepeatForRegist( MemberRegisterCnd memberRegisterCnd, HttpServletRequest request, String inviterName, HttpSession session) { String result = "success"; try { if (!VerifyContainSpecialChar.isContainSpecialChars(memberRegisterCnd.getUsername())) { return new MessageBox("0", "用户名包含特殊字符串"); } result = memberRegisterService.queryMemberRepeat(memberRegisterCnd, null); } catch (Exception e) { result = "failer"; logger.error("验证用户名或邮箱是否存在错误"); e.printStackTrace(); } if (!BusinessConstants.SUCCESS.equals(result)) { return new MessageBox("0", result); } return new MessageBox("1", result); }