diff --git a/src/main/java/run/halo/app/service/CategoryService.java b/src/main/java/run/halo/app/service/CategoryService.java index 08ebd16fe..e6b42d6e0 100755 --- a/src/main/java/run/halo/app/service/CategoryService.java +++ b/src/main/java/run/halo/app/service/CategoryService.java @@ -100,6 +100,14 @@ public interface CategoryService extends CrudService { @NonNull List listAll(Sort sort, boolean queryEncryptCategory); + /** + * List all category not encrypt. + * + * @param queryEncryptCategory whether to query encryption category + * @return list of category. + */ + List listAll(boolean queryEncryptCategory); + /** * List all by ids * diff --git a/src/main/java/run/halo/app/service/impl/BackupServiceImpl.java b/src/main/java/run/halo/app/service/impl/BackupServiceImpl.java index 30411d13d..22b0646cb 100644 --- a/src/main/java/run/halo/app/service/impl/BackupServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/BackupServiceImpl.java @@ -336,7 +336,7 @@ public class BackupServiceImpl implements BackupService { data.put("version", HaloConst.HALO_VERSION); data.put("export_date", DateUtil.now()); data.put("attachments", attachmentService.listAll()); - data.put("categories", categoryService.listAll()); + data.put("categories", categoryService.listAll(true)); data.put("comment_black_list", commentBlackListService.listAll()); data.put("journals", journalService.listAll()); data.put("journal_comments", journalCommentService.listAll()); diff --git a/src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java b/src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java index 020c61430..0e72b1fe0 100644 --- a/src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java @@ -67,7 +67,7 @@ public class CategoryServiceImpl extends AbstractCrudService private PostService postService; - private AuthenticationService authenticationService; + private final AuthenticationService authenticationService; public CategoryServiceImpl(CategoryRepository categoryRepository, PostCategoryService postCategoryService, @@ -146,7 +146,7 @@ public class CategoryServiceImpl extends AbstractCrudService * * @param parentCategory parent category vo must not be null * @param categories a list of category - * @param fillPassword whether to fill in the password + * @param fillPassword whether to fill in the password */ private void concreteTree( CategoryVO parentCategory, @@ -240,8 +240,8 @@ public class CategoryServiceImpl extends AbstractCrudService public Category getBySlugOfNonNull(String slug) { Category category = categoryRepository - .getBySlug(slug) - .orElseThrow(() -> new NotFoundException("查询不到该分类的信息").setErrorData(slug)); + .getBySlug(slug) + .orElseThrow(() -> new NotFoundException("查询不到该分类的信息").setErrorData(slug)); if (authenticationService.categoryAuthentication(category.getId(), null)) { return category; @@ -291,7 +291,7 @@ public class CategoryServiceImpl extends AbstractCrudService removeById(categoryId); // Remove post categories List affectedPostIdList = postCategoryService.removeByCategoryId(categoryId) - .stream().map(PostCategory::getPostId).collect(Collectors.toList()); + .stream().map(PostCategory::getPostId).collect(Collectors.toList()); refreshPostStatus(affectedPostIdList); } @@ -311,10 +311,10 @@ public class CategoryServiceImpl extends AbstractCrudService post.setStatus(PostStatus.INTIMATE); } else { postCategoryService.listByPostId(postId) - .stream().map(PostCategory::getCategoryId) - .filter(this::categoryHasEncrypt) - .findAny() - .ifPresent(id -> post.setStatus(PostStatus.INTIMATE)); + .stream().map(PostCategory::getCategoryId) + .filter(this::categoryHasEncrypt) + .findAny() + .ifPresent(id -> post.setStatus(PostStatus.INTIMATE)); } if (post.getStatus() == null) { @@ -417,12 +417,12 @@ public class CategoryServiceImpl extends AbstractCrudService * Collect all child from tree * * @param collectorList collector - * @param childrenList contains categories of children + * @param childrenList contains categories of children * @param doNotCollectEncryptedCategory true is not collect, false is collect */ private void collectAllChild(List collectorList, - List childrenList, - Boolean doNotCollectEncryptedCategory) { + List childrenList, + Boolean doNotCollectEncryptedCategory) { if (CollectionUtil.isEmpty(childrenList)) { return; } @@ -451,14 +451,14 @@ public class CategoryServiceImpl extends AbstractCrudService * Collect sub-categories under the specified category. * * @param collectorList collector - * @param childrenList contains categories of children - * @param categoryId category id + * @param childrenList contains categories of children + * @param categoryId category id * @param doNotCollectEncryptedCategory true is not collect, false is collect */ private void collectAllChildByCategoryId(List collectorList, - List childrenList, - Integer categoryId, - Boolean doNotCollectEncryptedCategory) { + List childrenList, + Integer categoryId, + Boolean doNotCollectEncryptedCategory) { if (CollectionUtil.isEmpty(childrenList)) { return; } @@ -481,6 +481,15 @@ public class CategoryServiceImpl extends AbstractCrudService } } + @Override + public List listAll(boolean queryEncryptCategory) { + if (queryEncryptCategory) { + return super.listAll(); + } else { + return this.listAll(); + } + } + @Override public List listAll() { return filterEncryptCategory(super.listAll()); @@ -578,7 +587,7 @@ public class CategoryServiceImpl extends AbstractCrudService List allCategoryList = super.listAll(); Map idToCategoryMap = allCategoryList.stream().collect( - Collectors.toMap(Category::getId, Function.identity())); + Collectors.toMap(Category::getId, Function.identity())); if (doCategoryHasEncrypt(idToCategoryMap, category.getParentId())) { // If the parent category is encrypted, there is no need to update the encryption status @@ -622,7 +631,7 @@ public class CategoryServiceImpl extends AbstractCrudService List allCategoryList = super.listAll(); Map idToCategoryMap = allCategoryList.stream().collect( - Collectors.toMap(Category::getId, Function.identity())); + Collectors.toMap(Category::getId, Function.identity())); return doCategoryHasEncrypt(idToCategoryMap, categoryId); }