|
|
@@ -11,13 +11,14 @@ import com.ydtech.modules.admin.model.SysDept;
|
|
|
import com.ydtech.modules.admin.model.SysGeographyPosition;
|
|
|
import com.ydtech.modules.admin.model.SysGeographyPositionRecord;
|
|
|
import com.ydtech.modules.admin.model.SysUser;
|
|
|
+import com.ydtech.modules.admin.model.dto.AdressRangeDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysGeographyPositionDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysGeographyPositionPageDto;
|
|
|
import com.ydtech.modules.admin.model.dto.SysPcAddressNumVo;
|
|
|
-import com.ydtech.modules.admin.model.po.SysPcAddress;
|
|
|
import com.ydtech.modules.admin.model.vo.RegionInfoVo;
|
|
|
import com.ydtech.modules.admin.model.vo.SysGeographyPositionInfoVo;
|
|
|
import com.ydtech.modules.admin.model.vo.SysGeographyPositionVo;
|
|
|
+import com.ydtech.modules.admin.service.GeoService;
|
|
|
import com.ydtech.modules.admin.service.SysGeographyPositionRecordService;
|
|
|
import com.ydtech.modules.admin.service.SysGeographyPositionService;
|
|
|
import com.ydtech.modules.admin.service.SysUserService;
|
|
|
@@ -47,7 +48,10 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
|
|
|
|
|
|
@Resource
|
|
|
private SysDeptMapper sysDeptMapper;
|
|
|
+ @Resource
|
|
|
+ private GeoService geoService;
|
|
|
|
|
|
+ private static final String APP_GEO_KEY = "APPLocations";
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -58,10 +62,10 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
|
|
|
.eq(StringUtils.isNotEmpty(sysGeographyPositionDto.getProvince()), SysGeographyPosition::getProvince, sysGeographyPositionDto.getProvince())
|
|
|
.eq(StringUtils.isNotEmpty(sysGeographyPositionDto.getCity()), SysGeographyPosition::getCity, sysGeographyPositionDto.getCity())
|
|
|
.eq(StringUtils.isNotEmpty(sysGeographyPositionDto.getDistrict()), SysGeographyPosition::getDistrict, sysGeographyPositionDto.getDistrict())
|
|
|
- .in(SysGeographyPosition::getSource, Arrays.asList("1","2"))
|
|
|
+ .in(SysGeographyPosition::getSource, Arrays.asList("1", "2"))
|
|
|
.eq(StringUtils.isNotEmpty(sysGeographyPositionDto.getSource()), SysGeographyPosition::getSource, sysGeographyPositionDto.getSource())
|
|
|
.orderByDesc(SysGeographyPosition::getCreateTime));
|
|
|
- if (list.size()==0) return new SysGeographyPositionVo();
|
|
|
+ if (list.size() == 0) return new SysGeographyPositionVo();
|
|
|
|
|
|
List<SysGeographyPositionInfoVo> sysGeographyPositionList = BeanUtil.copyToList(list, SysGeographyPositionInfoVo.class);
|
|
|
//填充机构名
|
|
|
@@ -79,7 +83,7 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
|
|
|
Long aLong = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getStatus, 1));
|
|
|
sysGeographyPositionVo.setManNum(aLong);
|
|
|
|
|
|
- return sysGeographyPositionVo;
|
|
|
+ return sysGeographyPositionVo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -87,7 +91,7 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
|
|
|
Page<SysGeographyPositionRecord> page = new Page<>(sysGeographyPositionPageDto.getPageNum(), sysGeographyPositionPageDto.getPageSize());
|
|
|
|
|
|
LambdaQueryWrapper<SysGeographyPositionRecord> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(StringUtils.isNotEmpty(sysGeographyPositionPageDto.getId()),SysGeographyPositionRecord::getUserId, sysGeographyPositionPageDto.getId());
|
|
|
+ wrapper.eq(StringUtils.isNotEmpty(sysGeographyPositionPageDto.getId()), SysGeographyPositionRecord::getUserId, sysGeographyPositionPageDto.getId());
|
|
|
wrapper.orderByDesc(SysGeographyPositionRecord::getCreateTime);
|
|
|
|
|
|
Page<SysGeographyPositionRecord> insOrdersPage = sysGeographyPositionRecordService.page(page, wrapper);
|
|
|
@@ -103,8 +107,8 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
|
|
|
SysPcAddressNumVo sysPcAddressNumVo = new SysPcAddressNumVo();
|
|
|
|
|
|
Long all = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>());
|
|
|
- Long channelNum = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getSource,1));
|
|
|
- Long proxyNum = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getSource,2));
|
|
|
+ Long channelNum = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getSource, 1));
|
|
|
+ Long proxyNum = sysGeographyPositionMapper.selectCount(new LambdaQueryWrapper<SysGeographyPosition>().eq(SysGeographyPosition::getSource, 2));
|
|
|
sysPcAddressNumVo.setAllNum(all);
|
|
|
sysPcAddressNumVo.setProxyNum(proxyNum);
|
|
|
sysPcAddressNumVo.setChannelNum(channelNum);
|
|
|
@@ -114,12 +118,12 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<RegionInfoVo> queryRegionInfo(String type) {
|
|
|
+ public List<RegionInfoVo> queryRegionInfo(Integer type) {
|
|
|
List<RegionInfoVo> regionInfoVos = new ArrayList<>();
|
|
|
//全部:null 渠道:1 代理:2
|
|
|
List<SysGeographyPosition> sysPcAddresses = sysGeographyPositionMapper.selectList(new LambdaQueryWrapper<SysGeographyPosition>()
|
|
|
- .in(SysGeographyPosition::getSource, Arrays.asList("1","2"))
|
|
|
- .eq(StringUtils.isNotEmpty(type),SysGeographyPosition::getSource, type));
|
|
|
+ .in(SysGeographyPosition::getSource, Arrays.asList("1", "2"))
|
|
|
+ .eq(type != 0, SysGeographyPosition::getSource, type));
|
|
|
Map<String, List<SysGeographyPosition>> map = sysPcAddresses.stream().collect(Collectors.groupingBy(SysGeographyPosition::getDistrict));
|
|
|
|
|
|
for (Map.Entry<String, List<SysGeographyPosition>> entry : map.entrySet()) {
|
|
|
@@ -132,7 +136,27 @@ public class SysGeographyPositionServiceImpl extends ServiceImpl<SysGeographyPos
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<SysGeographyPositionInfoVo> findLocationsWithinRadius(AdressRangeDto adressRangeDto) {
|
|
|
+
|
|
|
+ geoService.addLocationGeography(list(), APP_GEO_KEY);
|
|
|
+ List<String> nearbyIds = geoService.findNearbyIds(APP_GEO_KEY, adressRangeDto.getLongitude(), adressRangeDto.getLatitude(), adressRangeDto.getRadius());
|
|
|
+ List<SysGeographyPosition> sysGeographyPositions = listByIds(nearbyIds);
|
|
|
+ List<SysGeographyPositionInfoVo> sysGeographyPositionInfoVoList = BeanUtil.copyToList(sysGeographyPositions, SysGeographyPositionInfoVo.class);
|
|
|
+ if (sysGeographyPositionInfoVoList.size()==0) return sysGeographyPositionInfoVoList;
|
|
|
|
|
|
+ for (SysGeographyPositionInfoVo sysGeographyPositionInfoVo : sysGeographyPositionInfoVoList) {
|
|
|
+ SysUser sysUser = sysUserService.getById(sysGeographyPositionInfoVo.getId());
|
|
|
+ if (sysUser == null) continue;
|
|
|
+ SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
|
|
|
+ .eq(SysDept::getId, sysUser.getDeptId()).eq(SysDept::getDelFlag, 0));
|
|
|
+ if (sysDept == null) continue;
|
|
|
+ sysGeographyPositionInfoVo.setDeptName(sysDept.getName());
|
|
|
+ }
|
|
|
+
|
|
|
+ return sysGeographyPositionInfoVoList;
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|