Merge branch 'thirdApiStage' into fourthStage
# Conflicts: # laws-base/laws-base-core/src/main/java/com/jero/config/filter/csrf/CsrfFilter.java
This commit is contained in:
+2
@@ -47,6 +47,8 @@ public interface ISarFileSplitMenuEOService extends IService<SarFileSplitMenuEO>
|
||||
|
||||
List<SarFileSplitMenuEO> queryByList(SarFileSplitMenuEOPage page);
|
||||
|
||||
List<SarFileSplitMenuEO> queryByApiList(SarFileSplitMenuEOPage page);
|
||||
|
||||
int queryByCount(SarFileSplitMenuEOPage page);
|
||||
|
||||
List<SarFileSplitMenuEO> queryByPage(SarFileSplitMenuEOPage page);
|
||||
|
||||
+45
@@ -226,6 +226,51 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
.peek(v -> v.setChildren(createChildList(v, finalResult))).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SarFileSplitMenuEO> queryByApiList(SarFileSplitMenuEOPage page) {
|
||||
String itemName;
|
||||
if (StringUtils.isNotBlank(page.getName())){
|
||||
itemName = page.getName();
|
||||
page.setName(null);
|
||||
} else {
|
||||
itemName = "";
|
||||
}
|
||||
List<SarFileSplitMenuEO> result = dao.queryByList(page);
|
||||
|
||||
// 处理数据是否可以上下移动标识
|
||||
for (SarFileSplitMenuEO sarFileSplitMenuEO : result) {
|
||||
// 如果数据的同级别 该数据是第一条数据,不能向上移动, 该数据是最后一条数据 不能向下移动, 如果该级别只有这一条数据,不可向上或向下移动
|
||||
boolean moveUpFlag = false;
|
||||
boolean moveDownFlag = false;
|
||||
Long displaySeq = sarFileSplitMenuEO.getDisplaySeq();
|
||||
for (SarFileSplitMenuEO fileSplitMenuEO : result) {
|
||||
if(StringUtils.equals(sarFileSplitMenuEO.getPId(),fileSplitMenuEO.getPId())){
|
||||
if(displaySeq > fileSplitMenuEO.getDisplaySeq()){
|
||||
moveUpFlag = true;
|
||||
}else if(displaySeq < fileSplitMenuEO.getDisplaySeq()){
|
||||
moveDownFlag = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
sarFileSplitMenuEO.setMoveUpFlag(moveUpFlag);
|
||||
sarFileSplitMenuEO.setMoveDownFlag(moveDownFlag);
|
||||
}
|
||||
|
||||
// 关键字查询
|
||||
if (StringUtils.isNotBlank(itemName) && !result.isEmpty()){
|
||||
List<SarFileSplitMenuEO> trees = result.stream()
|
||||
.filter(v -> (StringUtils.isNotBlank(v.getItemName())
|
||||
&& v.getItemName().contains(itemName)) || v.getName().contains(itemName))
|
||||
.collect(Collectors.toList());
|
||||
// 递归查找所有符合项的父节点
|
||||
List<SarFileSplitMenuEO> newTrees = new ArrayList<>(trees);
|
||||
queryTreeFather(result, trees, newTrees);
|
||||
// 过滤重复项
|
||||
result = newTrees.stream().distinct().collect(Collectors.toList());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private void queryTreeFather(List<SarFileSplitMenuEO> treeList, List<SarFileSplitMenuEO> trees, List<SarFileSplitMenuEO> newTrees) {
|
||||
for (SarFileSplitMenuEO tree : trees) {
|
||||
// 父节点
|
||||
|
||||
Reference in New Issue
Block a user