forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-10 8a8d15aaa219142fe32b4ae8a074ea278eea2f47
1、根据经纬度查询问题属地接口
4 files modified
94 ■■■■ changed files
dyh-service/dyh-disp/src/main/resources/config/application.yml 4 ●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/client/SyregionClientController.java 28 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/web/SyRegionWebController.java 22 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java 40 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-disp/src/main/resources/config/application.yml
@@ -2,8 +2,8 @@
spring:
  profiles:
    active:
#      - dev
        - test
      - dev
#        - test
  #      - prod
  devtools:
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();
        }
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();
        }
    }
}
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;
    }
}