/**
* 调往忘记密码页面
* @author xushuanglu
* @date 2016年6月21日
*/
@RequestMapping(value ="/toFindPass")
public String toFindPass() {
return display("forget");
}
/**
* 忘记密码下一步
* @param phone 手机号
* @param code 验证码
* @param phonecode 手机短信验证码
* @author xushuanglu
* @date 2016年6月21日
*/
@RequestMapping(value ="/toValidate")
public String toValidate(ModelMapmodel, Stringphone, Stringcode, String phonecode,
HttpServletRequest request,HttpServletResponse response) {
// 后台验证 通过手机号查询用户信息
HjsUsersCustomer hjsUsersCustomer =usersCustomerService.getByPhone(phone);
String result = backgroundValidate(phone,code,phonecode,hjsUsersCustomer);
if (result !=null) {
error(result,request,response);
return null;
}
getSession().setAttribute("resetUserId",hjsUsersCustomer.getId());
model.addAttribute("hjsUsersCustomer",hjsUsersCustomer);// 用户信息
return display("resetPassWord");
}
/**
* 后台验证
* @param phone 手机号
* @param code 验证码
* @param phonecode 手机短信验证码
* @author xushuanglu
* @date 2016年6月21日
*/
private String backgroundValidate(Stringphone, Stringcode, Stringphonecode,
HjsUsersCustomer hjsUsersCustomer) {
String result =null;
// 判断用户信息是否存在
if (hjsUsersCustomer ==null) {
return result ="用户信息不存在或者用户已经停用,请与客服联系";
}
// 手机验证码
if(getSession().getAttribute("passCode") !=null){
String codeString = getSession().getAttribute("passCode").toString();
Date codeTime = (Date) getSession().getAttribute("passTime");
String phoneString = getSession().getAttribute("passPhone").toString();
long diff = (new Date().getTime() -codeTime.getTime()) / (1000 * 60);
if (!codeString.equals(phonecode) ||diff > 30 || !phoneString.equals(hjsUsersCustomer.getPhone())) {
return result ="手机校验码不正确";
} else {
getSession().removeAttribute("passCode");
}
}
// 验证码
if (ValidateUtils.isStringEmpty(code)) {
return result ="请输入验证码";
}
if(!getSession().getAttribute(Const.SESSION_SECURITY_CODE).toString().equalsIgnoreCase(code)) {
return result ="验证码不正确";
}
return result;
}
/**
* 修改密码
* @param newPass 新密码
* @author xushuanglu
* @date 2016年6月21日
*/
@RequestMapping(value ="/resetPass")
public String editPass(ModelMapmodel, StringnewPass,HttpServletRequestrequest,
HttpServletResponse response) {
//后台验证
if (ValidateUtils.isStringEmpty(newPass)) {
error("请填写新密码",request,response);
return null;
}
if (request.getSession().getAttribute("resetUserId") ==null) {
error("重设密码失败,请稍后再试",request,response);
return null;
}
Integer userId = (Integer)getSession().getAttribute("resetUserId");
getSession().setAttribute("resetUserId",null);
HjsUsersCustomer usersCustomer =usersCustomerService.getById(userId);
newPass = new SimpleHash("SHA-1",usersCustomer.getUsername(),newPass).toString();//密码加密
usersCustomer.setPassword(newPass);
//更新密码
usersCustomerService.update(usersCustomer);
return "redirect:login";
}