增加修改用户角色接口
continuous-integration/drone/push Build is running Details

Uat_IRC_Net8
hang 2024-12-26 11:10:36 +08:00
parent 6e0dc64981
commit 21c10307b9
3 changed files with 44 additions and 19 deletions

View File

@ -211,6 +211,13 @@ namespace IRaCIS.Application.Contracts
public Guid Id { get; set; }
}
public class UpdateUserRolesDto
{
public Guid Id { get; set; }
public List<UserAddUserType> UserRoleList { get; set; }
}
public class UserCommand : UserInfo
{
public Guid? Id { get; set; }

View File

@ -500,26 +500,7 @@ namespace IRaCIS.Core.Application.Service
return user;
}
///// <summary>
///// 删除用户
///// </summary>
///// <param name="userId"></param>
///// <returns></returns>
//[HttpDelete("{userId:guid}")]
//public async Task<IResponseOutput> DeleteUser(Guid userId)
//{
// if (await _userTrialRepository.AnyAsync(t => t.Id == userId))
// {
// //---该用户已经参加项目,不能够删除。
// return ResponseOutput.NotOk(_localizer["User_InProject"]);
// }
// await _userLogRepository.AddAsync(new UserLog() { IP = _userInfo.IP, LoginUserId = _userInfo.Id, OptUserId = userId, OptType = UserOptType.DeleteUser }, true);
// var success = await _userRoleRepository.BatchDeleteNoTrackingAsync(t => t.Id == userId);
// return ResponseOutput.Result(success);
//}
/// <summary>
@ -671,6 +652,40 @@ namespace IRaCIS.Core.Application.Service
}
[HttpPut]
public async Task<IResponseOutput> UpdateUserRoleInfo(UpdateUserRolesDto command)
{
var user = await _identityUserRepository.Where(t => t.Id == command.Id, true).Include(t => t.UserRoleList).FirstOrDefaultAsync();
if (user == null) return Null404NotFound(user);
foreach (var role in command.UserRoleList)
{
var find = user.UserRoleList.FirstOrDefault(t => t.UserTypeEnum == role.UserTypeEnum && t.UserTypeId == role.UserTypeId);
if (find != null)
{
find.IsUserRoleDisabled = role.IsUserRoleDisabled;
}
else
{
var addRole = _mapper.Map<UserRole>(user);
addRole.Id = NewId.NextSequentialGuid();
addRole.IdentityUserId = user.Id;
addRole.UserTypeEnum = role.UserTypeEnum;
addRole.UserTypeId = role.UserTypeId;
user.UserRoleList.Add(addRole);
}
}
var success = await _userRoleRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
///// <summary>
///// 禁用或者启用账户
///// </summary>

View File

@ -1,5 +1,6 @@
using AutoMapper;
using AutoMapper.EquivalencyExpression;
using DocumentFormat.OpenXml.Spreadsheet;
using IRaCIS.Application.Contracts;
using IRaCIS.Core.Application.Auth;
using IRaCIS.Core.Application.Contracts;
@ -163,6 +164,8 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.UserTypeShortName, c => c.MapFrom(t => t.UserTypeRole.UserTypeShortName));
CreateMap<UserBasicInfoCommand, IdentityUser>();
CreateMap<UserRole, IdentityUser>();
}
}