/// <summary> /// 修改密码 /// </summary> /// <param name="modifyPwdParam"></param> /// <param name="currentUser"></param> /// <returns></returns> public async Task <ResponseModel <string> > ModifyPwdAsync(ModifyPwdParam modifyPwdParam, UserCacheBo currentUser) { var result = new ResponseModel <string>(); if (modifyPwdParam.NewPassWord == modifyPwdParam.OldPassWord) { return(result.Fail(ResponseCode.Fail, "不允许原密码和新密码相同的修改")); } if (modifyPwdParam.OldPassWord.Md5Encrypt() == currentUser.PassWord) { var updateResult = await SysUserDao.ModifyPwdAsync(modifyPwdParam, currentUser.UserId); if (updateResult) { // 修改成功 登出 重新登录 await LogoutAsync(currentUser); return(result.Succeed("修改成功,请重新登录")); } return(result.Fail(ResponseCode.Fail, "修改失败,请稍后再试")); } return(result.Fail(ResponseCode.Fail, "原密码不正确")); }
/// <summary> /// 根据用户名修改密码 /// </summary> /// <param name="modifyPwdParam"></param> /// <param name="uid"></param> /// <returns></returns> public async Task <bool> ModifyPwdAsync(ModifyPwdParam modifyPwdParam, long uid) { var result = await CurrentDbContext.SysUsers.Where(c => c.UserId == uid).UpdateFromQueryAsync(c => new SysUser {// 使用这种方式只会修改这两个字段 PassWord = modifyPwdParam.NewPassWord.Md5Encrypt(), UpdatedTime = DateTime.Now, UpdatedBy = uid, }); return(result > 0); }
public async Task <ActionResult> ModifyPwd(ModifyPwdParam modifyPwdParam) { var result = await UserBll.ModifyPwdAsync(modifyPwdParam, CurrentUser); return(MyJson(result)); }