package com.ruoyi.other.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.Region; import com.ruoyi.other.service.RegionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @RestController @RequestMapping("/region") @Api(tags = "地区") public class RegionController { @Resource private RegionService regionService; /** * 省市区级联 */ @GetMapping("/getProvinceList") @ApiOperation(value = "省市区级联", tags = "管理后台") public R> getProvinceList(@ApiParam("父级id") @RequestParam Long parentId) { return R.ok(regionService.list(new LambdaQueryWrapper() .eq(Region::getParentId, parentId))); } /** * 省市区级联 */ @GetMapping("/getProvinceList1") @ApiOperation(value = "省市区级联",tags = {"小程序"}) 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); } /** * 根据城市编号获取数据 * @param code * @return */ @PostMapping("/getRegionBiCode") public R getRegionBiCode(@RequestParam("code") String code){ Region one = regionService.getOne(new LambdaQueryWrapper().eq(Region::getCode, code)); return R.ok(one); } }