package com.stylefeng.guns.modular.system.service.impl;
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.stylefeng.guns.modular.system.dao.OpenCityBusinessMapper;
|
import com.stylefeng.guns.modular.system.model.OpenCityBusiness;
|
import com.stylefeng.guns.modular.system.service.IOpenCityBusinessService;
|
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 com.stylefeng.guns.modular.system.warpper.BaseWarpper;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
@Service
|
public class OpenCityBusinessServiceImpl extends ServiceImpl<OpenCityBusinessMapper, OpenCityBusiness> implements IOpenCityBusinessService {
|
|
@Resource
|
private OpenCityBusinessMapper openCityBusinessMapper;
|
|
|
/**
|
* 获取业务类型
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<BaseWarpper> queryBusiness(Double lat, Double lnt, Integer language) throws Exception {
|
if(null == language){
|
language = 2;
|
}
|
ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt);
|
if(null == reverseGeocode){
|
return new ArrayList<>();
|
}
|
AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
|
String[] city = new String[addressComponentsVos.length];
|
for (int i = 0; i < addressComponentsVos.length; i++) {
|
city[i] = addressComponentsVos[i].getLongName();
|
}
|
List<OpenCityBusiness> openCityBusinesses = openCityBusinessMapper.queryBusiness(city);
|
List<BaseWarpper> list = new ArrayList<>();
|
for(OpenCityBusiness b : openCityBusinesses){
|
BaseWarpper baseWarpper = new BaseWarpper();
|
switch (b.getBusinessType()){
|
case 1:
|
baseWarpper.setName(language == 1 ? "专车" : language == 2 ? "special car" : "voiture spéciale");
|
baseWarpper.setId(1);
|
break;
|
// case 2:
|
// baseWarpper.setName(language == 1 ? "出租车" : language == 2 ? "" : "");
|
// baseWarpper.setId(2);
|
// break;
|
// case 3:
|
// baseWarpper.setName(language == 1 ? "跨城出行" : language == 2 ? "" : "");
|
// baseWarpper.setId(3);
|
// break;
|
case 4:
|
baseWarpper.setName(language == 1 ? "市内小件物流" : language == 2 ? "Small logistics in the city" : "Petite logistique en ville");
|
baseWarpper.setId(4);
|
break;
|
// case 5:
|
// baseWarpper.setName(language == 1 ? "跨城小件物流" : language == 2 ? "" : "");
|
// baseWarpper.setId(5);
|
// break;
|
// case 6:
|
// baseWarpper.setName(language == 1 ? "包车" : language == 2 ? "" : "");
|
// baseWarpper.setId(6);
|
// break;
|
}
|
list.add(baseWarpper);
|
}
|
return list;
|
}
|
|
|
/**
|
* 根据开通的城市id获取业务类型
|
* @param id
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<BaseWarpper> queryBusinessById(Integer id, Integer language) throws Exception {
|
if(null == language){
|
language = 2;
|
}
|
List<OpenCityBusiness> openCityBusinesses = openCityBusinessMapper.queryBusinessById(id);
|
List<BaseWarpper> list = new ArrayList<>();
|
for(OpenCityBusiness b : openCityBusinesses){
|
BaseWarpper baseWarpper = new BaseWarpper();
|
switch (b.getBusinessType()){
|
case 1:
|
baseWarpper.setName(language == 1 ? "专车" : language == 2 ? "special car" : "voiture spéciale");
|
baseWarpper.setId(1);
|
break;
|
// case 2:
|
// baseWarpper.setName("出租车");
|
// baseWarpper.setId(2);
|
// break;
|
// case 3:
|
// baseWarpper.setName("跨城出行");
|
// baseWarpper.setId(3);
|
// break;
|
case 4:
|
baseWarpper.setName(language == 1 ? "市内小件物流" : language == 2 ? "Small logistics in the city" : "Petite logistique en ville");
|
baseWarpper.setId(4);
|
break;
|
// case 5:
|
// baseWarpper.setName("跨城小件物流");
|
// baseWarpper.setId(5);
|
// break;
|
// case 6:
|
// baseWarpper.setName("包车");
|
// baseWarpper.setId(6);
|
// break;
|
}
|
list.add(baseWarpper);
|
}
|
return list;
|
}
|
}
|