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