From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期六, 21 八月 2021 16:35:14 +0800
Subject: [PATCH] 随手拍改版接口开发

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 46 insertions(+), 13 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java
index 2d2332b..47853a8 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java
@@ -1,16 +1,20 @@
 package com.panzhihua.service_community.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComMngAreaVO;
 import com.panzhihua.common.model.vos.community.ComMngCityVO;
 import com.panzhihua.common.model.vos.community.ComMngDistrictVO;
 import com.panzhihua.common.model.vos.community.ComMngProvinceVO;
 import com.panzhihua.service_community.dao.ComMngCityDAO;
 import com.panzhihua.service_community.dao.ComMngDistrictDAO;
 import com.panzhihua.service_community.dao.ComMngProvinceDAO;
+import com.panzhihua.service_community.dao.ComMngStructAreaDAO;
 import com.panzhihua.service_community.model.dos.ComMngCityDO;
 import com.panzhihua.service_community.model.dos.ComMngDistrictDO;
 import com.panzhihua.service_community.model.dos.ComMngProvinceDO;
+import com.panzhihua.service_community.model.dos.ComMngStructAreaDO;
 import com.panzhihua.service_community.service.ComMngProvinceService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
@@ -18,6 +22,7 @@
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class ComMngProvinceServiceImpl implements ComMngProvinceService {
@@ -31,14 +36,16 @@
     @Resource
     private ComMngDistrictDAO comMngDistrictDAO;
 
+    @Resource
+    private ComMngStructAreaDAO comMngStructAreaDAO;
 
     @Override
     public R getProvince() {
-        List<ComMngProvinceDO> provinceDOS = comMngProvinceDAO.selectList(null);
+        List<ComMngProvinceDO> provinceDOS = comMngProvinceDAO.selectList(new LambdaQueryWrapper<>());
         List<ComMngProvinceVO> vos = new ArrayList<>();
-        provinceDOS.forEach(p->{
+        provinceDOS.forEach(p -> {
             ComMngProvinceVO vo = new ComMngProvinceVO();
-            BeanUtils.copyProperties(p,vo);
+            BeanUtils.copyProperties(p, vo);
             vos.add(vo);
         });
         return R.ok(vos);
@@ -46,24 +53,50 @@
 
     @Override
     public R getCityByProvinceCode(Integer provinceAdcode) {
-        List<ComMngCityDO> comMngCityDOS = comMngCityDAO.selectList(new QueryWrapper<ComMngCityDO>().lambda().eq(ComMngCityDO::getProvinceAdcode,provinceAdcode));
+        List<ComMngCityDO> comMngCityDOS = comMngCityDAO.selectList(new QueryWrapper<ComMngCityDO>().lambda().eq(ComMngCityDO::getProvinceAdcode, provinceAdcode));
         List<ComMngCityVO> vos = new ArrayList<>();
-        comMngCityDOS.forEach(c->{
+        comMngCityDOS.forEach(c -> {
             ComMngCityVO vo = new ComMngCityVO();
-            BeanUtils.copyProperties(c,vo);
+            BeanUtils.copyProperties(c, vo);
+            vos.add(vo);
+        });
+        return R.ok(vos);
+    }
+
+
+    @Override
+    public R getDistrictByCityCode(Integer cityAdcode) {
+        List<ComMngDistrictDO> comMngDistrictDOS = comMngDistrictDAO.selectList(new QueryWrapper<ComMngDistrictDO>().lambda().eq(ComMngDistrictDO::getCityAdcode, cityAdcode));
+        List<ComMngDistrictVO> vos = new ArrayList<>();
+        comMngDistrictDOS.forEach(c -> {
+            ComMngDistrictVO vo = new ComMngDistrictVO();
+            BeanUtils.copyProperties(c, vo);
             vos.add(vo);
         });
         return R.ok(vos);
     }
 
     @Override
-    public R getDistrictByCityCode(Integer cityAdcode) {
-        List<ComMngDistrictDO> comMngDistrictDOS = comMngDistrictDAO.selectList(new QueryWrapper<ComMngDistrictDO>().lambda().eq(ComMngDistrictDO::getCityAdcode,cityAdcode));
-        List<ComMngDistrictVO> vos = new ArrayList<>();
-        comMngDistrictDOS.forEach(c->{
-            ComMngDistrictVO vo = new ComMngDistrictVO();
-            BeanUtils.copyProperties(c,vo);
-            vos.add(vo);
+    public R getCityTreeByProvinceCode(Integer provinceAdcode) {
+        List<ComMngProvinceDO> provinceDOS = comMngProvinceDAO.selectList(new QueryWrapper<ComMngProvinceDO>().lambda().eq(ComMngProvinceDO::getProvinceAdcode, provinceAdcode));
+        List<ComMngCityDO> cityDOS = comMngCityDAO.selectList(new QueryWrapper<>());
+        List<ComMngDistrictDO> districtDOS = comMngDistrictDAO.selectList(new QueryWrapper<>());
+        List<ComMngAreaVO> vos = new ArrayList<>();
+        provinceDOS.forEach(p -> {
+            ComMngAreaVO pvo = new ComMngAreaVO(p.getProvinceAdcode(), p.getProvinceName());
+            List<ComMngCityDO> citys = cityDOS.stream().filter(city -> city.getProvinceAdcode().equals(p.getProvinceAdcode()) && city.getCityAdcode().equals(510400)).collect(Collectors.toList());
+            citys.forEach(c -> {
+                ComMngAreaVO cityVo = new ComMngAreaVO(c.getCityAdcode(), c.getCityName());
+                BeanUtils.copyProperties(c, cityVo);
+                pvo.getChildren().add(cityVo);
+                List<ComMngDistrictDO> districts = districtDOS.stream().filter(district -> district.getCityAdcode().equals(c.getCityAdcode())).collect(Collectors.toList());
+                districts.forEach(d -> {
+                    ComMngAreaVO districtVo = new ComMngAreaVO(d.getDistrictAdcode(), d.getDistrictName());
+                    BeanUtils.copyProperties(d, districtVo);
+                    cityVo.getChildren().add(districtVo);
+                });
+            });
+            vos.add(pvo);
         });
         return R.ok(vos);
     }

--
Gitblit v1.7.1