From b07a65ffa9b2c068b8e46d715e36d5c8e622dbff Mon Sep 17 00:00:00 2001 From: xianghengxiang Date: Wed, 25 Dec 2019 18:53:24 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E8=AF=A2=E5=8C=BA=E5=9F=9F=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=80=A7=E8=83=BD=E9=97=AE=E9=A2=98.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit de0eab10657b4806d540ec895122c7976caaf7a2) --- .../linlinjava/litemall/admin/web/AdminRegionController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminRegionController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminRegionController.java index 133b7166..857a2d52 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminRegionController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminRegionController.java @@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @RestController @RequestMapping("/admin/region") From 693cf5cd3f70c6d36cd5f7c11246af8f60bd06e3 Mon Sep 17 00:00:00 2001 From: xianghengxiang Date: Wed, 25 Dec 2019 18:51:52 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E8=AF=A2=E5=8C=BA=E5=9F=9F=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=80=A7=E8=83=BD=E9=97=AE=E9=A2=98.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/web/AdminRegionController.java | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminRegionController.java b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminRegionController.java index 857a2d52..6835f24e 100644 --- a/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminRegionController.java +++ b/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/web/AdminRegionController.java @@ -30,33 +30,43 @@ public class AdminRegionController { @GetMapping("/clist") public Object clist(@NotNull Integer id) { List regionList = regionService.queryByPid(id); - return ResponseUtil.ok(regionList); + return ResponseUtil.okList(regionList); } @GetMapping("/list") public Object list() { List regionVoList = new ArrayList<>(); - List provinceList = regionService.queryByPid(0); - for(LitemallRegion province : provinceList){ + List litemallRegions = regionService.getAll(); + Map> collect = litemallRegions.stream().collect(Collectors.groupingBy(LitemallRegion::getType)); + byte provinceType = 1; + List provinceList = collect.get(provinceType); + byte cityType = 2; + List city = collect.get(cityType); + Map> cityListMap = city.stream().collect(Collectors.groupingBy(LitemallRegion::getPid)); + byte areaType = 3; + List areas = collect.get(areaType); + Map> areaListMap = areas.stream().collect(Collectors.groupingBy(LitemallRegion::getPid)); + + for (LitemallRegion province : provinceList) { RegionVo provinceVO = new RegionVo(); provinceVO.setId(province.getId()); provinceVO.setName(province.getName()); provinceVO.setCode(province.getCode()); provinceVO.setType(province.getType()); - List cityList = regionService.queryByPid(province.getId()); + List cityList = cityListMap.get(province.getId()); List cityVOList = new ArrayList<>(); - for(LitemallRegion city : cityList){ + for (LitemallRegion cityVo : cityList) { RegionVo cityVO = new RegionVo(); - cityVO.setId(city.getId()); - cityVO.setName(city.getName()); - cityVO.setCode(city.getCode()); - cityVO.setType(city.getType()); + cityVO.setId(cityVo.getId()); + cityVO.setName(cityVo.getName()); + cityVO.setCode(cityVo.getCode()); + cityVO.setType(cityVo.getType()); - List areaList = regionService.queryByPid(city.getId()); + List areaList = areaListMap.get(cityVo.getId()); List areaVOList = new ArrayList<>(); - for(LitemallRegion area : areaList){ + for (LitemallRegion area : areaList) { RegionVo areaVO = new RegionVo(); areaVO.setId(area.getId()); areaVO.setName(area.getName()); @@ -72,6 +82,6 @@ public class AdminRegionController { regionVoList.add(provinceVO); } - return ResponseUtil.ok(regionVoList); + return ResponseUtil.okList(regionVoList); } }