组件化、移动模块提交
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.zyplayer.doc.wiki.controller;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.zyplayer.doc.core.annotation.AuthMan;
|
||||
@@ -10,6 +11,7 @@ import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.*;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageContentMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.mapper.WikiPageMapper;
|
||||
import com.zyplayer.doc.data.repository.manage.param.SearchByEsParam;
|
||||
import com.zyplayer.doc.data.repository.manage.vo.SpaceNewsVo;
|
||||
import com.zyplayer.doc.data.repository.support.consts.DocSysType;
|
||||
@@ -65,6 +67,8 @@ public class WikiPageController {
|
||||
private final WikiPageUploadService wikipageUploadService;
|
||||
private final UserMessageService userMessageService;
|
||||
private final WikiPageHistoryService wikiPageHistoryService;
|
||||
private final WikiPageMapper wikiPageMapper;
|
||||
private final WikiPageCommentService wikiPageCommentService;
|
||||
|
||||
|
||||
|
||||
@@ -204,6 +208,127 @@ public class WikiPageController {
|
||||
return DocResponseJson.warn("状态异常");
|
||||
}
|
||||
|
||||
public boolean isLassoDoll(WikiPage wikiPage, String moveToPageId){
|
||||
if (!"".equals(moveToPageId)){
|
||||
long tatrgetId = Long.parseLong(moveToPageId);
|
||||
if (wikiPage.getId().equals(tatrgetId)){
|
||||
return true;
|
||||
}
|
||||
UpdateWrapper<WikiPage> wrapper = new UpdateWrapper<>();
|
||||
wrapper.eq("parent_id", wikiPage.getId());
|
||||
wrapper.eq("space_id", wikiPage.getSpaceId());
|
||||
//处理子节点也需要进行移动
|
||||
List<WikiPage> wikiPageList = wikiPageService.list(wrapper);
|
||||
for (WikiPage page : wikiPageList) {
|
||||
if(isLassoDoll(page,moveToPageId)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@PostMapping("/move")
|
||||
public ResponseJson<Object> move(WikiPage wikiPage, String moveToPageId, String moveToSpaceId) {
|
||||
if (isLassoDoll(wikiPage,moveToPageId)){
|
||||
return DocResponseJson.warn("禁止无限套娃,不能移动自己到自己或自己的子节点下");
|
||||
}
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
//获取原page信息
|
||||
WikiPage wikiPageSel = wikiPageService.getById(wikiPage.getId());
|
||||
wikiPageSel.setSpaceId(Long.parseLong(moveToSpaceId));
|
||||
wikiPageSel.setParentId(Long.parseLong(moveToPageId));
|
||||
wikiPageSel.setUpdateTime(new Date());
|
||||
wikiPageSel.setUpdateUserId(currentUser.getUserId());
|
||||
wikiPageSel.setUpdateUserName(currentUser.getUsername());
|
||||
wikiPageService.updateById(wikiPageSel);
|
||||
UpdateWrapper<WikiPage> wrapper = new UpdateWrapper<>();
|
||||
wrapper.eq("parent_id", wikiPage.getId());
|
||||
wrapper.eq("space_id", wikiPage.getSpaceId());
|
||||
//处理子节点也需要进行移动
|
||||
List<WikiPage> wikiPageList = wikiPageService.list(wrapper);
|
||||
for (WikiPage page : wikiPageList) {
|
||||
move(page,wikiPageSel.getId()+"",moveToSpaceId);
|
||||
}
|
||||
// 给相关人发送消息
|
||||
UserMessage userMessage = userMessageService.createUserMessage(currentUser, wikiPageSel.getId(), wikiPageSel.getName(), DocSysType.WIKI, UserMsgType.WIKI_PAGE_MOVE);
|
||||
userMessageService.addWikiMessage(userMessage);
|
||||
return DocResponseJson.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/copy")
|
||||
public ResponseJson<Object> copy(WikiPage wikiPage, String moveToPageId, String moveToSpaceId) {
|
||||
if (isLassoDoll(wikiPage,moveToPageId)){
|
||||
return DocResponseJson.warn("禁止无限套娃,不能移动自己到自己或自己的子节点下");
|
||||
}
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
//获取原page信息
|
||||
WikiPage wikiPageSel = wikiPageService.getById(wikiPage.getId());
|
||||
Integer lastSeq = wikiPageMapper.getLastSeq(wikiPage.getSpaceId(), Long.parseLong(moveToPageId));
|
||||
lastSeq = Optional.ofNullable(lastSeq).orElse(99999);
|
||||
wikiPageSel.setSeqNo(lastSeq + 1);
|
||||
wikiPageSel.setId(null);
|
||||
wikiPageSel.setSpaceId(Long.parseLong(moveToSpaceId));
|
||||
wikiPageSel.setParentId(Long.parseLong(moveToPageId));
|
||||
wikiPageSel.setCreateTime(new Date());
|
||||
wikiPageSel.setUpdateTime(new Date());
|
||||
wikiPageSel.setCreateUserId(currentUser.getUserId());
|
||||
wikiPageSel.setCreateUserName(currentUser.getUsername());
|
||||
wikiPageService.save(wikiPageSel);
|
||||
// 重置当前分支的所有节点seq值
|
||||
wikiPageMapper.updateChildrenSeq(wikiPage.getSpaceId(), Long.parseLong(moveToPageId));
|
||||
// 详情处理
|
||||
UpdateWrapper<WikiPageContent> wrapper = new UpdateWrapper<>();
|
||||
wrapper.eq("page_id", wikiPage.getId());
|
||||
WikiPageContent pageContent = wikiPageContentService.getOne(wrapper);
|
||||
pageContent.setId(null);
|
||||
pageContent.setPageId(wikiPageSel.getId());
|
||||
pageContent.setCreateTime(new Date());
|
||||
pageContent.setCreateUserId(currentUser.getUserId());
|
||||
pageContent.setCreateUserName(currentUser.getUsername());
|
||||
wikiPageContentService.save(pageContent);
|
||||
//文件
|
||||
UpdateWrapper<WikiPageFile> wrapperFile = new UpdateWrapper<>();
|
||||
wrapperFile.eq("page_id", wikiPageSel.getId());
|
||||
List<WikiPageFile> pageFiles = wikiPageFileService.list(wrapperFile);
|
||||
for (WikiPageFile pageFile : pageFiles) {
|
||||
pageFile.setId(null);
|
||||
pageFile.setUuid(IdUtil.simpleUUID());
|
||||
pageFile.setPageId(wikiPageSel.getId());
|
||||
wikiPageFileService.save(pageFile);
|
||||
}
|
||||
//点赞
|
||||
UpdateWrapper<WikiPageZan> wrapperZan = new UpdateWrapper<>();
|
||||
wrapperZan.eq("page_id", wikiPage.getId());
|
||||
List<WikiPageZan> list = wikiPageZanService.list(wrapperZan);
|
||||
for (WikiPageZan wikiPageZan : list) {
|
||||
wikiPageZan.setId(null);
|
||||
wikiPageZan.setPageId(wikiPageSel.getId());
|
||||
wikiPageZanService.save(wikiPageZan);
|
||||
}
|
||||
//评论
|
||||
UpdateWrapper<WikiPageComment> commentWrapper = new UpdateWrapper<>();
|
||||
commentWrapper.eq("page_id", wikiPageSel.getId());
|
||||
List<WikiPageComment> pageCommentList = wikiPageCommentService.list(commentWrapper);
|
||||
for (WikiPageComment wikiPageComment : pageCommentList) {
|
||||
wikiPageComment.setId(null);
|
||||
wikiPageComment.setPageId(wikiPageSel.getId());
|
||||
wikiPageCommentService.save(wikiPageComment);
|
||||
}
|
||||
//处理子节点也需要进行复制
|
||||
UpdateWrapper<WikiPage> childWrapper = new UpdateWrapper<>();
|
||||
childWrapper.eq("parent_id", wikiPage.getId());
|
||||
childWrapper.eq("space_id", wikiPage.getSpaceId());
|
||||
List<WikiPage> wikiPageList = wikiPageService.list(childWrapper);
|
||||
for (WikiPage page : wikiPageList) {
|
||||
copy(page,wikiPageSel.getId()+"",moveToSpaceId);
|
||||
}
|
||||
// 给相关人发送消息
|
||||
UserMessage userMessage = userMessageService.createUserMessage(currentUser, wikiPageSel.getId(), wikiPageSel.getName(), DocSysType.WIKI, UserMsgType.WIKI_PAGE_COPY);
|
||||
userMessageService.addWikiMessage(userMessage);
|
||||
return DocResponseJson.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/rename")
|
||||
public ResponseJson<Object> rename(WikiPage wikiPage) {
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
|
||||
25
zyplayer-doc-wiki/src/main/resources/dist/assets/main-ab18a781.js
vendored
Normal file
25
zyplayer-doc-wiki/src/main/resources/dist/assets/main-ab18a781.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -5,11 +5,11 @@
|
||||
<link rel="icon" href="./wiki-logo.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>WIKI文档管理系统</title>
|
||||
<script type="module" crossorigin src="./assets/main-d3dcc9fd.js"></script>
|
||||
<script type="module" crossorigin src="./assets/main-ab18a781.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="./assets/highlight.js-1b0b64aa.js">
|
||||
<link rel="modulepreload" crossorigin href="./assets/vue-650a4d10.js">
|
||||
<link rel="modulepreload" crossorigin href="./assets/vendor-da57f401.js">
|
||||
<link rel="modulepreload" crossorigin href="./assets/vant-e9a202b4.js">
|
||||
<link rel="modulepreload" crossorigin href="./assets/vendor-d51e6ee8.js">
|
||||
<link rel="modulepreload" crossorigin href="./assets/vant-a2f25ba3.js">
|
||||
<link rel="modulepreload" crossorigin href="./assets/wangeditor-564d5916.js">
|
||||
<link rel="stylesheet" href="./assets/style.13e54fdd.css">
|
||||
</head>
|
||||
|
||||
Reference in New Issue
Block a user