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}; +