using F9WebAiTest.Application.Common.Exceptions; using F9WebAiTest.Domain.Interfaces.SYS.RBAC.Roles; using MediatR; namespace F9WebAiTest.Application.CQRS.SYS.RBAC.Roles.Commands; /// 命令定义 public record Role_DelCommand(long Id) : IRequest; /// 命令处理器 public class DelRoleCommandHandler( IRoleWriteRepository roleWriteRepository) : IRequestHandler { public async Task Handle(Role_DelCommand command, CancellationToken cancellationToken) { if (command.Id <= 0) throw new F9OperationException("角色ID不能为空"); var result = await roleWriteRepository.SoftDeleteAsync(command.Id); if (result == false) throw new F9OperationException("角色", "删除"); return result; } }