TODO模块单元树结构

This commit is contained in:
zhaokaiyao@91isoft.com
2021-10-20 14:52:07 +08:00
parent f6508c6e1a
commit bef55f395a
2 changed files with 45 additions and 13 deletions
@@ -42,7 +42,7 @@ public class SarModelTreeController extends BaseController<SarModelTree> {
@GetMapping("/list")
public ResponseMessage<List<SarModelTree>> getAll(){
List<SarModelTree> tsResources = iSarModelTreeService.getAll(null);
// List<SarModelTree> tsResources = iSarModuleTreeService.getAll(null);
// TODO List<SarModelTree> tsResources = iSarModuleTreeService.getAll(null);
return Result.success(tsResources);
}
@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@@ -25,27 +26,38 @@ public class SarModuleTreeServiceImpl extends ServiceImpl<SarModuleTreeDao, SarM
@Autowired()
private SarModuleTreeServiceImpl sarModuleTreeService;
/**
* @param sarModelTree
* @return 所有的根节点
*/
@Override
public List<SarModelTree> getAll(SarModelTree sarModelTree) {
QueryWrapper<SarModuleTree> treeQueryWrapper = new QueryWrapper<>();
treeQueryWrapper.groupBy("FTVSTYPE1");
List<SarModuleTree> moduleTreeList = this.baseMapper.selectList(treeQueryWrapper);
//把SarModuleTree类型的list集合转换为SarModelTree类型的list集合
List<SarModelTree> sarModelTreeList = moduleTreeList.stream().map(SarModuleTree -> {
SarModelTree modelTree = new SarModelTree();
modelTree.setId(SarModuleTree.getGuid());
modelTree.setName(SarModuleTree.getFtvstype1());
// modelTree.setModel("TS"+SarModuleTree.get);
return modelTree;
}).collect(Collectors.toList());
return sarModelTreeList;
//返回转换元素后的数组
return listTransform(moduleTreeList);
}
/**
* 根据根节点查询其所有的子节点
* @param parent
* @return
*/
@Override
public List<SarModelTree> recursionGetChildren(SarModelTree parent) {
QueryWrapper<SarModuleTree> treeQueryWrapper = new QueryWrapper<>();
treeQueryWrapper.eq("GUID",parent.getId());
List<SarModuleTree> moduleTreeList = this.baseMapper.selectList(treeQueryWrapper);
Map<String, List<SarModuleTree>> collect = moduleTreeList.stream().collect(Collectors.groupingBy(SarModuleTree::getFtvstype1));
collect.forEach((k, v)->{
SarModelTree modelTree = new SarModelTree();
//TODO 生成树型结构
// modelTree
});
return null;
}
@@ -93,5 +105,25 @@ public class SarModuleTreeServiceImpl extends ServiceImpl<SarModuleTreeDao, SarM
return head;
}
/**
* 把SarModuleTree类型的list集合转换为SarModelTree类型的list集合,这样就不用修改前端代码( •̀ ω •́ )✧
* --->对修改关闭,对扩展开放
* @param moduleTreeList
* @return
*/
public List<SarModelTree> listTransform(List<SarModuleTree> moduleTreeList){
return moduleTreeList.stream().map(SarModuleTree -> {
SarModelTree modelTree = new SarModelTree();
modelTree.setId(SarModuleTree.getGuid());
modelTree.setName(SarModuleTree.getFtvstype1());
modelTree.setModel("TS"
+SarModuleTree.getFtvstype2().substring(SarModuleTree.getFtvstype2().length()-2)
+SarModuleTree.getSeriesid()
+SarModuleTree.getReserved()
+SarModuleTree.getStarted()); //"TS"+SF_ID+SE_ID+SU_ID 拼接模块编号ID
return modelTree;
}).collect(Collectors.toList());
}
}