From 437e59d8a20403be6f71469f2a4b5f930ab963b1 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Thu, 12 Mar 2020 14:43:16 +0800 Subject: [PATCH] refactor: post month path type. (#635) --- .../service/impl/PostCommentServiceImpl.java | 32 ++++++++++++------- .../app/service/impl/PostServiceImpl.java | 14 ++++++-- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/main/java/run/halo/app/service/impl/PostCommentServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostCommentServiceImpl.java index 5506c810a..6f78f7784 100644 --- a/src/main/java/run/halo/app/service/impl/PostCommentServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/PostCommentServiceImpl.java @@ -104,13 +104,21 @@ public class PostCommentServiceImpl extends BaseCommentServiceImpl }).collect(Collectors.toList()); } - private BasePostMinimalDTO buildPostFullPath(BasePostMinimalDTO basePostMinimalDTO) { + private BasePostMinimalDTO buildPostFullPath(BasePostMinimalDTO post) { PostPermalinkType permalinkType = optionService.getPostPermalinkType(); String pathSuffix = optionService.getPathSuffix(); String archivesPrefix = optionService.getArchivesPrefix(); + int month = DateUtil.month(post.getCreateTime()) + 1; + + String monthString = month < 10 ? "0" + month : String.valueOf(month); + + int day = DateUtil.dayOfMonth(post.getCreateTime()); + + String dayString = day < 10 ? "0" + day : String.valueOf(day); + StringBuilder fullPath = new StringBuilder(); if (optionService.isEnabledAbsolutePath()) { @@ -122,32 +130,32 @@ public class PostCommentServiceImpl extends BaseCommentServiceImpl if (permalinkType.equals(PostPermalinkType.DEFAULT)) { fullPath.append(archivesPrefix) .append("/") - .append(basePostMinimalDTO.getSlug()) + .append(post.getSlug()) .append(pathSuffix); } else if (permalinkType.equals(PostPermalinkType.ID)) { fullPath.append("?p=") - .append(basePostMinimalDTO.getId()); + .append(post.getId()); } else if (permalinkType.equals(PostPermalinkType.DATE)) { - fullPath.append(DateUtil.year(basePostMinimalDTO.getCreateTime())) + fullPath.append(DateUtil.year(post.getCreateTime())) .append("/") - .append(DateUtil.month(basePostMinimalDTO.getCreateTime()) + 1) + .append(monthString) .append("/") - .append(basePostMinimalDTO.getSlug()) + .append(post.getSlug()) .append(pathSuffix); } else if (permalinkType.equals(PostPermalinkType.DAY)) { - fullPath.append(DateUtil.year(basePostMinimalDTO.getCreateTime())) + fullPath.append(DateUtil.year(post.getCreateTime())) .append("/") - .append(DateUtil.month(basePostMinimalDTO.getCreateTime()) + 1) + .append(monthString) .append("/") - .append(DateUtil.dayOfMonth(basePostMinimalDTO.getCreateTime())) + .append(dayString) .append("/") - .append(basePostMinimalDTO.getSlug()) + .append(post.getSlug()) .append(pathSuffix); } - basePostMinimalDTO.setFullPath(fullPath.toString()); + post.setFullPath(fullPath.toString()); - return basePostMinimalDTO; + return post; } @Override diff --git a/src/main/java/run/halo/app/service/impl/PostServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostServiceImpl.java index cb92da24b..59a55f8a5 100644 --- a/src/main/java/run/halo/app/service/impl/PostServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/PostServiceImpl.java @@ -871,6 +871,14 @@ public class PostServiceImpl extends BasePostServiceImpl implements PostSe String archivesPrefix = optionService.getArchivesPrefix(); + int month = DateUtil.month(post.getCreateTime()) + 1; + + String monthString = month < 10 ? "0" + month : String.valueOf(month); + + int day = DateUtil.dayOfMonth(post.getCreateTime()); + + String dayString = day < 10 ? "0" + day : String.valueOf(day); + StringBuilder fullPath = new StringBuilder(); if (optionService.isEnabledAbsolutePath()) { @@ -890,16 +898,16 @@ public class PostServiceImpl extends BasePostServiceImpl implements PostSe } else if (permalinkType.equals(PostPermalinkType.DATE)) { fullPath.append(DateUtil.year(post.getCreateTime())) .append("/") - .append(DateUtil.month(post.getCreateTime()) + 1) + .append(monthString) .append("/") .append(post.getSlug()) .append(pathSuffix); } else if (permalinkType.equals(PostPermalinkType.DAY)) { fullPath.append(DateUtil.year(post.getCreateTime())) .append("/") - .append(DateUtil.month(post.getCreateTime()) + 1) + .append(monthString) .append("/") - .append(DateUtil.dayOfMonth(post.getCreateTime())) + .append(dayString) .append("/") .append(post.getSlug()) .append(pathSuffix);