From ea719b0443b8ccbc6d17349796936664ff3261d0 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 11 二月 2023 19:04:43 +0800 Subject: [PATCH] 修改bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java | 68 ++++++--------------------------- 1 files changed, 13 insertions(+), 55 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java index d5f7ce6..50f2f19 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java @@ -1,10 +1,13 @@ 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; @@ -14,8 +17,10 @@ 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 @@ -25,23 +30,9 @@ private CompanyMapper companyMapper; @Autowired - private GDMapGeocodingUtil gdMapGeocodingUtil; + private ICityService cityService; - /** - * 根据经纬度获取所属企业 - * @param lon - * @param lat - * @return - * @throws Exception - */ - @Override - public Company query(String lon, String lat) throws Exception { - Map<String, String> geocode = gdMapGeocodingUtil.geocode(String.valueOf(lon), String.valueOf(lat)); - String districtCode = geocode.get("districtCode"); - Company query = this.query(districtCode); - return query; - } @Override @@ -51,55 +42,22 @@ return null; } AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos(); - String[] city = new String[addressComponentsVos.length]; + String[] citys = new String[addressComponentsVos.length]; for (int i = 0; i < addressComponentsVos.length; i++) { - city[i] = addressComponentsVos[i].getLongName(); + citys[i] = addressComponentsVos[i].getLongName(); } - Company query = this.query(city); + Company query = this.query(citys); return query; } - /** - * 根据行政编号获取所属企业 - * @param code - * @return - * @throws Exception - */ - @Override - public Company query(String code) throws Exception { - String province = code.substring(0, 2) + "0000"; - String city = code.substring(0, 4) + "00"; - List<Company> query = companyMapper.query(province, city, code); - if(query.size() == 0){ - query = companyMapper.query(province, city, null); - } - if(query.size() == 0){ - query = companyMapper.query(province, null, null); - } - for(int i = 3; i > 0; i--){ - for(Company company : query){ - if(company.getType() == i){ - return company; - } - } - } - return null; - } @Override public Company query(String[] city) throws Exception { - List<Company> query = companyMapper.queryList(city, 3); - if(query.size() == 0){ - query = companyMapper.queryList(city, 2); - } - if(query.size() == 0){ - query = companyMapper.queryList(city, 1); - } - if(query.size() > 0){ - return query.get(0); - } - return null; + 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()); + return companyMapper.query(collect); } } -- Gitblit v1.7.1