實(shí)體
@Data
@TableName("dtp_sm_servicetype")
@ApiModel(value = "SmServicetype對(duì)象", description = "服務(wù)類型")
@EqualsAndHashCode(callSuper = true)
public class SmServicetype extends BaseEntity {
@ApiModelProperty("服務(wù)類型名稱")
private String name;
@ApiModelProperty("服務(wù)標(biāo)題")
private String title;
@ApiModelProperty("服務(wù)分類描述")
private String descinfo;
@ApiModelProperty("服務(wù)分類父節(jié)點(diǎn)編號(hào)")
private Long parentId;
@ApiModelProperty("排序")
private Integer orderIndex;
// 存儲(chǔ)下(子)級(jí)節(jié)點(diǎn)信息
@TableField(exist = false)
private List<SmServicetype> childrenList;
}
調(diào)用
/**
* 服務(wù)類型 分頁(yè)
*/
@ApiOperation(value = "查詢所有服務(wù)類型", notes = "傳入smServicetype")
public R<List<SmServicetypeVO>> serviceTypeTree(SmServicetype smServicetype) {
//查詢所有樹(shù)數(shù)據(jù)list
List<SmServicetype> allList = smServicetypeService.list();
// 內(nèi)存中遞歸成樹(shù)
List<SmServicetype> typeTreeList = this.selectSmServicetypeTrees(allList);
return R.data(SmServicetypeWrapper.build().listVO(typeTreeList));
}
private List<SmServicetype> selectSmServicetypeTrees(List<SmServicetype> smServicetypeList) {
List<SmServicetype> collect = smServicetypeList.stream()
.filter(item -> item.getParentId() == -1) //ParentId=-1的節(jié)點(diǎn)為根節(jié)點(diǎn)(根據(jù)具體情況修改) filter為過(guò)濾不符合條件的
.map(item -> {
item.setChildrenList(getChildrenList(item, smServicetypeList));
return item;
})
.collect(Collectors.toList());
return collect.size() == 0 ? smServicetypeList : collect;
}
private List<SmServicetype> getChildrenList(SmServicetype smServicetype, List<SmServicetype> smServicetypeList) {
List<SmServicetype> collect = smServicetypeList.stream()
.filter(item -> item.getParentId().equals(smServicetype.getId()))
.map(item -> {
item.setChildrenList(getChildrenList(item, smServicetypeList));
return item;
})
.collect(Collectors.toList());
return collect;
}
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-644737.html
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-644737.html
到了這里,關(guān)于查詢樹(shù)形目錄(內(nèi)存遍歷成樹(shù)返回)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!