feat: 通用树形接口取消分页

This commit is contained in:
2024-08-06 18:31:33 +08:00
parent 7425df3066
commit ac47184197
3 changed files with 10 additions and 19 deletions
@@ -2283,7 +2283,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
private String getTreeFatherChild(String tableName, String key, String value, String dicId) { private String getTreeFatherChild(String tableName, String key, String value, String dicId) {
LambdaQueryWrapper<SysDictItem> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDictItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysDictItem::getDictId, dicId); wrapper.eq(SysDictItem::getDictId, dicId);
wrapper.eq(SysDictItem::getItemValue, value); wrapper.eq(SysDictItem::getId, value);
SysDictItem targetNode = sysDictItemService.getOne(wrapper); SysDictItem targetNode = sysDictItemService.getOne(wrapper);
List<SysDictItem> resultNodeList = new ArrayList<>(); List<SysDictItem> resultNodeList = new ArrayList<>();
// 获取所有数据 // 获取所有数据
@@ -2321,7 +2321,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
private String getTreeChild(String tableName, String key, String value, String dicId) { private String getTreeChild(String tableName, String key, String value, String dicId) {
LambdaQueryWrapper<SysDictItem> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDictItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysDictItem::getDictId, dicId); wrapper.eq(SysDictItem::getDictId, dicId);
wrapper.eq(SysDictItem::getItemValue, value); wrapper.eq(SysDictItem::getId, value);
SysDictItem targetNode = sysDictItemService.getOne(wrapper); SysDictItem targetNode = sysDictItemService.getOne(wrapper);
// 获取整颗零部件树 // 获取整颗零部件树
wrapper.clear(); wrapper.clear();
@@ -2491,11 +2491,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
}else if (FieldShowTypeEnum.TREE_FATHER_CHILD.getValue().equals(fieldShowType)) { }else if (FieldShowTypeEnum.TREE_FATHER_CHILD.getValue().equals(fieldShowType)) {
String sql = getTreeFatherChild(tableName, key, value, lawsTag.getDictId()); String sql = getTreeFatherChild(tableName, key, value, lawsTag.getDictId());
selectCondition.append(sql); selectCondition.append(sql);
parameterMap.remove(key);
} else if (FieldShowTypeEnum.TREE_CHILD.getValue().equals(fieldShowType)) { } else if (FieldShowTypeEnum.TREE_CHILD.getValue().equals(fieldShowType)) {
String sql = getTreeChild(tableName, key, value, lawsTag.getDictId()); String sql = getTreeChild(tableName, key, value, lawsTag.getDictId());
selectCondition.append(sql); selectCondition.append(sql);
parameterMap.remove(key);
} }
// 处理其他类型 // 处理其他类型
} }
@@ -2,7 +2,6 @@ package com.jero.modules.laws.standard.controller;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.AutoLog;
import com.jero.modules.laws.standard.entity.TreePage;
import com.jero.modules.laws.standard.service.DictTreeService; import com.jero.modules.laws.standard.service.DictTreeService;
import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysDictItem;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -31,12 +30,10 @@ public class LawsDictTreeController {
@AutoLog(value = "树形结构-获取一级树") @AutoLog(value = "树形结构-获取一级树")
@ApiOperation(value = "树形结构-获取一级树", notes = "树形结构-获取一级树") @ApiOperation(value = "树形结构-获取一级树", notes = "树形结构-获取一级树")
@GetMapping("/page") @GetMapping("/page")
public Result<TreePage<SysDictItem>> queryTreeList( public Result<List<SysDictItem>> queryTreeList(
@RequestParam(name = "nodeName", required = false, defaultValue = "") @ApiParam("一级节点名称") String nodeName, @RequestParam(name = "nodeName", required = false, defaultValue = "") @ApiParam("一级节点名称") String nodeName,
@RequestParam("dictId") @ApiParam("字典编码") String dictId, @RequestParam("dictId") @ApiParam("字典编码") String dictId) {
@RequestParam(name = "pageNo", defaultValue = "1") @ApiParam("页码") Integer pageNo, List<SysDictItem> list = dictTreeService.queryTreeList(nodeName, dictId);
@RequestParam(name = "pageSize", defaultValue = "10") @ApiParam("页面大小") Integer pageSize) {
TreePage<SysDictItem> list = dictTreeService.queryTreeList(nodeName, dictId, pageNo, pageSize);
return Result.OK(list); return Result.OK(list);
} }
@@ -1,9 +1,6 @@
package com.jero.modules.laws.standard.service; package com.jero.modules.laws.standard.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.laws.standard.entity.TreePage;
import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.service.ISysDictService;
@@ -23,28 +20,27 @@ public class DictTreeService {
@Resource @Resource
private ISysDictItemService dictItemService; private ISysDictItemService dictItemService;
public TreePage<SysDictItem> queryTreeList(String nodeName, String dictId, Integer pageNo, Integer pageSize) { public List<SysDictItem> queryTreeList(String nodeName, String dictId) {
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysDictItem::getDictId, dictId); queryWrapper.eq(SysDictItem::getDictId, dictId);
queryWrapper.eq(SysDictItem::getParentId, "0"); queryWrapper.eq(SysDictItem::getParentId, "0");
if (nodeName != null && !nodeName.isEmpty()) { if (nodeName != null && !nodeName.isEmpty()) {
queryWrapper.like(SysDictItem::getItemText, nodeName); queryWrapper.like(SysDictItem::getItemText, nodeName);
} }
Page<SysDictItem> page = new Page<>(pageNo, pageSize); List<SysDictItem> list = dictItemService.list(queryWrapper);
IPage<SysDictItem> pageList = dictItemService.page(page, queryWrapper);
List<String> dictItemIds = pageList.getRecords().stream().map(SysDictItem::getId).collect(Collectors.toList()); List<String> dictItemIds = list.stream().map(SysDictItem::getId).collect(Collectors.toList());
// 判断有没有子级 // 判断有没有子级
queryWrapper.clear(); queryWrapper.clear();
queryWrapper.eq(SysDictItem::getDictId, dictId); queryWrapper.eq(SysDictItem::getDictId, dictId);
queryWrapper.in(SysDictItem::getParentId, dictItemIds); queryWrapper.in(SysDictItem::getParentId, dictItemIds);
List<SysDictItem> childList = dictItemService.list(queryWrapper); List<SysDictItem> childList = dictItemService.list(queryWrapper);
pageList.getRecords().forEach(item -> { list.forEach(item -> {
if (childList.stream().anyMatch(child -> child.getParentId().equals(item.getId()))) { if (childList.stream().anyMatch(child -> child.getParentId().equals(item.getId()))) {
item.setHasChild(true); item.setHasChild(true);
} }
}); });
return new TreePage<>(pageList.getRecords(), pageList.getTotal(), pageList.getSize(), pageList.getCurrent()); return list;
} }
public List<SysDictItem> queryEcho(String selectNodeCodes, String dictId) { public List<SysDictItem> queryEcho(String selectNodeCodes, String dictId) {