From 67cb1621848bce298ab5b644b166f7339ceca63c Mon Sep 17 00:00:00 2001 From: xiaozzzi <42293085+xiaozzzi@users.noreply.github.com> Date: Fri, 5 Apr 2024 01:35:31 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E4=B8=93=E9=A2=98=E6=94=B6=E8=97=8F?= =?UTF-8?q?=E5=BF=AB=E6=8D=B7=E6=93=8D=E4=BD=9C=E4=B8=8E=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/folder/FolderController.java | 14 +++++----- .../backend/server/folder/FolderService.java | 17 +++++------- .../server/folder/pojo/FolderEntity.java | 15 ----------- .../blossom/backend/server/utils/DocUtil.java | 2 +- .../src/renderer/src/components/BLTag.vue | 12 ++------- .../src/views/article/ArticleInfo.vue | 2 +- .../src/views/article/ArticleTreeDocs.vue | 26 ++++++++++++------- .../src/views/doc/doc-tree-detail.scss | 23 ++++++++-------- .../renderer/src/views/doc/doc-tree-detail.ts | 21 +++++++++------ .../src/renderer/src/views/doc/doc-tree.scss | 3 ++- .../renderer/src/views/home/ArticleStars.vue | 2 +- .../src/views/home/ArticleSubjects.vue | 4 +-- .../src/views/picture/PictureTreeDocs.vue | 6 ++--- 13 files changed, 66 insertions(+), 81 deletions(-) diff --git a/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/FolderController.java b/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/FolderController.java index c15f85f..7dfcc45 100644 --- a/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/FolderController.java +++ b/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/FolderController.java @@ -7,9 +7,9 @@ import com.blossom.backend.base.auth.annotation.AuthIgnore; import com.blossom.backend.config.BlConstants; import com.blossom.backend.server.article.draft.pojo.ArticleUpdTagReq; import com.blossom.backend.server.doc.DocService; -import com.blossom.backend.server.doc.DocSortChecker; import com.blossom.backend.server.folder.pojo.*; import com.blossom.backend.server.utils.DocUtil; +import com.blossom.common.base.enums.YesNo; import com.blossom.common.base.exception.XzException404; import com.blossom.common.base.pojo.DelReq; import com.blossom.common.base.pojo.R; @@ -34,7 +34,6 @@ import java.util.Objects; public class FolderController { private final FolderService baseService; private final DocService docService; - private final DocSortChecker docSortChecker; /** * 查询专题列表 [OP] @@ -47,21 +46,24 @@ public class FolderController { if (userId == null) { return R.ok(new ArrayList<>()); } - return R.ok(baseService.subjects(userId, null)); + return R.ok(baseService.subjects(userId, YesNo.YES)); } /** * 查询专题列表 + * + * @param starStatus 公开状态, */ @GetMapping("/subjects") public R> listSubject(@RequestParam("starStatus") Integer starStatus) { - return R.ok(baseService.subjects(AuthContext.getUserId(), starStatus)); + return R.ok(baseService.subjects(AuthContext.getUserId(), YesNo.getValue(starStatus))); } /** - * 星标目录 + * 星标文件夹 * - * @param req 目录对象 + * @param req 目录文件夹 + * @since 1.14.0 */ @PostMapping("/star") public R star(@Validated @RequestBody FolderStarReq req) { diff --git a/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/FolderService.java b/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/FolderService.java index f857859..16119bd 100644 --- a/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/FolderService.java +++ b/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/FolderService.java @@ -12,6 +12,7 @@ import com.blossom.backend.server.folder.pojo.FolderSubjectRes; import com.blossom.backend.server.picture.PictureMapper; import com.blossom.backend.server.picture.pojo.PictureEntity; import com.blossom.backend.server.utils.DocUtil; +import com.blossom.common.base.enums.YesNo; import com.blossom.common.base.exception.XzException400; import com.blossom.common.base.exception.XzException404; import com.blossom.common.base.exception.XzException500; @@ -19,10 +20,10 @@ import com.blossom.common.base.util.DateUtils; import com.blossom.common.base.util.PrimaryKeyUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.lang.Nullable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -51,17 +52,16 @@ public class FolderService extends ServiceImpl { *

4. 相同专题的所有文件夹ID归为一组. *

5. 通过文件夹ID获取到专题下的所有文章, 从而统计文章的总字数, 修改时间, 创建时间等. *

6. 如果文章包含 TOC 标签, 则该文章为专题的目录, 专题的默认跳转会跳转至该目录 + * + * @param userId 用户ID + * @param starStatus 公开状态 */ - public List subjects(Long userId, @Nullable Integer starStatus) { + public List subjects(Long userId, @NotNull YesNo starStatus) { // 1. 查询所有专题 FolderEntity where = new FolderEntity(); where.setTags(TagEnum.subject.name()); where.setUserId(userId); - if (null != starStatus && (starStatus.equals(1) || starStatus.equals(0))) { - where.setStarStatus(starStatus); - } else { - where.setStarStatus(0); - } + where.setStarStatus(starStatus.getValue()); List allOpenSubject = baseMapper.listAll(where); if (CollUtil.isEmpty(allOpenSubject)) { return new ArrayList<>(); @@ -204,9 +204,6 @@ public class FolderService extends ServiceImpl { */ private void updateStorePath(FolderEntity folder) { // 处理文件夹的存储地址 - XzException404.throwBy(folder.getId() == null, "ID不得为空"); - XzException400.throwBy(folder.getId().equals(folder.getPid()), "上级文件夹不能是自己"); - // 如果 if (StrUtil.isNotBlank(folder.getStorePath())) { final FolderEntity oldFolder = selectById(folder.getId()); // 获取所有子文件夹 diff --git a/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/pojo/FolderEntity.java b/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/pojo/FolderEntity.java index cc12697..bdb643f 100644 --- a/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/pojo/FolderEntity.java +++ b/blossom-backend/backend/src/main/java/com/blossom/backend/server/folder/pojo/FolderEntity.java @@ -109,19 +109,4 @@ public class FolderEntity extends AbstractPOJO implements Serializable { private List pids; //endregion - - - @Override - public int hashCode() { - return Long.hashCode(this.getId()); - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof FolderEntity) { - return this.id.equals(((FolderEntity)obj).getId()); - } - return false; - } - } diff --git a/blossom-backend/backend/src/main/java/com/blossom/backend/server/utils/DocUtil.java b/blossom-backend/backend/src/main/java/com/blossom/backend/server/utils/DocUtil.java index 4664ade..cc41c4d 100644 --- a/blossom-backend/backend/src/main/java/com/blossom/backend/server/utils/DocUtil.java +++ b/blossom-backend/backend/src/main/java/com/blossom/backend/server/utils/DocUtil.java @@ -148,7 +148,7 @@ public class DocUtil { tree.setS(folder.getSort()); tree.setN(folder.getName()); tree.setSp(folder.getStorePath()); - tree.setStar(0); + tree.setStar(folder.getStarStatus()); tree.setTy(folder.getType()); tree.setIcon(folder.getIcon()); if (StrUtil.isBlank(folder.getTags())) { diff --git a/blossom-editor/src/renderer/src/components/BLTag.vue b/blossom-editor/src/renderer/src/components/BLTag.vue index 90b6fe5..de9e3a2 100644 --- a/blossom-editor/src/renderer/src/components/BLTag.vue +++ b/blossom-editor/src/renderer/src/components/BLTag.vue @@ -8,7 +8,7 @@ fontWeight: props.weight }"> - + @@ -16,10 +16,6 @@