1.数据(pid->父id,pid=0为顶级)
2. 数据处理
public List<OnecityOrg> MyOrgList(String username) {
List<OnecityOrg> orgs = onecityorgmapper.selectMyOrgs(username);
List<OnecityOrg> result = new ArrayList<>();
HashMap<String, List<OnecityOrg>> subnode = new HashMap();
for (int i = 0; i < orgs.size(); i++) {
OnecityOrg org = orgs.get(i);
if (org.getSuborgs() == null) org.setSuborgs(new ArrayList<>());
String pid = org.getPid();
String id = org.getId();
if ("0".equals(pid)) {
if (subnode.containsKey(id)) {
org.setSuborgs(subnode.get(id));
}
result.add(org);
} else {
if (subnode.containsKey(id)) org.setSuborgs(subnode.get(id));
if (subnode.containsKey(pid)) {
List<OnecityOrg> tmodto = subnode.get(pid);
tmodto.add(org);
} else {
List<OnecityOrg> toadd = new ArrayList<>();
toadd.add(org);
subnode.put(pid, toadd);
}
}
}
return result;
}
3.返回结果
[
{
"id": "d8eba0c86cfd4da7937d2693110aefad",
...
"suborgs": []
},
{
"id": "85b3d48d9cdb4d91b2efeb5eeaa56fd8",
"orgName": "北湖专营测试公司",
...
"suborgs": [
{
"id": "24b2ed479b724ae186088affc5d23b90",
"orgName": "北湖专用测试-二级2",
"pid": "85b3d48d9cdb4d91b2efeb5eeaa56fd8",
...
"suborgs": [
{
"id": "0ccf2d92f8254f9fa1ac16aff6db85bc",
"orgName": "北湖专用测试-三级2",
"pid": "24b2ed479b724ae186088affc5d23b90",
...
"suborgs": []
},
{
"id": "5d5f540c77cd4d40ac308c109ba3c443",
"orgName": "北湖专用测试-三级1",
"pid": "24b2ed479b724ae186088affc5d23b90",
...
"suborgs": [
{
"id": "62a2edc294b146039ea569ac0672bd12",
"orgName": "北湖专用测试-四级2",
"pid": "5d5f540c77cd4d40ac308c109ba3c443",
...
"suborgs": []
},
{
"id": "006f8e1c06654bcc8fe8d3784a0ca0d5",
"orgName": "北湖专用测试-四级1",
"pid": "5d5f540c77cd4d40ac308c109ba3c443",
...
"suborgs": []
}
]
}
]
},
{
"id": "3ffa89cf4ed54fb3aebc435f185c30a1",
"orgName": "北湖专用测试-二级1",
"pid": "85b3d48d9cdb4d91b2efeb5eeaa56fd8",
...
"suborgs": []
},
{
"id": "b2c5ae6fc30d4387a5f89f42347b02e2",
"orgName": "北湖专用测试-二级",
"pid": "85b3d48d9cdb4d91b2efeb5eeaa56fd8",
...
"suborgs": []
}
]
},
{
"id": "fe7d3b204dd54c34a477e3cdda457747",
...
"suborgs": []
}
]