|
@@ -229,4 +229,41 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
List<Knowledge> knowledges = knowledgeMapper.selectList(queryWrapper);
|
|
|
return knowledges.size() > 0;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 状态为true,上升;为false,下降
|
|
|
+ * @param knowledgeCategoryId
|
|
|
+ * @param status
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void goUpOrDownUp(String knowledgeCategoryId, Boolean status) {
|
|
|
+ KnowledgeCategory knowledgeCategory = this.get(knowledgeCategoryId);
|
|
|
+ Integer sort = knowledgeCategory.getSort();
|
|
|
+ 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> 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);
|
|
|
+ } else {
|
|
|
+ // 下降
|
|
|
+ QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("PARENT",parent);
|
|
|
+ queryWrapper.orderByAsc("SORT");
|
|
|
+ List<KnowledgeCategory> knowledgeCategoryList = knowledgeCategoryMapper.selectList(queryWrapper);
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|