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