public async Task <ServiceInvokeResult <bool> > ReportAsync(AdminLogDto dto) { var operationIdCorrect = await _operationIdConfigRepository.QueryAsQueryable(a => a.AppId == dto.AppId && a.OperationId == dto.OperationId).AnyAsync(); if (!operationIdCorrect) { return(PrintInvokeResult(false, "应用ID与操作ID不匹配")); } var aesHelper = new AesHelper(); var encryptBeforeContent = aesHelper.Encrypt(dto.BeforeContent); var encryptAfterContent = aesHelper.Encrypt(dto.AfterContent); //实例化领域模型 var administrator = new Administrator(dto.AdminId, dto.AdminName); var adminLog = new AdminLog(dto.AppId, encryptBeforeContent, encryptAfterContent, dto.LinkId, dto.OperationId, dto.OperationIP, dto.OperationRemark, dto.CreateUnixTime, administrator); //验证模型 var validationResult = new AdminLogReportValidation().Validate(adminLog); if (!validationResult.IsValid) { await _bus.RaiseEvent(new DomainNotification(nameof(AdminLogService), JsonConvert.SerializeObject(validationResult.Errors))); } //提交至仓储持久化 var addResult = await _adminLogRepository.Add(adminLog); if (addResult <= 0) { return(PrintInvokeResult(false, "日志入库失败")); } return(PrintInvokeResult(true, "上报完成")); }