From 57909bfeb70e80689cfe515198e3a30ad3868bb8 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 07 八月 2024 09:35:28 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0 --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java | 41 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 39 insertions(+), 2 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java index 9af925e..ca19a16 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java @@ -1,18 +1,26 @@ package com.stylefeng.guns.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.modular.system.dao.CompanyCityMapper; import com.stylefeng.guns.modular.system.dao.CompanyMapper; +import com.stylefeng.guns.modular.system.model.City; import com.stylefeng.guns.modular.system.model.Company; import com.stylefeng.guns.modular.system.model.CompanyCity; +import com.stylefeng.guns.modular.system.service.ICityService; import com.stylefeng.guns.modular.system.service.ICompanyCityService; import com.stylefeng.guns.modular.system.util.GDMapGeocodingUtil; +import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo; +import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; +import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service @@ -23,6 +31,9 @@ @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; + + @Autowired + private ICityService cityService; /** @@ -39,8 +50,22 @@ Company query = this.query(districtCode); return query; } - - + + @Override + public Company query1(String lon, String lat) throws Exception { + ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(Double.valueOf(lat), Double.valueOf(lon)); + if(null == reverseGeocode){ + return null; + } + AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos(); + String[] citys = new String[addressComponentsVos.length]; + for (int i = 0; i < addressComponentsVos.length; i++) { + citys[i] = addressComponentsVos[i].getLongName(); + } + Company query = this.query1(citys); + return query; + } + /** * 根据行政编号获取所属企业 * @param code @@ -82,4 +107,16 @@ } return null; } + + + + public Company query1(String[] city) throws Exception { + List<City> cities = cityService.selectList(new EntityWrapper<City>().in("chineseName", Arrays.asList(city)).or() + .in("englishName", Arrays.asList(city)).or().in("frenchName", Arrays.asList(city))); + List<Integer> collect = cities.stream().map(City::getId).collect(Collectors.toList()); + if(collect.size() == 0){ + return null; + } + return companyMapper.query1(collect); + } } -- Gitblit v1.7.1