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