package com.dsh.other.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.dsh.other.entity.Store;
|
import com.dsh.other.mapper.StoreMapper;
|
import com.dsh.other.model.BaseVo;
|
import com.dsh.other.service.StoreService;
|
import com.dsh.other.util.GDMapGeocodingUtil;
|
import com.dsh.other.util.ToolUtil;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* <p>
|
* 门店信息 服务实现类
|
* </p>
|
*
|
* @author jqs
|
* @since 2023-06-14
|
*/
|
@Service
|
public class StoreServiceImpl extends ServiceImpl<StoreMapper,Store> implements StoreService {
|
|
@Autowired
|
private GDMapGeocodingUtil gdMapGeocodingUtil;
|
|
|
/**
|
* 获取列表数据
|
* @param provinceCode
|
* @param cityCode
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<Store> queryStorsList(String provinceCode, String cityCode) throws Exception {
|
QueryWrapper objectQueryWrapper = new QueryWrapper<Store>().eq("state", 1);
|
if(ToolUtil.isNotEmpty(provinceCode)){
|
objectQueryWrapper.eq("provinceCode", provinceCode);
|
}
|
if(ToolUtil.isNotEmpty(cityCode)){
|
objectQueryWrapper.eq("cityCode", cityCode);
|
}
|
List<Store> list = this.list(objectQueryWrapper);
|
return list;
|
}
|
|
|
/**
|
* 获取列表数据
|
* @param lon
|
* @param lat
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<BaseVo> queryStoreLists(String lon, String lat) throws Exception {
|
Map<String, String> geocode = gdMapGeocodingUtil.geocode(lon, lat);
|
List<BaseVo> list = new ArrayList<>();
|
if(null != geocode){
|
String provinceCode = geocode.get("provinceCode");
|
String cityCode = geocode.get("cityCode");
|
List<Store> stores = this.queryStorsList(provinceCode, cityCode);
|
for (Store store : stores) {
|
BaseVo baseVo = new BaseVo();
|
BeanUtils.copyProperties(store, baseVo);
|
list.add(baseVo);
|
}
|
}
|
return list;
|
}
|
}
|