最近作完工程总结接口java
接口定义以下sql
思路以下app
1.修改密码code
sql以下,看看就懂接口
update t_user set PASSWORD = #{newPassword} where t_user.PASSWORD = #{oldPassword} AND (PHONE_NUM = #{loginInfo} or EMAIL = #{loginInfo})
2.找回密码it
找回密码便是重置密码,用户短信验证成功后,只须要将新密码设置进来便可,sql以下io
update t_user set t_user.PASSWORD = #{newPassword} where PHONE_NUM = #{loginInfo} or EMAIL = #{loginInfo}
3.实现层以下class
/** * 用户密码修改 * * @param loginInfo * 用户手机号码或邮箱 * @param newPassword * 新密码 * @param oldPassword * 旧密码 * @param optType * 密码修改模式(0, 修改密码;1:找回密码) * @return 成功/失败 * @throws Exception */ public ResultObject updatePassword(String loginInfo, String newPassword, String oldPassword, Integer optType){ ResultObject ro = new ResultObject(); //判断标志位 boolean needBreak = false; //修改密码 switch (optType) { case 0: //帐号、新密码、旧密码不能为空 if ( StringUtils.isEmpty(loginInfo)|| StringUtils.isEmpty(newPassword) || StringUtils.isEmpty(oldPassword)){ ro.setResultCode(ResultCode.FAILED); ro.setResultMsg(ResultMsg.MSG_FAILED); needBreak = true; }else if (StringUtils.equals(newPassword, oldPassword)) { //新旧密码不能相同 ro.setResultCode(ResultCode.FAILED); ro.setResultMsg(ResultMsg.MSG_FAILED); needBreak = true; } if (!needBreak) { //修改密码 int success = customerInfoMapper.updPassword(loginInfo, newPassword, oldPassword); if (success == 1) { //成功 ro.setResultCode(ResultCode.SUCCESS); ro.setResultMsg(ResultMsg.MSG_SUCCESS); }else { ro.setResultCode(ResultCode.FAILED); ro.setResultMsg(ResultMsg.MSG_MODIFY_PASSWORD_FAILED); } } break; case 1: //帐号、重置密码不能为空 if ( StringUtils.isEmpty(loginInfo)|| StringUtils.isEmpty(newPassword)){ ro.setResultCode(ResultCode.FAILED); ro.setResultMsg(ResultMsg.MSG_FAILED); needBreak = true; } if (!needBreak) { int success = customerInfoMapper.setPassword(loginInfo, newPassword); if (success == 1) { //成功 ro.setResultCode(ResultCode.SUCCESS); ro.setResultMsg(ResultMsg.MSG_SUCCESS); }else { ro.setResultCode(ResultCode.FAILED); ro.setResultMsg(ResultMsg.MSG_SET_PASSWORD_FAILED); } } default: ro.setResultCode(ResultCode.FAILED); ro.setResultMsg(ResultMsg.MSG_FAILED); break; } return ro; }