| 
														
															@@ -1,5 +1,4 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-using AutoMapper.QueryableExtensions; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-using EFSecondLevelCache.Core; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+using EFSecondLevelCache.Core; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using Masuit.LuceneEFCore.SearchEngine.Linq; 
														 | 
														
														 | 
														
															 using Masuit.LuceneEFCore.SearchEngine.Linq; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using Masuit.MyBlogs.Core.Extensions; 
														 | 
														
														 | 
														
															 using Masuit.MyBlogs.Core.Extensions; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using Masuit.MyBlogs.Core.Infrastructure.Services.Interface; 
														 | 
														
														 | 
														
															 using Masuit.MyBlogs.Core.Infrastructure.Services.Interface; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -7,7 +6,6 @@ using Masuit.MyBlogs.Core.Models.DTO; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using Masuit.MyBlogs.Core.Models.Entity; 
														 | 
														
														 | 
														
															 using Masuit.MyBlogs.Core.Models.Entity; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using Masuit.MyBlogs.Core.Models.Enum; 
														 | 
														
														 | 
														
															 using Masuit.MyBlogs.Core.Models.Enum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using Masuit.MyBlogs.Core.Models.ViewModel; 
														 | 
														
														 | 
														
															 using Masuit.MyBlogs.Core.Models.ViewModel; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-using Masuit.Tools; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using Masuit.Tools.Systems; 
														 | 
														
														 | 
														
															 using Masuit.Tools.Systems; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using Microsoft.AspNetCore.Mvc; 
														 | 
														
														 | 
														
															 using Microsoft.AspNetCore.Mvc; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 using System; 
														 | 
														
														 | 
														
															 using System; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -58,7 +56,6 @@ namespace Masuit.MyBlogs.Core.Controllers 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var fastShares = FastShareService.GetAllFromCache(s => s.Sort).ToList(); 
														 | 
														
														 | 
														
															             var fastShares = FastShareService.GetAllFromCache(s => s.Sort).ToList(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var postsQuery = PostService.GetQuery<PostOutputDto>(p => (p.Status == Status.Pended || CurrentUser.IsAdmin)); //准备文章的查询 
														 | 
														
														 | 
														
															             var postsQuery = PostService.GetQuery<PostOutputDto>(p => (p.Status == Status.Pended || CurrentUser.IsAdmin)); //准备文章的查询 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var posts = postsQuery.Where(p => !p.IsFixedTop).OrderBy(OrderBy.ModifyDate.GetDisplay() + " desc").Take(15).Cacheable().ToList(); 
														 | 
														
														 | 
														
															             var posts = postsQuery.Where(p => !p.IsFixedTop).OrderBy(OrderBy.ModifyDate.GetDisplay() + " desc").Take(15).Cacheable().ToList(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var viewModel = GetIndexPageViewModel(); 
														 | 
														
														 | 
														
															             var viewModel = GetIndexPageViewModel(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             viewModel.Banner = banners; 
														 | 
														
														 | 
														
															             viewModel.Banner = banners; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             viewModel.Posts = Enumerable.AsEnumerable(postsQuery.Where(p => p.IsFixedTop).OrderByDescending(p => p.ModifyDate)).Union(posts).ToList(); 
														 | 
														
														 | 
														
															             viewModel.Posts = Enumerable.AsEnumerable(postsQuery.Where(p => p.IsFixedTop).OrderByDescending(p => p.ModifyDate)).Union(posts).ToList(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -79,7 +76,6 @@ namespace Masuit.MyBlogs.Core.Controllers 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ViewBag.Total = PostService.Count(p => p.Status == Status.Pended || CurrentUser.IsAdmin && !p.IsFixedTop); 
														 | 
														
														 | 
														
															             ViewBag.Total = PostService.Count(p => p.Status == Status.Pended || CurrentUser.IsAdmin && !p.IsFixedTop); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var viewModel = GetIndexPageViewModel(); 
														 | 
														
														 | 
														
															             var viewModel = GetIndexPageViewModel(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var postsQuery = PostService.GetQuery<PostOutputDto>(p => (p.Status == Status.Pended || CurrentUser.IsAdmin)); //准备文章的查询 
														 | 
														
														 | 
														
															             var postsQuery = PostService.GetQuery<PostOutputDto>(p => (p.Status == Status.Pended || CurrentUser.IsAdmin)); //准备文章的查询 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var posts = postsQuery.Where(p => !p.IsFixedTop).OrderBy((orderBy ?? OrderBy.ModifyDate).GetDisplay() + " desc").Skip(size * (page - 1)).Take(size).Cacheable().ToList(); 
														 | 
														
														 | 
														
															             var posts = postsQuery.Where(p => !p.IsFixedTop).OrderBy((orderBy ?? OrderBy.ModifyDate).GetDisplay() + " desc").Skip(size * (page - 1)).Take(size).Cacheable().ToList(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (page == 1) 
														 | 
														
														 | 
														
															             if (page == 1) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             { 
														 | 
														
														 | 
														
															             { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -145,10 +141,10 @@ namespace Masuit.MyBlogs.Core.Controllers 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         public async Task<ActionResult> Category(int id, [Optional]OrderBy? orderBy, [Range(1, int.MaxValue, ErrorMessage = "页码必须大于0")]int page = 1, [Range(1, int.MaxValue, ErrorMessage = "页大小必须大于0")]int size = 15) 
														 | 
														
														 | 
														
															         public async Task<ActionResult> Category(int id, [Optional]OrderBy? orderBy, [Range(1, int.MaxValue, ErrorMessage = "页码必须大于0")]int page = 1, [Range(1, int.MaxValue, ErrorMessage = "页大小必须大于0")]int size = 15) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         { 
														 | 
														
														 | 
														
															         { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var cat = await CategoryService.GetByIdAsync(id) ?? throw new NotFoundException("文章分类未找到"); 
														 | 
														
														 | 
														
															             var cat = await CategoryService.GetByIdAsync(id) ?? throw new NotFoundException("文章分类未找到"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            var posts = PostService.GetQueryNoTracking(p => p.CategoryId == cat.Id && (p.Status == Status.Pended || CurrentUser.IsAdmin)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            var posts = PostService.GetQuery<PostOutputDto>(p => p.CategoryId == cat.Id && (p.Status == Status.Pended || CurrentUser.IsAdmin)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ViewBag.Total = posts.Count(); 
														 | 
														
														 | 
														
															             ViewBag.Total = posts.Count(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             var viewModel = GetIndexPageViewModel(); 
														 | 
														
														 | 
														
															             var viewModel = GetIndexPageViewModel(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            viewModel.Posts = posts.OrderBy($"{nameof(PostOutputDto.IsFixedTop)} desc,{(orderBy ?? OrderBy.ModifyDate).GetDisplay()} desc").Skip(size * (page - 1)).Take(size).ProjectTo<PostOutputDto>(MapperConfig).Cacheable().ToList(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            viewModel.Posts = posts.OrderBy($"{nameof(PostOutputDto.IsFixedTop)} desc,{(orderBy ?? OrderBy.ModifyDate).GetDisplay()} desc").Skip(size * (page - 1)).Take(size).Cacheable().ToList(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ViewBag.CategoryName = cat.Name; 
														 | 
														
														 | 
														
															             ViewBag.CategoryName = cat.Name; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ViewBag.Desc = cat.Description; 
														 | 
														
														 | 
														
															             ViewBag.Desc = cat.Description; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return View(viewModel); 
														 | 
														
														 | 
														
															             return View(viewModel); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -157,7 +153,6 @@ namespace Masuit.MyBlogs.Core.Controllers 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /// <summary> 
														 | 
														
														 | 
														
															         /// <summary> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /// 获取页面视图模型 
														 | 
														
														 | 
														
															         /// 获取页面视图模型 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /// </summary> 
														 | 
														
														 | 
														
															         /// </summary> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        /// <param name="user"></param> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         /// <returns></returns> 
														 | 
														
														 | 
														
															         /// <returns></returns> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         private IndexPageViewModel GetIndexPageViewModel() 
														 | 
														
														 | 
														
															         private IndexPageViewModel GetIndexPageViewModel() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         { 
														 | 
														
														 | 
														
															         { 
														 |