package com.ruoyi.system.web;
|
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.system.domain.company.AreaInfo;
|
import com.ruoyi.system.domain.dto.AreaInfoDto;
|
import com.ruoyi.system.service.company.IAreaInfoService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
@RequestMapping("/areaInfo")
|
@RestController
|
public class AreaInfoController extends BaseController {
|
@Autowired
|
IAreaInfoService areaInfoService;
|
|
/***
|
* 功能描述: <查询所有的区域信息>
|
* 〈〉
|
*
|
* @Param: []
|
* @Return: com.ruoyi.common.core.domain.AjaxResult
|
* @Author: chenqf
|
* @Date: 2022/6/2 17:48
|
*/
|
@RequestMapping("/getAreaInfo")
|
public AjaxResult getAreaInfoMap() {
|
List<AreaInfo> areaInfoList = areaInfoService.list();
|
Map<String, List<AreaInfo>> areaInfoMap = areaInfoList.stream().collect(Collectors.groupingBy(AreaInfo::getCity));
|
List<AreaInfoDto> result = new ArrayList<>();
|
areaInfoMap.keySet().forEach(city -> {
|
AreaInfoDto areaInfoDto = new AreaInfoDto();
|
areaInfoDto.setLabel(city);
|
List<AreaInfo> areaInfos = areaInfoMap.get(city);
|
List<AreaInfoDto> children = new ArrayList<>();
|
areaInfos.forEach(areaInfo -> {
|
AreaInfoDto childAreaInfoDto = new AreaInfoDto();
|
childAreaInfoDto.setLabel(areaInfo.getArea());
|
childAreaInfoDto.setValue(areaInfo.getId());
|
children.add(childAreaInfoDto);
|
});
|
areaInfoDto.setChildren(children);
|
result.add(areaInfoDto);
|
});
|
return AjaxResult.success(result);
|
}
|
}
|