From 516b72eb08a931d97dcfaf154d1761e6b4ec7b28 Mon Sep 17 00:00:00 2001 From: zhouxiantao <1026371446@qq.com> Date: Tue, 24 Sep 2024 18:23:24 +0800 Subject: [PATCH] 态势分析-区域选择更换 --- dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java | 79 ++++++++++++++++++++++++++------------- 1 files changed, 52 insertions(+), 27 deletions(-) diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java index b74fb2d..fefe1c0 100644 --- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java @@ -9,6 +9,7 @@ import cn.huge.module.kind.domain.dto.RegionSelectJSDTO; import cn.huge.module.kind.domain.po.SyRegion; import cn.huge.module.sys.dto.QueAddrBaseDTO; +import cn.huge.module.sys.dto.QueAreaDTO; import cn.huge.module.utils.BaiduMapAddrDTO; import cn.huge.module.utils.BaiduMapUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -25,6 +26,7 @@ import javax.annotation.PostConstruct; import javax.swing.plaf.synth.Region; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -173,34 +175,57 @@ * @return */ public QueAddrBaseDTO getQueAddrByBaiduiLngLat(String lng, String lat){ - QueAddrBaseDTO queAddrBaseDTO = new QueAddrBaseDTO(); - BaiduMapAddrDTO baiduMapAddrDTO = BaiduMapUtils.getAddrByLngLat(lng, lat, BaiduMapUtils.coordtype_bd09ll); - if (ObjectUtils.isNotEmpty(baiduMapAddrDTO)) { - QueryWrapper<SyRegion> syRegionQueryWrapper = new QueryWrapper<>(); - // 查询省 - syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getProvince()); - SyRegion province = mapper.selectOne(syRegionQueryWrapper); - queAddrBaseDTO.setQueProv(province.getId()); - queAddrBaseDTO.setQueProvName(province.getName()); - // 查询市 - syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getCity()); - SyRegion city = mapper.selectOne(syRegionQueryWrapper); - queAddrBaseDTO.setQueProv(city.getId()); - queAddrBaseDTO.setQueProvName(city.getName()); - // 查询区 - syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getDistrict()); - SyRegion district = mapper.selectOne(syRegionQueryWrapper); - queAddrBaseDTO.setQueProv(district.getId()); - queAddrBaseDTO.setQueProvName(district.getName()); - // 查询街道 - syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getTown()); - SyRegion town = mapper.selectOne(syRegionQueryWrapper); - queAddrBaseDTO.setQueProv(town.getId()); - queAddrBaseDTO.setQueProvName(town.getName()); - } - return queAddrBaseDTO; + try{QueAddrBaseDTO queAddrBaseDTO = new QueAddrBaseDTO(); + BaiduMapAddrDTO baiduMapAddrDTO = BaiduMapUtils.getAddrByLngLat(lng, lat, BaiduMapUtils.coordtype_bd09ll); + if (ObjectUtils.isNotEmpty(baiduMapAddrDTO)) { + QueryWrapper<SyRegion> syRegionQueryWrapper = new QueryWrapper<>(); + // 查询省 + syRegionQueryWrapper.like("name", baiduMapAddrDTO.getProvince()); + SyRegion province = mapper.selectOne(syRegionQueryWrapper); + queAddrBaseDTO.setQueProv(province.getId()); + queAddrBaseDTO.setQueProvName(province.getName()); + // 查询市 + syRegionQueryWrapper.clear(); + syRegionQueryWrapper.like("name", baiduMapAddrDTO.getCity()); + SyRegion city = mapper.selectOne(syRegionQueryWrapper); + queAddrBaseDTO.setQueCity(city.getId()); + queAddrBaseDTO.setQueCityName(city.getName()); + // 查询区 + syRegionQueryWrapper.clear(); + syRegionQueryWrapper.like("name", baiduMapAddrDTO.getDistrict()); + SyRegion district = mapper.selectOne(syRegionQueryWrapper); + queAddrBaseDTO.setQueArea(district.getId()); + queAddrBaseDTO.setQueAreaName(district.getName()); + // 查询街道 + syRegionQueryWrapper.clear(); + syRegionQueryWrapper.like("name", baiduMapAddrDTO.getTown()); + SyRegion town = mapper.selectOne(syRegionQueryWrapper); + queAddrBaseDTO.setQueRoad(town.getId()); + queAddrBaseDTO.setQueRoadName(town.getName()); + } + return queAddrBaseDTO; + }catch (Exception e){ + log.error("[SyRegionService.getQueAddrByBaiduiLngLat]调用失败,异常信息:"+e, e); + throw new ServiceException("SyRegionService.getQueAddrByBaiduiLngLat", e); + } + } - + public List<QueAreaDTO> listByParentId(String parentId){ + List<QueAreaDTO> list = new ArrayList<>(); + QueryWrapper<SyRegion> queryWrapper = new QueryWrapper(); + queryWrapper.eq("parent_id", parentId); + List<SyRegion> syRegions = mapper.selectList(queryWrapper); + if(ObjectUtils.isNotEmpty(syRegions)){ + for (SyRegion syRegion : syRegions) { + QueAreaDTO queAreaDTO = new QueAreaDTO(); + queAreaDTO.setAreaCode(syRegion.getId()); + queAreaDTO.setAreaName(syRegion.getName()); + queAreaDTO.setParentId(syRegion.getParentId()); + list.add(queAreaDTO); + } + } + return list; + } } -- Gitblit v1.8.0