public async Task <Result> ModifyPassword([FromBody] AccountModifyPasswordRequestDto dto) { //验证请求数据合法性 var result = dto.Valid(); if (!result.Success) { return(result); } int id = HttpContext.User.UserId(); var service = this._serviceProvider.GetRequiredService <AccountPasswordChangeService>(); var modifyResult = await service.Modify(id, dto.Password, dto.OldPassword); if (!modifyResult.Success) { return(modifyResult); } //数据持久化 _operateLog.Record(ASFPermissions.AccountModifyPassword, new { uid = id, data = dto }, "Success"); //记录日志 await _accountRepository.ModifyAsync(modifyResult.Data); await _unitOfWork.CommitAsync(autoRollback : true); return(Result.ReSuccess()); }
public virtual async Task <Result> ModifyPassword(AccountModifyPasswordRequestDto dto) { //验证请求数据合法性 var result = dto.Valid(); if (!result.Success) { return(result); } int id = 0; var service = IocManager.Instance.Resolve <AccountPasswordChangeService>(); var modifyResult = await service.Modify(id, dto.Password, dto.OldPassword); if (!modifyResult.Success) { return(modifyResult); } //数据持久化 _operateLog.Record(ASFPermissions.AccountModifyPassword, new { uid = id, data = dto }, "Success"); //记录日志 await _accountRepository.ModifyAsync(modifyResult.Data); return(Result.ReSuccess()); }
public async Task <Result> ResetPassword([FromBody] AccountModifyPasswordRequestDto dto) { var server = _serviceProvider.GetRequiredService <AccountService>(); long?tenancyId = HttpContext.User.IsSuperRole() ? null : Convert.ToInt64(HttpContext.User.TenancyId()); var result = await server.Get(dto.Id, tenancyId); if (!result.Success) { return(Result.ReFailure(result.Message, result.Status)); } // 除总超级管理员之外其他不允许操作其他租户信息 if (tenancyId != null && result.Data.TenancyId != tenancyId) { return(Result.ReFailure(ResultCodes.TenancyMatchExist)); } var isPassword = result.Data.SetPassword(dto.Password); if (!isPassword.Success) { return(isPassword); } result.Data.CreateId = Convert.ToInt64(HttpContext.User.UserId()); return(await server.Modify(result.Data)); }