|
@@ -12,6 +12,7 @@ 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;
|
|
|
+import com.redxun.common.tool.StringUtils;
|
|
|
import com.redxun.knowledge.common.UserService;
|
|
|
import com.redxun.knowledge.entity.dao.Knowledge;
|
|
|
import com.redxun.knowledge.entity.dao.KnowledgeCategory;
|
|
@@ -26,6 +27,7 @@ import org.springframework.cache.annotation.CacheEvict;
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
@@ -98,7 +100,7 @@ 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);
|
|
|
+ //filter.getParams().put("userId",userId);
|
|
|
IPage page = knowledgeCategoryMapper.findAllKnowledgeCategory(filter.getPage(), filter.getParams(), params);
|
|
|
List<KnowledgeCategoryAdminVo> knowledgeCategoryList = page.getRecords();
|
|
|
// 如果有name参数,特殊处理
|
|
@@ -108,7 +110,13 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
// 查询其孩子节点
|
|
|
knowledgeCategoryList.forEach(e -> {
|
|
|
e.setLevel(1);
|
|
|
+ e.setIsPermission(permission(e.getCreateBy(),e.getMaintainer(),userId));
|
|
|
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());
|
|
|
+ }
|
|
|
List<KnowledgeCategoryAdminVo> childrens = findChildrens(e,userId);
|
|
|
if (childrens.size() == 0) {
|
|
|
e.setChildren(null);
|
|
@@ -130,6 +138,7 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
} else {
|
|
|
knowledgeCategoryList.forEach(e -> {
|
|
|
e.setLevel(1);
|
|
|
+ e.setIsPermission(permission(e.getCreateBy(),e.getMaintainer(),userId));
|
|
|
e.setOperatorName(userService.queryUser(e.getUpdateBy()).getFullName());
|
|
|
e.setCreateByName(userService.queryUser(e.getCreateBy()).getFullName());
|
|
|
JPaasUser jPaasUser = userService.queryUser(e.getMaintainer());
|
|
@@ -307,10 +316,11 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
|
|
|
// 查询孩子节点(递归)
|
|
|
public List<KnowledgeCategoryAdminVo> findChildrens(KnowledgeCategoryAdminVo knowledgeCategoryAdminVo,String userId) {
|
|
|
- List<KnowledgeCategoryAdminVo> knowledgeCategorieChild = knowledgeCategoryMapper.selectKnowledgeCategoryByParent(knowledgeCategoryAdminVo.getPkId(),userId);
|
|
|
+ List<KnowledgeCategoryAdminVo> knowledgeCategorieChild = knowledgeCategoryMapper.selectKnowledgeCategoryByParent(knowledgeCategoryAdminVo.getPkId());
|
|
|
List<KnowledgeCategoryAdminVo> knowledgeCategories = knowledgeCategorieChild.stream().
|
|
|
sorted(Comparator.comparingInt(KnowledgeCategoryAdminVo::getSort)).
|
|
|
map(e -> {
|
|
|
+ e.setIsPermission(permission(e.getCreateBy(),e.getMaintainer(),userId));
|
|
|
e.setOperatorName(userService.queryUser(e.getUpdateBy()).getFullName());
|
|
|
e.setCreateByName(userService.queryUser(e.getCreateBy()).getFullName());
|
|
|
JPaasUser jPaasUser = userService.queryUser(e.getMaintainer());
|
|
@@ -378,30 +388,34 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
String parent = knowledgeCategory.getParent();
|
|
|
if (status) {
|
|
|
// 上升
|
|
|
- //QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
|
|
|
- //queryWrapper.eq("PARENT", parent);
|
|
|
- //queryWrapper.orderByAsc("SORT");
|
|
|
- //List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
|
|
|
- List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.visibleKnowledgeCategory(parent, userId);
|
|
|
+ QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("PARENT", parent);
|
|
|
+ queryWrapper.orderByAsc("SORT");
|
|
|
+ List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
|
|
|
+ //List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.visibleKnowledgeCategory(parent, userId);
|
|
|
List<KnowledgeCategory> collect = knowledgeCategoryList.stream().filter(e -> e.getSort() < sort).collect(Collectors.toList());
|
|
|
- KnowledgeCategory knowledgeCategoryPre = collect.get(collect.size() - 1);
|
|
|
- // 交换位置
|
|
|
- int temp = sort;
|
|
|
- knowledgeCategoryMapper.swapSort(knowledgeCategoryId, knowledgeCategoryPre.getSort());
|
|
|
- knowledgeCategoryMapper.swapSort(knowledgeCategoryPre.getPkId(), temp);
|
|
|
+ if (!CollectionUtils.isEmpty(collect)){
|
|
|
+ KnowledgeCategory knowledgeCategoryPre = collect.get(collect.size() - 1);
|
|
|
+ // 交换位置
|
|
|
+ int temp = sort;
|
|
|
+ knowledgeCategoryMapper.swapSort(knowledgeCategoryId, knowledgeCategoryPre.getSort());
|
|
|
+ knowledgeCategoryMapper.swapSort(knowledgeCategoryPre.getPkId(), temp);
|
|
|
+ }
|
|
|
} else {
|
|
|
// 下降
|
|
|
- //QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
|
|
|
- //queryWrapper.eq("PARENT", parent);
|
|
|
- //queryWrapper.orderByAsc("SORT");
|
|
|
- //List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
|
|
|
- List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.visibleKnowledgeCategory(parent, userId);
|
|
|
+ QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("PARENT", parent);
|
|
|
+ queryWrapper.orderByAsc("SORT");
|
|
|
+ List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
|
|
|
+ //List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.visibleKnowledgeCategory(parent, userId);
|
|
|
List<KnowledgeCategory> collect = knowledgeCategoryList.stream().filter(e -> e.getSort() > sort).collect(Collectors.toList());
|
|
|
- KnowledgeCategory knowledgeCategoryNext = collect.get(0);
|
|
|
- // 交换位置
|
|
|
- int temp = sort;
|
|
|
- knowledgeCategoryMapper.swapSort(knowledgeCategoryId, knowledgeCategoryNext.getSort());
|
|
|
- knowledgeCategoryMapper.swapSort(knowledgeCategoryNext.getPkId(), temp);
|
|
|
+ if (!CollectionUtils.isEmpty(collect)) {
|
|
|
+ KnowledgeCategory knowledgeCategoryNext = collect.get(0);
|
|
|
+ // 交换位置
|
|
|
+ int temp = sort;
|
|
|
+ knowledgeCategoryMapper.swapSort(knowledgeCategoryId, knowledgeCategoryNext.getSort());
|
|
|
+ knowledgeCategoryMapper.swapSort(knowledgeCategoryNext.getPkId(), temp);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -428,4 +442,22 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
});
|
|
|
return collect;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否有权限 0 有 1 没有
|
|
|
+ * @param createBy
|
|
|
+ * @param maintainer
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private int permission(String createBy,String maintainer,String userId){
|
|
|
+ if (StringUtils.isNotEmpty(userId)){
|
|
|
+ if (userId.equals(createBy) || userId.equals(maintainer)){
|
|
|
+ return 0;
|
|
|
+ } else {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|