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:
yjz
2024-01-30 11:18:56 +08:00
27 changed files with 1740 additions and 0 deletions
@@ -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);
@@ -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) {
// 父节点