forked from gzzfw/backEnd/gz-dyh

huangh
2024-09-26 229cdb3d5692219b8ddd3ebcf13873d3a0bc703a
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;
    }
}