feat(REQ-2899):前端资源删除接口

This commit is contained in:
李昆鹏 2024-08-26 19:34:45 +08:00
parent 4c95776eb0
commit 59f0748d2c
2 changed files with 23 additions and 1 deletions

View File

@ -40,4 +40,10 @@ public class GetPageElementReq {
*/
@Builder.Default
private List<Integer> relationTypes = Lists.newArrayList(0, 1);
/**
* 是否按组分组返回
*/
@Builder.Default
private Boolean returnWithGroup = Boolean.FALSE;
}

View File

@ -151,7 +151,8 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
}
}
}
return change2PageElementResp(selectedPageElements, selectedIds);
List<PageElementResp> resps = change2PageElementResp(selectedPageElements, selectedIds);
return Boolean.TRUE.equals(request.getReturnWithGroup()) ? changeElementsWithGroup(resps) : resps;
}
@Override
@ -880,4 +881,19 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
}
}
private List<PageElementResp> changeElementsWithGroup(List<PageElementResp> resps) {
if (CollectionUtils.isEmpty(resps)) {
return Collections.emptyList();
}
Map<String, PageElementResp> groupCodeEntityMap = resps.stream().collect(Collectors.toMap(PageElementResp::getGroupCode, Function.identity(), (v1, v2) -> v1));
Map<String, List<PageElementResp>> groupCodesMap = resps.stream().collect(Collectors.groupingBy(PageElementResp::getGroupCode));
List<PageElementResp> result = Lists.newArrayList();
groupCodesMap.forEach((k, v) -> {
PageElementResp groupEntity = groupCodeEntityMap.get(k);
result.add(PageElementResp.builder().groupCode(k).groupName(groupEntity.getGroupName()).children(v).build());
});
return result;
}
}