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 areaInfoList = areaInfoService.list(); Map> areaInfoMap = areaInfoList.stream().collect(Collectors.groupingBy(AreaInfo::getCity)); List result = new ArrayList<>(); areaInfoMap.keySet().forEach(city -> { AreaInfoDto areaInfoDto = new AreaInfoDto(); areaInfoDto.setLabel(city); List areaInfos = areaInfoMap.get(city); List 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); } }