public async Task <ApiResult <GetAllAnnouncementOutput> > GetAllStreetOfficeAnnouncement([FromUri] GetAllAnnouncementInput input, CancellationToken cancelToken) { if (input == null) { return(new ApiResult <GetAllAnnouncementOutput>(APIResultCode.Success_NoB, new GetAllAnnouncementOutput { }, "分页参数必传")); } if (Authorization == null) { return(new ApiResult <GetAllAnnouncementOutput>(APIResultCode.Unknown, new GetAllAnnouncementOutput { }, APIResultMessage.TokenNull)); } if (input.PageIndex < 1) { input.PageIndex = 1; } if (input.PageSize < 1) { input.PageSize = 10; } int startRow = (input.PageIndex - 1) * input.PageSize; var user = _tokenRepository.GetUser(Authorization); if (user == null) { return(new ApiResult <GetAllAnnouncementOutput>(APIResultCode.Unknown, new GetAllAnnouncementOutput { }, APIResultMessage.TokenError)); } var data = await _announcementRepository.GetAllAsync(new AnnouncementDto { Title = input.Title, OwnerCertificationId = input.OwnerCertificationId, DepartmentValue = Department.JieDaoBan.Value }, cancelToken); var listCount = data.Count(); var dataList = data.OrderByDescending(a => a.CreateOperationTime).Skip(startRow).Take(input.PageSize).ToList(); var userList = await _userRepository.GetByIdsAsync(dataList.Select(x => x.CreateOperationUserId).ToList()); var urlList = await _announcementAnnexRepository.GetForAnnouncementIdsAsync(dataList.Select(x => x.Id.ToString()).ToList(), cancelToken); List <GetVipOwnerAnnouncementOutput> list = new List <GetVipOwnerAnnouncementOutput>(); foreach (var item in dataList) { list.Add(new GetVipOwnerAnnouncementOutput { Id = item.Id.ToString(), Title = item.Title, Content = item.Content, ReleaseTime = item.CreateOperationTime.Value, Summary = item.Summary, Url = urlList.Where(x => x.AnnouncementId == item.Id.ToString()).FirstOrDefault()?.AnnexContent, CreateUserName = userList.Where(x => x.Id.ToString() == item.CreateOperationUserId)?.FirstOrDefault().Name }); } return(new ApiResult <GetAllAnnouncementOutput>(APIResultCode.Success, new GetAllAnnouncementOutput { List = list, TotalCount = listCount })); }
public async Task <ApiResult <GetAllAnnouncementOutput> > GetAllVipOwnerAnnouncement([FromUri] GetAllAnnouncementInput input, CancellationToken cancelToken) { if (input == null) { return(new ApiResult <GetAllAnnouncementOutput>(APIResultCode.Success_NoB, new GetAllAnnouncementOutput { }, "分页参数必传")); } //if (Authorization == null) //{ // return new ApiResult<GetAllAnnouncementOutput>(APIResultCode.Unknown, new GetAllAnnouncementOutput { }, APIResultMessage.TokenNull); //} //if (string.IsNullOrWhiteSpace(input.OwnerCertificationId)) //{ // throw new NotImplementedException("业主认证Id信息为空!"); //} //var user = _tokenRepository.GetUser(Authorization); //if (user == null) //{ // return new ApiResult<GetAllAnnouncementOutput>(APIResultCode.Unknown, new GetAllAnnouncementOutput { }, APIResultMessage.TokenError); //} if (input.PageIndex < 1) { input.PageIndex = 1; } if (input.PageSize < 1) { input.PageSize = 10; } int startRow = (input.PageIndex - 1) * input.PageSize; var data = await _announcementRepository.GetAllForVipOwnerAsync(new AnnouncementDto { Title = input.Title, DepartmentValue = Department.YeZhuWeiYuanHui.Value, OwnerCertificationId = input.OwnerCertificationId }, cancelToken); var listCount = data.Count(); var dataList = data.OrderByDescending(a => a.CreateOperationTime).Skip(startRow).Take(input.PageSize).ToList(); var userList = await _ownerCertificationRecordRepository.GetListForIdArrayIncludeAsync(dataList.Select(x => x.OwnerCertificationId).ToList()); var urlList = await _announcementAnnexRepository.GetForAnnouncementIdsAsync(dataList.Select(x => x.Id.ToString()).ToList(), cancelToken); List <GetVipOwnerAnnouncementOutput> list = new List <GetVipOwnerAnnouncementOutput>(); foreach (var item in dataList) { list.Add(new GetVipOwnerAnnouncementOutput { Id = item.Id.ToString(), Title = item.Title, Content = item.Content, ReleaseTime = item.CreateOperationTime.Value, Summary = item.Summary, Url = urlList.Where(x => x.AnnouncementId == item.Id.ToString()).Any() ? urlList.Where(x => x.AnnouncementId == item.Id.ToString()).FirstOrDefault().AnnexContent : "", CreateUserName = userList.Where(x => x.Id.ToString() == item.OwnerCertificationId).Any() ? userList.Where(x => x.Id.ToString() == item.OwnerCertificationId).FirstOrDefault().Owner.Name : "" }); } return(new ApiResult <GetAllAnnouncementOutput>(APIResultCode.Success, new GetAllAnnouncementOutput { List = list, TotalCount = data.Count() })); }