package com.ruoyi.web.controller.errand; import com.ruoyi.common.core.domain.R; import com.ruoyi.errand.domain.Region; import com.ruoyi.errand.service.RegionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.stream.Collectors; @Validated @RestController @RequestMapping(value = "/app/region") @Api(value = "省市区三级联动", tags = "省市区三级联动操作控制器") @Slf4j public class RegionController { @Autowired private RegionService regionService; /** * 省市区级联 */ @GetMapping("/getProvinceList1") @ApiOperation(value = "省市区级联",tags = {"app用户端"}) public R> getProvinceList1() { List list = regionService.list(); List collect = list.stream().filter(s -> s.getParentId() == 0).collect(Collectors.toList()); for (Region region : collect) { List collect1 = list.stream().filter(s -> s.getParentId().equals(region.getId())).collect(Collectors.toList()); for (Region region1 : collect1) { List collect2 = list.stream().filter(s -> s.getParentId().equals(region1.getId())).collect(Collectors.toList()); region1.setChilds(collect2); } region.setChilds(collect1); } return R.ok(collect); } }