提交 8c32aa4e 作者: yanxin

个人素材支持树形结构分组

上级 2ec9fc32
......@@ -10,6 +10,7 @@ import com.zzsn.knowbase.service.KbKnowledgeProjectService;
import com.zzsn.knowbase.util.AuthUtil;
import com.zzsn.knowbase.util.ExcelExportUtil;
import com.zzsn.knowbase.util.SpringContextUtils;
import com.zzsn.knowbase.util.tree.Node;
import com.zzsn.knowbase.vo.KnowledgeParam;
import com.zzsn.knowbase.vo.KnowledgeVO;
import com.zzsn.knowbase.vo.Result;
......@@ -58,13 +59,20 @@ public class KnowledgeUserController {
if(loginUser == null){
return Result.error("用户未登录!");
}
if(StringUtils.isEmpty(knowledgeProject.getPid())||"0".equals(knowledgeProject.getPid())){
//未指定时设置为用户根目录
knowledgeProject.setPid(loginUser.getId());
knowledgeProject.setFullPath(loginUser.getId());
}else{
knowledgeProject.setFullPath(knowledgeProjectService.getById(knowledgeProject.getPid()).getFullPath());
}
knowledgeProject.setHasChild("0");
knowledgeProject.setCategory(Constants.SC_CATEGORY);
knowledgeProject.setCreateTime(new Date());
log.info("新增用户分组:{}", knowledgeProject);
knowledgeProjectService.save(knowledgeProject);
knowledgeProject.setFullPath(loginUser.getId() + "," + knowledgeProject.getId());
knowledgeProject.setFullPath(knowledgeProject.getFullPath() + "," + knowledgeProject.getId());
knowledgeProjectService.updateById(knowledgeProject);
return Result.OK("保存成功!");
}
......@@ -78,7 +86,8 @@ public class KnowledgeUserController {
return Result.error("用户未登录!");
}
List<KbKnowledgeProject> list = knowledgeProjectService.listByUserId(loginUser.getId());
return Result.OK(list);
List<Node> treeList = knowledgeProjectService.treeGroup(list,loginUser.getId());
return Result.OK(treeList);
}
/**
* 查询用户分组
......@@ -93,13 +102,14 @@ public class KnowledgeUserController {
if(byId == null || !loginUser.getId().equals(byId.getPid())){
return Result.error("分类不存在!");
}
//编辑仅允许修改分组名
byId.setTypeName(knowledgeProject.getTypeName());
log.info("编辑用户分组:{}", byId);
knowledgeProjectService.updateById(byId);
return Result.OK("编辑成功!");
}
/**
* 查询用户分组
* 删除用户分组
*/
@DeleteMapping(value = "/group/delete")
public Result<?> groupDelete(String id) {
......@@ -108,7 +118,7 @@ public class KnowledgeUserController {
return Result.error("用户未登录!");
}
KbKnowledgeProject byId = knowledgeProjectService.getById(id);
if(byId == null || !loginUser.getId().equals(byId.getPid())){
if(byId == null || !byId.getFullPath().contains(loginUser.getId())){
return Result.error("分类不存在!");
}
log.info("删除用户分组:{}", byId);
......
......@@ -3,6 +3,7 @@ package com.zzsn.knowbase.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.knowbase.entity.KbAuthuserKnowledgeprojectMap;
import com.zzsn.knowbase.entity.KbKnowledgeProject;
import com.zzsn.knowbase.util.tree.Node;
import com.zzsn.knowbase.vo.Result;
import java.util.List;
......@@ -51,4 +52,6 @@ public interface KbKnowledgeProjectService extends IService<KbKnowledgeProject>
List<KbKnowledgeProject> listByUserId(String userid);
List<KbKnowledgeProject> getUserList();
List<Node> treeGroup(List<KbKnowledgeProject> list, String rootId);
}
......@@ -13,6 +13,8 @@ import com.zzsn.knowbase.mapper.KbKnowledgeProjectMapper;
import com.zzsn.knowbase.mapper.KbUserRoleMapMapper;
import com.zzsn.knowbase.service.*;
import com.zzsn.knowbase.util.SpringContextUtils;
import com.zzsn.knowbase.util.tree.Node;
import com.zzsn.knowbase.util.tree.TreeUtil;
import com.zzsn.knowbase.vo.Result;
import com.zzsn.knowbase.vo.UserKnowPermissionVo;
import org.apache.commons.lang3.ObjectUtils;
......@@ -360,7 +362,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
@Override
public List<KbKnowledgeProject> listByUserId(String userid) {
LambdaQueryWrapper<KbKnowledgeProject> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(KbKnowledgeProject::getPid,userid);
queryWrapper.like(KbKnowledgeProject::getFullPath,userid);
queryWrapper.orderByDesc(KbKnowledgeProject::getCreateBy);
return this.list(queryWrapper);
}
......@@ -371,6 +373,19 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
return kbKnowledgeProjectMapper.getListByUser(userIds);
}
@Override
public List<Node> treeGroup(List<KbKnowledgeProject> list, String rootId) {
List<Node> treeList = new ArrayList<>();
for (KbKnowledgeProject project : list) {
Node node = new Node();
node.setId(project.getId());
node.setName(project.getTypeName());
node.setPid(project.getPid());
treeList.add(node);
}
return TreeUtil.tree(treeList, rootId);
}
/**
* 根据所传pid查询旧的父级节点的子节点并修改相应状态值
* @param pid
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论