public async Task <ApiResult <AddVipOwnerAnnouncementOutput> > AddVipOwnerAnnouncement([FromBody] AddVipOwnerAnnouncementInput input, CancellationToken cancelToken) { if (Authorization == null) { return(new ApiResult <AddVipOwnerAnnouncementOutput>(APIResultCode.Unknown, new AddVipOwnerAnnouncementOutput { }, APIResultMessage.TokenNull)); } if (string.IsNullOrWhiteSpace(input.Content)) { throw new NotImplementedException("公告内容信息为空!"); } if (string.IsNullOrWhiteSpace(input.Title)) { throw new NotImplementedException("公告标题信息为空!"); } if (string.IsNullOrWhiteSpace(input.OwnerCertificationId)) { throw new NotImplementedException("业主认证Id信息为空!"); } var user = _tokenRepository.GetUser(Authorization); if (user == null) { return(new ApiResult <AddVipOwnerAnnouncementOutput>(APIResultCode.Unknown, new AddVipOwnerAnnouncementOutput { }, APIResultMessage.TokenError)); } var entity = await _announcementRepository.AddVipOwnerAsync(new AnnouncementDto { Content = input.Content, Summary = input.Summary, Title = input.Title, DepartmentValue = Department.YeZhuWeiYuanHui.Value, DepartmentName = Department.YeZhuWeiYuanHui.Name, OperationTime = DateTimeOffset.Now, OperationUserId = user.Id.ToString(), OwnerCertificationId = input.OwnerCertificationId }, cancelToken); if (!string.IsNullOrWhiteSpace(input.AnnexId)) { await _announcementAnnexRepository.AddAsync(new AnnouncementAnnexDto { AnnexContent = input.AnnexId, AnnouncementId = entity.Id.ToString(), OperationTime = DateTimeOffset.Now, OperationUserId = user.Id.ToString() }, cancelToken); } var url = (await _announcementAnnexRepository.GetAsync(entity.Id.ToString()))?.AnnexContent; var OperationName = (await _ownerCertificationRecordRepository.GetIncludeAsync(entity.OwnerCertificationId, cancelToken))?.Owner.Name; await AnnouncementPushRemind(new AnnouncementPushModel { Content = entity.Content, Id = entity.Id.ToString(), ReleaseTime = entity.CreateOperationTime.Value.ToString("yyyy'-'MM'-'dd' 'HH':'mm':'ss"), Summary = entity.Summary, Title = entity.Title, Url = url, CreateUserName = OperationName }, entity.SmallDistrictArray); return(new ApiResult <AddVipOwnerAnnouncementOutput>(APIResultCode.Success, new AddVipOwnerAnnouncementOutput { Id = entity.Id.ToString() })); }