【java再帰生成ツリー】
4912 ワード
プロジェクト開発では、ツリー構造に遭遇することはほとんど避けられません.今日はjavaバックエンドがデータをツリー構造にどのように処理するかを共有します.
フロントエンドはツリー構造を処理し、バックエンドはツリー構造を生成します.
Entityエンティティ・レイヤ:
Controllerレイヤ:
サービス・ビジネス・レベル:
サービスインプリメンテーション:
業務中の判断は自分で加えることができて、例えばIdを通じてこの情報がnullであるかどうかを取得します.
テスト結果:
フロントエンドはツリー構造を処理し、バックエンドはツリー構造を生成します.
Entityエンティティ・レイヤ:
。
/**
*
*/
private List child = new ArrayList();
Controllerレイヤ:
OrganizationVO list = organizationService.selectCategoryAndChildrenById(id);
サービス・ビジネス・レベル:
/**
* id id
* @param id
* @return
*/
OrganizationVO selectCategoryAndChildrenById(Long id);
サービスインプリメンテーション:
/**
* id id
*
* @param id
* @return
*/
@Override
public OrganizationVO selectCategoryAndChildrenById(Long id) {
return findChildCatgoryBak(id);
}
/**
* -
*/
public OrganizationVO findChildCatgoryBak(Long orgId) {
List childList = new ArrayList<>();
// id VO
OrganizationVO organizationVO = iOrganizationService.get(orgId);
// ,
List organizationList = iOrganizationService.getChildren(null, orgId);
//organizationVO.setChild(organizationList);
for (OrganizationVO item : organizationList) {
childList.add(findChildCatgoryBak(item.getId()));
}
organizationVO.setChild(childList);
return organizationVO;
}
業務中の判断は自分で加えることができて、例えばIdを通じてこの情報がnullであるかどうかを取得します.
テスト結果:
{
"code": 0,
"message": " ",
"items": {
"id": 2,
"createTime": null,
"modifyTime": "2020-04-21 16:37:35",
"creatorId": 0,
"modifierId": 0,
"parentId": 0,
"orgName": " ",
"orgState": "ENABLE",
"description": "",
"orgSort": 1,
"child": [
{
"id": 3,
"createTime": "2020-04-21 16:41:07",
"modifyTime": "2020-04-22 10:40:52",
"creatorId": 0,
"modifierId": 0,
"parentId": 2,
"orgName": " ",
"orgState": "ENABLE",
"description": "",
"orgSort": 1,
"child": [
{
"id": 21,
"createTime": "2020-04-23 23:11:45",
"modifyTime": "2020-04-23 23:11:45",
"creatorId": null,
"modifierId": null,
"parentId": 3,
"orgName": " ",
"orgState": "ENABLE",
"description": " ",
"orgSort": null,
"child": []
}
]
},
{
"id": 13,
"createTime": "2020-04-22 16:34:08",
"modifyTime": "2020-04-22 16:34:08",
"creatorId": null,
"modifierId": null,
"parentId": 2,
"orgName": " 1",
"orgState": "ENABLE",
"description": "",
"orgSort": 4,
"child": []
},
{
"id": 14,
"createTime": "2020-04-22 19:07:58",
"modifyTime": "2020-04-22 19:07:58",
"creatorId": null,
"modifierId": null,
"parentId": 2,
"orgName": " ",
"orgState": "ENABLE",
"description": " ",
"orgSort": null,
"child": []
},
{
"id": 16,
"createTime": "2020-04-23 10:13:26",
"modifyTime": "2020-04-23 10:13:26",
"creatorId": null,
"modifierId": null,
"parentId": 2,
"orgName": "112",
"orgState": "ENABLE",
"description": null,
"orgSort": null,
"child": []
},
{
"id": 20,
"createTime": "2020-04-23 22:33:10",
"modifyTime": "2020-04-23 22:33:10",
"creatorId": null,
"modifierId": null,
"parentId": 2,
"orgName": " 1111111",
"orgState": "ENABLE",
"description": null,
"orgSort": 3,
"child": []
}
]
}
}