提交 8c32aa4e 作者: yanxin

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

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