|
@@ -7,6 +7,7 @@ import com.redxun.common.base.db.BaseDao;
|
|
|
import com.redxun.common.base.db.BaseService;
|
|
|
import com.redxun.common.base.db.PageHelper;
|
|
|
import com.redxun.common.base.search.QueryFilter;
|
|
|
+import com.redxun.common.model.JPaasUser;
|
|
|
import com.redxun.common.service.impl.SuperServiceImpl;
|
|
|
import com.redxun.common.tool.BeanUtil;
|
|
|
import com.redxun.common.tool.IdGenerator;
|
|
@@ -82,7 +83,7 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
if (knowledgeCategory != null) {
|
|
|
BeanUtils.copyProperties(knowledgeCategory, knowledgeCategoryAdminVo);
|
|
|
}
|
|
|
- List<KnowledgeCategoryAdminVo> childrens = findChildrens(knowledgeCategoryAdminVo);
|
|
|
+ List<KnowledgeCategoryAdminVo> childrens = findChildrens(knowledgeCategoryAdminVo,null);
|
|
|
knowledgeCategoryAdminVo.setChildren(childrens);
|
|
|
return knowledgeCategoryAdminVo;
|
|
|
}
|
|
@@ -95,6 +96,8 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
*/
|
|
|
public IPage findAllKnowledgeCategory(QueryFilter filter) {
|
|
|
Map<String, Object> params = PageHelper.constructParams(filter);
|
|
|
+ String userId = userService.queryLoginUser();
|
|
|
+ filter.getParams().put("userId",userId);
|
|
|
IPage page = knowledgeCategoryMapper.findAllKnowledgeCategory(filter.getPage(), filter.getParams(), params);
|
|
|
List<KnowledgeCategoryAdminVo> knowledgeCategoryList = page.getRecords();
|
|
|
// 如果有name参数,特殊处理
|
|
@@ -105,13 +108,15 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
knowledgeCategoryList.forEach(e -> {
|
|
|
e.setLevel(1);
|
|
|
e.setOperatorName(userService.queryUser(e.getUpdateBy()).getFullName());
|
|
|
- List<KnowledgeCategoryAdminVo> childrens = findChildrens(e);
|
|
|
+ List<KnowledgeCategoryAdminVo> childrens = findChildrens(e,userId);
|
|
|
if (childrens.size() == 0) {
|
|
|
e.setChildren(null);
|
|
|
} else {
|
|
|
e.setChildren(childrens);
|
|
|
childrens.forEach(h -> {
|
|
|
- h.setOperatorName(userService.queryUser(h.getUpdateBy()).getFullName());
|
|
|
+ //h.setOperatorName(userService.queryUser(h.getUpdateBy()).getFullName());
|
|
|
+ //h.setCreateByName(userService.queryUser(h.getCreateBy()).getFullName());
|
|
|
+ //h.setMaintainerName(userService.queryUser(h.getMaintainer()).getFullName());
|
|
|
// 把孩子节点放入集合中
|
|
|
childrenList.add(h.getPkId());
|
|
|
});
|
|
@@ -125,12 +130,21 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
knowledgeCategoryList.forEach(e -> {
|
|
|
e.setLevel(1);
|
|
|
e.setOperatorName(userService.queryUser(e.getUpdateBy()).getFullName());
|
|
|
- List<KnowledgeCategoryAdminVo> childrens = findChildrens(e);
|
|
|
+ e.setCreateByName(userService.queryUser(e.getCreateBy()).getFullName());
|
|
|
+ JPaasUser jPaasUser = userService.queryUser(e.getMaintainer());
|
|
|
+ if (jPaasUser != null){
|
|
|
+ e.setMaintainerName(jPaasUser.getFullName());
|
|
|
+ }
|
|
|
+ List<KnowledgeCategoryAdminVo> childrens = findChildrens(e,userId);
|
|
|
if (childrens.size() == 0) {
|
|
|
e.setChildren(null);
|
|
|
} else {
|
|
|
e.setChildren(childrens);
|
|
|
- childrens.forEach(h -> h.setOperatorName(userService.queryUser(h.getUpdateBy()).getFullName()));
|
|
|
+ //childrens.forEach(h -> {
|
|
|
+ // h.setOperatorName(userService.queryUser(h.getUpdateBy()).getFullName());
|
|
|
+ // h.setCreateByName(userService.queryUser(h.getCreateBy()).getFullName());
|
|
|
+ // h.setMaintainerName(userService.queryUser(h.getMaintainer()).getFullName());
|
|
|
+ //});
|
|
|
}
|
|
|
});
|
|
|
page.setRecords(knowledgeCategoryList);
|
|
@@ -196,6 +210,11 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
@CacheEvict(value = {"knowledgeCategory","knowledgeCategoryPc"}, allEntries=true,cacheManager = "redisCacheManager")
|
|
|
public int update(KnowledgeCategory entity) {
|
|
|
KnowledgeCategory knowledgeCategory = this.get(entity.getPkId());
|
|
|
+ //判断是否能进行修改(创建人或维护人满足一个即可修改)
|
|
|
+ String userId = userService.queryLoginUser();
|
|
|
+ if (!userId.equals(knowledgeCategory.getCreateBy()) && !userId.equals(knowledgeCategory.getMaintainer())){
|
|
|
+ throw new RuntimeException("您没有权限进行此操作");
|
|
|
+ }
|
|
|
if (knowledgeCategory.getIsSys() == 1) {
|
|
|
throw new RuntimeException("系统内置节点,无法修改");
|
|
|
}
|
|
@@ -250,14 +269,18 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@CacheEvict(value = {"knowledgeCategory","knowledgeCategoryPc"}, allEntries=true,cacheManager = "redisCacheManager")
|
|
|
public Integer deleteKnowledgeCategory(String knowledgeCategoryId) {
|
|
|
-
|
|
|
+ KnowledgeCategory knowledgeCategory = this.baseMapper.selectById(knowledgeCategoryId);
|
|
|
+ //判断是否能进行修改(创建人或维护人满足一个即可修改)
|
|
|
+ String userId = userService.queryLoginUser();
|
|
|
+ if (!userId.equals(knowledgeCategory.getCreateBy()) && !userId.equals(knowledgeCategory.getMaintainer())){
|
|
|
+ throw new RuntimeException("您没有权限进行此操作");
|
|
|
+ }
|
|
|
// 查询该分类下是否还有知识
|
|
|
Boolean hasKnowledge = hasKnowledge(knowledgeCategoryId);
|
|
|
if (hasKnowledge) {
|
|
|
return 0;
|
|
|
}
|
|
|
// 查询该分类的下是否还有子分类
|
|
|
- KnowledgeCategory knowledgeCategory = this.baseMapper.selectById(knowledgeCategoryId);
|
|
|
Boolean hasChirld = findHasChirld(knowledgeCategory);
|
|
|
if (hasChirld) {
|
|
|
return 1;
|
|
@@ -282,19 +305,24 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
}
|
|
|
|
|
|
// 查询孩子节点(递归)
|
|
|
- public List<KnowledgeCategoryAdminVo> findChildrens(KnowledgeCategoryAdminVo knowledgeCategoryAdminVo) {
|
|
|
- List<KnowledgeCategoryAdminVo> knowledgeCategorieChild = knowledgeCategoryMapper.selectKnowledgeCategoryByParent(knowledgeCategoryAdminVo.getPkId());
|
|
|
+ public List<KnowledgeCategoryAdminVo> findChildrens(KnowledgeCategoryAdminVo knowledgeCategoryAdminVo,String userId) {
|
|
|
+ List<KnowledgeCategoryAdminVo> knowledgeCategorieChild = knowledgeCategoryMapper.selectKnowledgeCategoryByParent(knowledgeCategoryAdminVo.getPkId(),userId);
|
|
|
List<KnowledgeCategoryAdminVo> knowledgeCategories = knowledgeCategorieChild.stream().
|
|
|
sorted(Comparator.comparingInt(KnowledgeCategoryAdminVo::getSort)).
|
|
|
map(e -> {
|
|
|
e.setOperatorName(userService.queryUser(e.getUpdateBy()).getFullName());
|
|
|
+ e.setCreateByName(userService.queryUser(e.getCreateBy()).getFullName());
|
|
|
+ JPaasUser jPaasUser = userService.queryUser(e.getMaintainer());
|
|
|
+ if (jPaasUser != null){
|
|
|
+ e.setMaintainerName(jPaasUser.getFullName());
|
|
|
+ }
|
|
|
return e;
|
|
|
}).
|
|
|
collect(Collectors.toList());
|
|
|
knowledgeCategoryAdminVo.setChildren(knowledgeCategories);
|
|
|
knowledgeCategories.forEach(e -> {
|
|
|
e.setLevel(knowledgeCategoryAdminVo.getLevel() + 1);
|
|
|
- List<KnowledgeCategoryAdminVo> allChildren = findChildrens(e);
|
|
|
+ List<KnowledgeCategoryAdminVo> allChildren = findChildrens(e,userId);
|
|
|
if (allChildren.size() == 0) {
|
|
|
e.setChildren(null);
|
|
|
} else {
|
|
@@ -390,7 +418,7 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
// 查询其孩子节点
|
|
|
collect.forEach(e -> {
|
|
|
e.setLevel(1);
|
|
|
- List<KnowledgeCategoryAdminVo> childrens = findChildrens(e);
|
|
|
+ List<KnowledgeCategoryAdminVo> childrens = findChildrens(e,null);
|
|
|
e.setChildren(childrens);
|
|
|
});
|
|
|
return collect;
|