找回密码优化

master
shijie 4 years ago
parent 9cee44c307
commit 3a1e4f6d39
  1. 1
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/dao/UserLoginDao.java
  2. 14
      dq-financial-hrms-auth/src/main/java/com/daqing/financial/hrauth/service/impl/UserLoginServiceImpl.java
  3. 3
      dq-financial-hrms-auth/src/main/resources/mapper/hrmsauth/UserLoginMapper.xml

@ -18,4 +18,5 @@ public interface UserLoginDao extends BaseMapper<UserEntity> {
int updatePasswordByPhoneAccount(@Param("phoneAccount") String phoneAccount, @Param("password") String password); int updatePasswordByPhoneAccount(@Param("phoneAccount") String phoneAccount, @Param("password") String password);
UserEntity login(LoginRequest loginRequest); UserEntity login(LoginRequest loginRequest);
UserEntity selectByPhoneAccount(String phoneAccount);
} }

@ -14,12 +14,10 @@ import com.daqing.framework.model.response.CommonCode;
import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.model.response.ResponseResult;
import com.daqing.framework.util.Md5Util; import com.daqing.framework.util.Md5Util;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/** /**
* @auther River * @auther River
@ -49,7 +47,7 @@ public class UserLoginServiceImpl extends ServiceImpl<UserLoginDao, UserEntity>
* 忘记密码 * 忘记密码
*/ */
@Override @Override
public Boolean getBackPwd(UserLoginRequest user){ public Boolean getBackPwd(@Validated UserLoginRequest user){
//判断重置密码参数是否为空 //判断重置密码参数是否为空
if(StringUtils.isEmpty(user.getPhoneAccount())){ if(StringUtils.isEmpty(user.getPhoneAccount())){
ExceptionCast.cast(HrmsCode.PHNOE_ACCOUNT_NOT_EMPTY); ExceptionCast.cast(HrmsCode.PHNOE_ACCOUNT_NOT_EMPTY);
@ -68,18 +66,20 @@ public class UserLoginServiceImpl extends ServiceImpl<UserLoginDao, UserEntity>
if (count == 0) { if (count == 0) {
ExceptionCast.cast(HrmsCode.PHNOE_ACCOUNT_NOT_EMPTY); ExceptionCast.cast(HrmsCode.PHNOE_ACCOUNT_NOT_EMPTY);
} }
//根据手机号查询相关信息
UserEntity userEntity = baseMapper.selectByPhoneAccount(user.getPhoneAccount());
//判断验证码是否匹配 //判断验证码是否匹配
String verify = "123456"; String verify = "123456";
if(!verify.equals(user.getVerifyCode())){ if(!verify.equals(user.getVerifyCode())){
ExceptionCast.cast(HrmsCode.VERIFY_CODE_ILLEGAL); ExceptionCast.cast(HrmsCode.VERIFY_CODE_ILLEGAL);
} }
//密码格式校验 //密码格式校验
Pattern pattern = Pattern.compile("^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{6,20}$"); /* Pattern pattern = Pattern.compile("^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{6,20}$");
Matcher match = pattern.matcher(user.getNewPwd()); Matcher match = pattern.matcher(user.getNewPwd());
if(!match.matches()){ if(!match.matches()){
ExceptionCast.cast(HrmsCode.NEW_PASSWORD_ILLEGAL); ExceptionCast.cast(HrmsCode.NEW_PASSWORD_ILLEGAL);
} }*/
String newMD5 = new BCryptPasswordEncoder().encode(user.getNewPwd()); String newMD5 = Md5Util.md5(user.getNewPwd()+userEntity.getId());
//根据手机号码修改密码 //根据手机号码修改密码
int i = userLoginDao.updatePasswordByPhoneAccount(user.getPhoneAccount(),newMD5); int i = userLoginDao.updatePasswordByPhoneAccount(user.getPhoneAccount(),newMD5);
return i > 0; return i > 0;

@ -34,5 +34,8 @@
</if> </if>
</select> </select>
<select id="selectByPhoneAccount" resultType="com.daqing.framework.domain.hrms.UserEntity">
SELECT id,account FROM hrms_user WHERE phone_account = #{phoneAccount}
</select>
</mapper> </mapper>
Loading…
Cancel
Save