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.model.dto.siteDto.StoreInfoDto; 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; /** *

* 门店信息 服务实现类 *

* * @author jqs * @since 2023-06-14 */ @Service public class StoreServiceImpl extends ServiceImpl implements StoreService { @Autowired private StoreMapper storeMapper; @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; /** * 根据城市管理员id获取门店集合 * * @param id * @return */ @Override public List getStoreByCityManagerId(Integer id) { return storeMapper.getStoreByCityManagerId(id); } /** * 根据门店员工id获取门店集合 * * @param id * @return */ @Override public List getStoreByStoreStaffId(Integer id) { return storeMapper.getStoreByStoreStaffId(id); } @Override public String getOName(Integer operatorId) { return this.baseMapper.getOName(operatorId); } @Override public List> game(Integer appUserId) { return this.baseMapper.game(appUserId); } @Override public OperatorUser queryByStoreId(Integer id) { return this.baseMapper.queryByStoreId(id); } @Override public StoreInfoDto getStoreInfo(Integer id) { return this.baseMapper.getStoreInfo(id); } /** * 获取列表数据 * * @param provinceCode * @param cityCode * @return * @throws Exception */ @Override public List queryStorsList(String provinceCode, String cityCode) throws Exception { QueryWrapper objectQueryWrapper = new QueryWrapper().eq("state", 1); if (ToolUtil.isNotEmpty(provinceCode)) { objectQueryWrapper.eq("provinceCode", provinceCode); } if (ToolUtil.isNotEmpty(cityCode)) { objectQueryWrapper.eq("cityCode", cityCode); } List list = this.list(objectQueryWrapper); return list; } /** * 获取列表数据 * * @param lon * @param lat * @return * @throws Exception */ @Override public List queryStoreLists(String lon, String lat, String cityCode) throws Exception { List list = new ArrayList<>(); if (ToolUtil.isEmpty(lon) || ToolUtil.isEmpty(lat)) { return list; } if (ToolUtil.isNotEmpty(cityCode)) { List stores = this.queryStorsList(null, cityCode); for (Store store : stores) { BaseVo baseVo = new BaseVo(); BeanUtils.copyProperties(store, baseVo); list.add(baseVo); } } else { Map geocode = gdMapGeocodingUtil.geocode(lon, lat); if (null != geocode) { String provinceCode = geocode.get("provinceCode"); String cityCode1 = geocode.get("cityCode"); List 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 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 queryAllCity() throws Exception { return this.baseMapper.queryCity(null); } /** * 根据城市code获取城市列表 * * @param cityCode * @return * @throws Exception */ @Override public List queryStoreByCityCode(String provinceCode, String cityCode) throws Exception { return this.baseMapper.queryStoreByCityCode(provinceCode, cityCode); } }