public async Task <Unit> Handle(DeleteEmailCommand command, CancellationToken cancellationToken) { _logger.LogDebug($"Handle DeleteEmailCommand:{JsonConvert.SerializeObject(command)}"); var playerId = command.PlayerId; var playerEmailId = command.PlayerEmailId; var playerEmail = await _playerEmailDomainService.Get(playerEmailId); if (playerEmail == null || playerEmail.PlayerId != playerId) { return(Unit.Value); } playerEmail.Status = EmailStatusEnum.除; await _playerEmailDomainService.Update(playerEmail); if (await Commit()) { //TODO await _mudProvider.RemoveEmail(playerId, playerEmailId); await _bus.RaiseEvent(new DeletedEmailEvent(playerId, playerEmailId)).ConfigureAwait(false); } return(Unit.Value); }