diff --git a/src/main/java/run/halo/app/controller/content/model/CategoryModel.java b/src/main/java/run/halo/app/controller/content/model/CategoryModel.java index fd889dded..b1381cf1d 100644 --- a/src/main/java/run/halo/app/controller/content/model/CategoryModel.java +++ b/src/main/java/run/halo/app/controller/content/model/CategoryModel.java @@ -53,7 +53,7 @@ public class CategoryModel { final Category category = categoryService.getBySlugOfNonNull(slug); CategoryDTO categoryDTO = categoryService.convertTo(category); - final Pageable pageable = PageRequest.of(page - 1, optionService.getPostPageSize(), Sort.by(DESC, "createTime")); + final Pageable pageable = PageRequest.of(page - 1, optionService.getArchivesPageSize(), Sort.by(DESC, "createTime")); Page postPage = postCategoryService.pagePostBy(category.getId(), PostStatus.PUBLISHED, pageable); Page posts = postService.convertToListVo(postPage); diff --git a/src/main/java/run/halo/app/controller/content/model/PostModel.java b/src/main/java/run/halo/app/controller/content/model/PostModel.java index 3f1189310..18a3c1795 100644 --- a/src/main/java/run/halo/app/controller/content/model/PostModel.java +++ b/src/main/java/run/halo/app/controller/content/model/PostModel.java @@ -163,7 +163,7 @@ public class PostModel { } public String archives(Integer page, Model model) { - int pageSize = optionService.getPostPageSize(); + int pageSize = optionService.getArchivesPageSize(); Pageable pageable = PageRequest .of(page >= 1 ? page - 1 : page, pageSize, Sort.by(Sort.Direction.DESC, "createTime")); diff --git a/src/main/java/run/halo/app/controller/content/model/TagModel.java b/src/main/java/run/halo/app/controller/content/model/TagModel.java index f68e417df..76ddba286 100644 --- a/src/main/java/run/halo/app/controller/content/model/TagModel.java +++ b/src/main/java/run/halo/app/controller/content/model/TagModel.java @@ -53,7 +53,7 @@ public class TagModel { final Tag tag = tagService.getBySlugOfNonNull(slug); TagDTO tagDTO = tagService.convertTo(tag); - final Pageable pageable = PageRequest.of(page - 1, optionService.getPostPageSize(), Sort.by(DESC, "createTime")); + final Pageable pageable = PageRequest.of(page - 1, optionService.getArchivesPageSize(), Sort.by(DESC, "createTime")); Page postPage = postTagService.pagePostsBy(tag.getId(), PostStatus.PUBLISHED, pageable); Page posts = postService.convertToListVo(postPage); diff --git a/src/main/java/run/halo/app/model/properties/PostProperties.java b/src/main/java/run/halo/app/model/properties/PostProperties.java index 5b7146dd6..854ef95d9 100644 --- a/src/main/java/run/halo/app/model/properties/PostProperties.java +++ b/src/main/java/run/halo/app/model/properties/PostProperties.java @@ -4,7 +4,8 @@ package run.halo.app.model.properties; * Post properties. * * @author johnniang - * @date 4/1/19 + * @author ryanwang + * @date 2019-04-01 */ public enum PostProperties implements PropertyEnum { @@ -28,6 +29,11 @@ public enum PostProperties implements PropertyEnum { */ INDEX_PAGE_SIZE("post_index_page_size", Integer.class, "10"), + /** + * Archives page size. + */ + ARCHIVES_PAGE_SIZE("post_archives_page_size", Integer.class, "10"), + /** * Post index sort. */ diff --git a/src/main/java/run/halo/app/service/OptionService.java b/src/main/java/run/halo/app/service/OptionService.java index af8cb5bc2..6044435fc 100755 --- a/src/main/java/run/halo/app/service/OptionService.java +++ b/src/main/java/run/halo/app/service/OptionService.java @@ -33,6 +33,8 @@ public interface OptionService extends CrudService { int DEFAULT_POST_PAGE_SIZE = 10; + int DEFAULT_ARCHIVES_PAGE_SIZE = 10; + int DEFAULT_COMMENT_PAGE_SIZE = 10; int DEFAULT_RSS_PAGE_SIZE = 20; @@ -299,6 +301,13 @@ public interface OptionService extends CrudService { */ int getPostPageSize(); + /** + * Gets archives page size. + * + * @return page size + */ + int getArchivesPageSize(); + /** * Gets comment page size. * diff --git a/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java b/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java index d948bf76f..853b227d6 100644 --- a/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java @@ -43,6 +43,7 @@ import java.util.stream.Collectors; * OptionService implementation class * * @author ryanwang + * @author johnniang * @date 2019-03-14 */ @Slf4j @@ -365,13 +366,23 @@ public class OptionServiceImpl extends AbstractCrudService impl @Override public int getPostPageSize() { try { - return getByPropertyOrDefault(PostProperties.INDEX_PAGE_SIZE, Integer.class, DEFAULT_COMMENT_PAGE_SIZE); + return getByPropertyOrDefault(PostProperties.INDEX_PAGE_SIZE, Integer.class, DEFAULT_POST_PAGE_SIZE); } catch (NumberFormatException e) { log.error(PostProperties.INDEX_PAGE_SIZE.getValue() + " option is not a number format", e); return DEFAULT_POST_PAGE_SIZE; } } + @Override + public int getArchivesPageSize() { + try { + return getByPropertyOrDefault(PostProperties.ARCHIVES_PAGE_SIZE, Integer.class, DEFAULT_ARCHIVES_PAGE_SIZE); + } catch (NumberFormatException e) { + log.error(PostProperties.ARCHIVES_PAGE_SIZE.getValue() + " option is not a number format", e); + return DEFAULT_POST_PAGE_SIZE; + } + } + @Override public int getCommentPageSize() { try { @@ -385,7 +396,7 @@ public class OptionServiceImpl extends AbstractCrudService impl @Override public int getRssPageSize() { try { - return getByPropertyOrDefault(PostProperties.RSS_PAGE_SIZE, Integer.class, DEFAULT_COMMENT_PAGE_SIZE); + return getByPropertyOrDefault(PostProperties.RSS_PAGE_SIZE, Integer.class, DEFAULT_RSS_PAGE_SIZE); } catch (NumberFormatException e) { log.error(PostProperties.RSS_PAGE_SIZE.getValue() + " setting is not a number format", e); return DEFAULT_RSS_PAGE_SIZE;