DESKTOP-71BH0QO\L、ming
2021-03-26 3abb261e5a10b11b20f4bc1712a524be9cbc82f1
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java
@@ -2,6 +2,7 @@
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;
@@ -18,6 +19,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ComMngProvinceServiceImpl implements ComMngProvinceService {
@@ -56,6 +58,7 @@
        return R.ok(vos);
    }
    @Override
    public R getDistrictByCityCode(Integer cityAdcode) {
        List<ComMngDistrictDO> comMngDistrictDOS = comMngDistrictDAO.selectList(new QueryWrapper<ComMngDistrictDO>().lambda().eq(ComMngDistrictDO::getCityAdcode,cityAdcode));
@@ -67,4 +70,29 @@
        });
        return R.ok(vos);
    }
    @Override
    public R getCityTreeByProvinceCode(Integer provinceAdcode) {
        List<ComMngProvinceDO> provinceDOS = comMngProvinceDAO.selectList(new QueryWrapper<ComMngProvinceDO>().lambda().eq(ComMngProvinceDO::getProvinceAdcode, provinceAdcode));
        List<ComMngCityDO> cityDOS = comMngCityDAO.selectList(null);
        List<ComMngDistrictDO> districtDOS = comMngDistrictDAO.selectList(null);
        List<ComMngAreaVO> vos = new ArrayList<>();
        provinceDOS.forEach(p -> {
            ComMngAreaVO pvo = new ComMngAreaVO(p.getProvinceAdcode(), p.getProvinceName());
            vos.add(pvo);
            List<ComMngCityDO> citys = cityDOS.stream().filter(city -> city.getProvinceAdcode().equals(p.getProvinceAdcode())).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);
                });
            });
        });
        return R.ok(vos);
    }
}