/// <summary> /// 分页获取新闻列表 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <IPageList <NewsResponse> > GetPageListAsync(QueryNewsRequest request) { var query = new SqlPageBuilder(request.PageIndex, request.PageSize); query.AddHeadSql(@"SELECT t.*"); query.AddBodySql(@" FROM ( SELECT n.* FROM pdd_t_news n JOIN pdd_t_news_publish np ON np.NewsId = n.id AND np.NewsPublishType = 1 JOIN pdd_t_users u ON u.CompanyID = np.ObjectId AND u.ID = @UserId WHERE n.`status` = 2 UNION SELECT n.* FROM pdd_t_news n JOIN pdd_t_news_publish np ON np.NewsId = n.id AND np.NewsPublishType = 2 JOIN pdd_t_company_group_user cgu ON cgu.GroupId = np.ObjectId AND cgu.UserId = @UserId WHERE n.`status` = 2 UNION SELECT n.* FROM pdd_t_news n JOIN pdd_t_news_publish np ON np.NewsId = n.id AND np.NewsPublishType = 3 JOIN pdd_t_users u ON u.ID = np.ObjectId AND u.ID = @UserId WHERE n.`status` = 2 ) t where 1=1 "); if (request.KeyWord.HasVal()) { query.AddBodySql("and t.Title like @Keyword"); query.AddParam("Keyword", request.KeyWord); } if (request.Sort.HasVal()) { query.AddOrderBySql($"order by t.{request.Sort.PropertyName} {(request.Sort.IsAsc?"ASC":"DESC")}"); } else { query.AddOrderBySql($"order by t.publishTime desc"); } query.AddParam("UserId", CurrentUser.Id); return(await DbHelper.QueryPageListAsync <NewsResponse>(query)); }
public Task <IPageList <NewsResponse> > GetPageListAsync(QueryNewsRequest request) { return(Service.GetPageListAsync(request)); }
/// <summary> /// 获取分页列表 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <IPageList <NewsResponse> > GetPageListAsync(QueryNewsRequest request) { return(await repository.GetPageListAsync(request)); }