From d0e69ef184ca00cd1e3c4db14d9536ac35a4db02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=AE=E5=85=89=EF=BC=9A=E5=9F=8E=E4=B8=AD=E5=9F=8E?= <806783409@qq.com> Date: Wed, 7 Dec 2022 20:24:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=97=AD=E6=BA=90=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E9=A1=B5=E9=9D=A2=E9=A1=BA=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/manage/impl/WikiPageServiceImpl.java | 10 ++++++---- .../mapper/manage/WikiPageContentMapper.xml | 7 ++----- .../main/resources/mapper/manage/WikiPageMapper.xml | 12 +++++++++++- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiPageServiceImpl.java b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiPageServiceImpl.java index e20e1b5a..f4090bd1 100644 --- a/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiPageServiceImpl.java +++ b/zyplayer-doc-data/src/main/java/com/zyplayer/doc/data/service/manage/impl/WikiPageServiceImpl.java @@ -36,23 +36,25 @@ public class WikiPageServiceImpl extends ServiceImpl i @Override public void changeParent(WikiPage wikiPage, Integer beforeSeq, Integer afterSeq) { + WikiPage wikiPageSel = this.getById(wikiPage.getId()); if (beforeSeq != null && beforeSeq >= 0) { // 在此seq之前 - wikiPageMapper.updateAfterSeq(wikiPage.getParentId(), beforeSeq); + wikiPageMapper.updateAfterSeq(wikiPageSel.getSpaceId(), wikiPage.getParentId(), beforeSeq); wikiPage.setSeqNo(beforeSeq); } else if (afterSeq != null && afterSeq >= 0) { // 在此seq之后 - wikiPageMapper.updateAfterSeq(wikiPage.getParentId(), afterSeq + 1); + wikiPageMapper.updateAfterSeq(wikiPageSel.getSpaceId(), wikiPage.getParentId(), afterSeq + 1); wikiPage.setSeqNo(afterSeq + 1); } else { // 放在末尾 - Integer lastSeq = wikiPageMapper.getLastSeq(wikiPage.getParentId()); + Integer lastSeq = wikiPageMapper.getLastSeq(wikiPageSel.getSpaceId(), wikiPage.getParentId()); lastSeq = Optional.ofNullable(lastSeq).orElse(0); wikiPage.setSeqNo(lastSeq + 1); } this.updateById(wikiPage); + // 重置当前分支的所有节点seq值 + wikiPageMapper.updateChildrenSeq(wikiPageSel.getSpaceId(), wikiPage.getParentId()); // 给相关人发送消息 - WikiPage wikiPageSel = this.getById(wikiPage.getId()); DocUserDetails currentUser = DocUserUtil.getCurrentUser(); UserMessage userMessage = userMessageService.createUserMessage(currentUser, wikiPageSel.getId(), wikiPageSel.getName(), DocSysType.WIKI, UserMsgType.WIKI_PAGE_PARENT); userMessage.setAffectUserId(wikiPageSel.getCreateUserId()); diff --git a/zyplayer-doc-data/src/main/resources/mapper/manage/WikiPageContentMapper.xml b/zyplayer-doc-data/src/main/resources/mapper/manage/WikiPageContentMapper.xml index 937b7bb6..76f19542 100644 --- a/zyplayer-doc-data/src/main/resources/mapper/manage/WikiPageContentMapper.xml +++ b/zyplayer-doc-data/src/main/resources/mapper/manage/WikiPageContentMapper.xml @@ -18,11 +18,8 @@ and a.space_id in #{item} - order by a.update_time desc - order by a.create_time desc - order by a.view_num desc - order by a.zan_num desc - order by a.view_num+a.zan_num desc + order by a.update_time desc + limit 15 diff --git a/zyplayer-doc-data/src/main/resources/mapper/manage/WikiPageMapper.xml b/zyplayer-doc-data/src/main/resources/mapper/manage/WikiPageMapper.xml index f4f0cba1..d7264987 100644 --- a/zyplayer-doc-data/src/main/resources/mapper/manage/WikiPageMapper.xml +++ b/zyplayer-doc-data/src/main/resources/mapper/manage/WikiPageMapper.xml @@ -1,5 +1,15 @@ - + + update wiki_page a + join ( + SELECT id, @rownum := @rownum + 1 AS rownum + FROM (SELECT @rownum := 0) t, wiki_page + where parent_id = #{parentId} and space_id = #{spaceId} + ORDER BY seq_no ASC, update_time DESC + ) b on a.id = b.id + set seq_no = b.rownum + where a.parent_id = #{parentId} and a.space_id = #{spaceId}; +