From 229cdb3d5692219b8ddd3ebcf13873d3a0bc703a Mon Sep 17 00:00:00 2001 From: huangh <hshgjzd5@163.com> Date: Thu, 26 Sep 2024 10:34:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/gzdyh_test' into gzdyh_test --- dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java | 65 ++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 0 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 6ec8322..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 @@ -3,10 +3,16 @@ import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; +import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.kind.dao.mapper.SyRegionMapper; 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; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -20,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; @@ -161,6 +168,64 @@ } } + /** + * 根据百度地图经纬度获取街道 + * @param lng + * @param lat + * @return + */ + public QueAddrBaseDTO getQueAddrByBaiduiLngLat(String lng, String lat){ + 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