perf: 零部件查询接口性能优化
This commit is contained in:
+6
@@ -38,6 +38,12 @@ public class LawsPartNameController {
|
|||||||
@RequestParam(name = "nodeName", required = false, defaultValue = "") @ApiParam("一级节点名称") String nodeName,
|
@RequestParam(name = "nodeName", required = false, defaultValue = "") @ApiParam("一级节点名称") String nodeName,
|
||||||
@RequestParam(name = "pageNo", defaultValue = "1") @ApiParam("页码") Integer pageNo,
|
@RequestParam(name = "pageNo", defaultValue = "1") @ApiParam("页码") Integer pageNo,
|
||||||
@RequestParam(name = "pageSize", defaultValue = "10") @ApiParam("页面大小") Integer pageSize) {
|
@RequestParam(name = "pageSize", defaultValue = "10") @ApiParam("页面大小") Integer pageSize) {
|
||||||
|
if (pageNo == null) {
|
||||||
|
pageNo = 1;
|
||||||
|
}
|
||||||
|
if (pageSize == null) {
|
||||||
|
pageSize = 5;
|
||||||
|
}
|
||||||
TreePage<PartName> list = partNameService.queryTreeList(nodeName, pageNo, pageSize);
|
TreePage<PartName> list = partNameService.queryTreeList(nodeName, pageNo, pageSize);
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -48,7 +48,7 @@ public class PartNameServiceImpl extends ServiceImpl<PartNameMapper, PartName>
|
|||||||
// 不做筛选的时候查询加速
|
// 不做筛选的时候查询加速
|
||||||
if (StrUtil.isBlank(nodeName)) {
|
if (StrUtil.isBlank(nodeName)) {
|
||||||
// 构建树结构
|
// 构建树结构
|
||||||
topLevelNodes = this.buildTree(new HashSet<>(allNodes));
|
topLevelNodes = this.buildTree(allNodes);
|
||||||
} else {
|
} else {
|
||||||
// 做筛选的时候需要自己组树
|
// 做筛选的时候需要自己组树
|
||||||
queryWrapper.clear();
|
queryWrapper.clear();
|
||||||
@@ -85,11 +85,11 @@ public class PartNameServiceImpl extends ServiceImpl<PartNameMapper, PartName>
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<PartName> buildTree(Set<PartName> nodesSet) {
|
private List<PartName> buildTree(Collection<PartName> nodesCollection) {
|
||||||
List<PartName> topLevelNodes = new ArrayList<>();
|
List<PartName> topLevelNodes = new ArrayList<>();
|
||||||
Map<String, PartName> nodeMap = nodesSet.stream()
|
Map<String, PartName> nodeMap = nodesCollection.stream()
|
||||||
.collect(Collectors.toMap(PartName::getCode, Function.identity()));
|
.collect(Collectors.toMap(PartName::getCode, Function.identity()));
|
||||||
for (PartName node : nodesSet) {
|
for (PartName node : nodesCollection) {
|
||||||
PartName parentNode = nodeMap.get(node.getParentCode());
|
PartName parentNode = nodeMap.get(node.getParentCode());
|
||||||
if (parentNode != null) {
|
if (parentNode != null) {
|
||||||
if (parentNode.getChildPartNameList() == null) {
|
if (parentNode.getChildPartNameList() == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user