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.OperatorUser;
|
import com.dsh.other.entity.Store;
|
import com.dsh.other.mapper.StoreMapper;
|
import com.dsh.other.model.BaseVo;
|
import com.dsh.other.model.ProvinceAndCityVo;
|
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 StoreMapper storeMapper;
|
@Autowired
|
private GDMapGeocodingUtil gdMapGeocodingUtil;
|
|
|
/**
|
* 根据城市管理员id获取门店集合
|
* @param id
|
* @return
|
*/
|
@Override
|
public List<Store> getStoreByCityManagerId(Integer id) {
|
return storeMapper.getStoreByCityManagerId(id);
|
}
|
/**
|
* 根据门店员工id获取门店集合
|
* @param id
|
* @return
|
*/
|
@Override
|
public List<Store> getStoreByStoreStaffId(Integer id) {
|
return storeMapper.getStoreByStoreStaffId(id);
|
}
|
|
@Override
|
public String getOName(Integer operatorId) {
|
|
return this.baseMapper.getOName(operatorId);
|
}
|
|
@Override
|
public List<Map<String, Object>> game(Integer appUserId) {
|
return this.baseMapper.game(appUserId);
|
}
|
|
@Override
|
public OperatorUser queryByStoreId(Integer id) {
|
return this.baseMapper.queryByStoreId(id);
|
}
|
|
|
/**
|
* 获取列表数据
|
* @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,String cityCode) throws Exception {
|
List<BaseVo> list = new ArrayList<>();
|
if(ToolUtil.isEmpty(lon) || ToolUtil.isEmpty(lat)){
|
return list;
|
}
|
if(ToolUtil.isNotEmpty(cityCode)){
|
List<Store> stores = this.queryStorsList(null, cityCode);
|
for (Store store : stores) {
|
BaseVo baseVo = new BaseVo();
|
BeanUtils.copyProperties(store, baseVo);
|
list.add(baseVo);
|
}
|
}else {
|
Map<String, String> geocode = gdMapGeocodingUtil.geocode(lon, lat);
|
if(null != geocode){
|
String provinceCode = geocode.get("provinceCode");
|
String cityCode1 = geocode.get("cityCode");
|
|
List<Store> stores = this.queryStorsList(provinceCode, cityCode1);
|
for (Store store : stores) {
|
BaseVo baseVo = new BaseVo();
|
BeanUtils.copyProperties(store, baseVo);
|
list.add(baseVo);
|
}
|
}
|
}
|
return list;
|
}
|
|
|
/**
|
* 获取开通省市
|
* @param pcode
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<ProvinceAndCityVo> queryProvinceAndCity(String pcode) throws Exception {
|
if(ToolUtil.isEmpty(pcode)){
|
return this.baseMapper.queryProvince();
|
}
|
if(ToolUtil.isNotEmpty(pcode)){
|
return this.baseMapper.queryCity(pcode);
|
}
|
return null;
|
}
|
|
|
/**
|
* 获取所有开通城市
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<ProvinceAndCityVo> queryAllCity() throws Exception {
|
return this.baseMapper.queryCity(null);
|
}
|
|
|
/**
|
* 根据城市code获取城市列表
|
* @param cityCode
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<BaseVo> queryStoreByCityCode(String provinceCode,String cityCode) throws Exception {
|
return this.baseMapper.queryStoreByCityCode(provinceCode,cityCode);
|
}
|
|
|
}
|