@GetMapping("/getAll")
public Result<List<RegionCityModel>> getAll(){
//获取所有省份名称
List<RegionCityModel> allCityModels = regionService.selectList(null);
List<RegionCityModel> firstCityModels = regionService.selectList(Wrappers.lambdaQuery(RegionCityModel.builder().build())
.eq(RegionCityModel::getLevel,1));
Map<Integer, List<RegionCityModel>> collect = allCityModels.stream()
.collect(Collectors.groupingBy(x -> x.getPid()));
for (RegionCityModel regionCityModel:firstCityModels) {
Integer id = Integer.parseInt(regionCityModel.getId());
List<RegionCityModel> regionCityModels1 = collect.get(id);
if (ObjectUtil.isEmpty(regionCityModels1)){
continue;
}
for (RegionCityModel cityModel : regionCityModels1) {
Integer id1 = Integer.parseInt(cityModel.getId());
List<RegionCityModel> regionCityModels11 = collect.get(id1);
cityModel.setChildren(regionCityModels11);
}
regionCityModel.setChildren(regionCityModels1);
// List<RegionCityModel> allget1 = new ArrayList<>();
// secondCityModels.forEach(y -> {
// Integer pid = y.getPid();
// int i = Integer.parseInt(regionCityModel.getId());
// if (y.getPid() == Integer.parseInt(regionCityModel.getId())){
// allget1.add(y);
// //regionCityModel.setRegionCityVoSecond(addSecondCity);
// }
// });
// regionCityModel.setChildrens(allget1);
//allget.add(regionCityModel);
}
return Result.of(()->firstCityModels);
}
{
"code": 1,
"data": [
{
"id": "110000",
"deleted": 0,
"deleteTime": null,
"name": "北京",
"pid": 100000,
"sname": "北京",
"level": 1,
"cityCode": "",
"yzCode": "",
"merName": "中国,北京",
"pinyin": "Beijing",
"children": [
{
"id": "110100",
"deleted": 0,
"deleteTime": null,
"name": "北京市",
"pid": 110000,
"sname": "北京",
"level": 2,
"cityCode": "010",
"yzCode": "100000",
"merName": "中国,北京,北京市",
"pinyin": "Beijing",
"children": [
{
"id": "110101",
"deleted": 0,
"deleteTime": null,
"name": "东城区",
"pid": 110100,
"sname": "东城",
"level": 3,
"cityCode": "010",
"yzCode": "100010",
"merName": "中国,北京,北京市,东城区",
"pinyin": "Dongcheng",
"children": [],
"lat": 39.9316,
"lng": 116.41
},
{
"id": "110102",
"deleted": 0,
"deleteTime": null,
"name": "西城区",
"pid": 110100,
"sname": "西城",
"level": 3,
"cityCode": "010",
"yzCode": "100032",
"merName": "中国,北京,北京市,西城区",
"pinyin": "Xicheng",
"children": [],
"lat": 39.9305,
"lng": 116.36
},