From 8a8d15aaa219142fe32b4ae8a074ea278eea2f47 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Tue, 10 Sep 2024 23:44:48 +0800
Subject: [PATCH] 1、根据经纬度查询问题属地接口
---
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java | 22 +++++++++++
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java | 40 ++++++++++++++++++++
dyh-service/dyh-disp/src/main/resources/config/application.yml | 4 +-
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/client/SyregionClientController.java | 28 +-------------
4 files changed, 66 insertions(+), 28 deletions(-)
diff --git a/dyh-service/dyh-disp/src/main/resources/config/application.yml b/dyh-service/dyh-disp/src/main/resources/config/application.yml
index cc100da..6b48760 100644
--- a/dyh-service/dyh-disp/src/main/resources/config/application.yml
+++ b/dyh-service/dyh-disp/src/main/resources/config/application.yml
@@ -2,8 +2,8 @@
spring:
profiles:
active:
-# - dev
- - test
+ - dev
+# - test
# - prod
devtools:
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/client/SyregionClientController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/client/SyregionClientController.java
index 04481ea..286e328 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/client/SyregionClientController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/client/SyregionClientController.java
@@ -45,32 +45,8 @@
@GetMapping("/getQueAddrByBaiduiLngLat")
public Object getQueAddrByBaiduiLngLat(@RequestParam(value = "lng") String lng, @RequestParam(value = "lat") String lat) {
try {
- QueAddrBaseDTO syRegionBaseDTO = 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 = service.getOne(syRegionQueryWrapper);
- syRegionBaseDTO.setQueProv(province.getId());
- syRegionBaseDTO.setQueProvName(province.getName());
- // 查询市
- syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getCity());
- SyRegion city = service.getOne(syRegionQueryWrapper);
- syRegionBaseDTO.setQueProv(city.getId());
- syRegionBaseDTO.setQueProvName(city.getName());
- // 查询区
- syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getDistrict());
- SyRegion district = service.getOne(syRegionQueryWrapper);
- syRegionBaseDTO.setQueProv(district.getId());
- syRegionBaseDTO.setQueProvName(district.getName());
- // 查询街道
- syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getTown());
- SyRegion town = service.getOne(syRegionQueryWrapper);
- syRegionBaseDTO.setQueProv(town.getId());
- syRegionBaseDTO.setQueProvName(town.getName());
- }
- return ReturnSucUtils.getRepInfo(syRegionBaseDTO);
+ QueAddrBaseDTO queAddrBaseDTO = service.getQueAddrByBaiduiLngLat(lng, lat);
+ return ReturnSucUtils.getRepInfo(queAddrBaseDTO);
} catch (Exception e) {
return ReturnFailUtils.getRepInfo();
}
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java
index 67ff856..820372a 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java
@@ -1,11 +1,16 @@
package cn.huge.module.kind.controller.web;
+import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
import cn.huge.module.kind.domain.dto.RegionSelectJSDTO;
import cn.huge.module.kind.domain.dto.RegionSelectSaveDTO;
import cn.huge.module.kind.domain.po.SyRegion;
import cn.huge.module.kind.service.SyRegionService;
+import cn.huge.module.sys.dto.QueAddrBaseDTO;
+import cn.huge.module.utils.BaiduMapAddrDTO;
+import cn.huge.module.utils.BaiduMapUtils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -185,4 +190,21 @@
}
}
+ /**
+ * 根据百度地图经纬度获取街道
+ * @url {ctx}/api/web/syRegion/getQueAddrByBaiduiLngLat
+ * @param lng 经度
+ * @param lat 维度
+ * @return
+ */
+ @GetMapping("/getQueAddrByBaiduiLngLat")
+ public Object getQueAddrByBaiduiLngLat(@RequestParam(value = "lng") String lng, @RequestParam(value = "lat") String lat) {
+ try {
+ QueAddrBaseDTO queAddrBaseDTO = service.getQueAddrByBaiduiLngLat(lng, lat);
+ return ReturnSucUtils.getRepInfo(queAddrBaseDTO);
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+
}
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..b74fb2d 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,15 @@
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.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;
@@ -161,6 +166,41 @@
}
}
+ /**
+ * 根据百度地图经纬度获取街道
+ * @param lng
+ * @param lat
+ * @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;
+ }
+
}
--
Gitblit v1.8.0