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