|
@@ -2,19 +2,24 @@ package com.ydtech.modules.admin.service.impl;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ydtech.modules.admin.dao.SysDeptMapper;
|
|
import com.ydtech.modules.admin.dao.SysDeptMapper;
|
|
|
|
|
+import com.ydtech.modules.admin.dao.SysPcAddressHistoryMapper;
|
|
|
import com.ydtech.modules.admin.dao.SysPcAddressMapper;
|
|
import com.ydtech.modules.admin.dao.SysPcAddressMapper;
|
|
|
import com.ydtech.modules.admin.model.SysDept;
|
|
import com.ydtech.modules.admin.model.SysDept;
|
|
|
import com.ydtech.modules.admin.model.SysUser;
|
|
import com.ydtech.modules.admin.model.SysUser;
|
|
|
import com.ydtech.modules.admin.model.dto.*;
|
|
import com.ydtech.modules.admin.model.dto.*;
|
|
|
import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
|
|
import com.ydtech.modules.admin.model.po.SysPcAddressHistory;
|
|
|
import com.ydtech.modules.admin.model.po.SysPcAddress;
|
|
import com.ydtech.modules.admin.model.po.SysPcAddress;
|
|
|
|
|
+import com.ydtech.modules.admin.model.vo.PcAddressHistoryInfoVo;
|
|
|
|
|
+import com.ydtech.modules.admin.model.vo.PcAddressHistoryTimeVo;
|
|
|
import com.ydtech.modules.admin.model.vo.RegionInfoVo;
|
|
import com.ydtech.modules.admin.model.vo.RegionInfoVo;
|
|
|
import com.ydtech.modules.admin.service.GeoService;
|
|
import com.ydtech.modules.admin.service.GeoService;
|
|
|
import com.ydtech.modules.admin.service.SysPcAddressHistoryService;
|
|
import com.ydtech.modules.admin.service.SysPcAddressHistoryService;
|
|
|
import com.ydtech.modules.admin.service.SysPcAddressService;
|
|
import com.ydtech.modules.admin.service.SysPcAddressService;
|
|
|
|
|
+import com.ydtech.modules.admin.service.SysUserService;
|
|
|
import com.ydtech.modules.order.entity.BasePageResult;
|
|
import com.ydtech.modules.order.entity.BasePageResult;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
@@ -39,7 +44,10 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
|
|
|
|
|
private final SysPcAddressMapper sysPcAddressMapper;
|
|
private final SysPcAddressMapper sysPcAddressMapper;
|
|
|
|
|
|
|
|
|
|
+ private final SysPcAddressHistoryMapper sysPcAddressHistoryMapper;
|
|
|
|
|
+
|
|
|
private final GeoService geoService;
|
|
private final GeoService geoService;
|
|
|
|
|
+ private final SysUserService sysUserService;
|
|
|
|
|
|
|
|
private static final String PC_GEO_KEY = "PCLocations";
|
|
private static final String PC_GEO_KEY = "PCLocations";
|
|
|
|
|
|
|
@@ -68,7 +76,7 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
sysPcAddress.setSource(sysDept.getManagementSource());
|
|
sysPcAddress.setSource(sysDept.getManagementSource());
|
|
|
sysPcAddress.setAddress(ipInfoDto.getProv() + ipInfoDto.getCity() + ipInfoDto.getDistrict());
|
|
sysPcAddress.setAddress(ipInfoDto.getProv() + ipInfoDto.getCity() + ipInfoDto.getDistrict());
|
|
|
sysPcAddress.setOperationTime(new Date());
|
|
sysPcAddress.setOperationTime(new Date());
|
|
|
-
|
|
|
|
|
|
|
+ sysPcAddress.setLeaderName(user.getLeaderName());
|
|
|
|
|
|
|
|
SysPcAddressHistory sysPcAddressHistory = new SysPcAddressHistory();
|
|
SysPcAddressHistory sysPcAddressHistory = new SysPcAddressHistory();
|
|
|
BeanUtils.copyProperties(sysPcAddress, sysPcAddressHistory);
|
|
BeanUtils.copyProperties(sysPcAddress, sysPcAddressHistory);
|
|
@@ -96,6 +104,7 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
public List<SysPcAddress> findLocationsWithinRadius(AdressRangeDto adressRangeDto) {
|
|
public List<SysPcAddress> findLocationsWithinRadius(AdressRangeDto adressRangeDto) {
|
|
|
geoService.addLocations(list(), PC_GEO_KEY);
|
|
geoService.addLocations(list(), PC_GEO_KEY);
|
|
|
List<String> nearbyIds = geoService.findNearbyIds(PC_GEO_KEY, adressRangeDto.getLongitude(), adressRangeDto.getLatitude(), adressRangeDto.getRadius());
|
|
List<String> nearbyIds = geoService.findNearbyIds(PC_GEO_KEY, adressRangeDto.getLongitude(), adressRangeDto.getLatitude(), adressRangeDto.getRadius());
|
|
|
|
|
+ if (CollectionUtil.isEmpty(nearbyIds)) return new ArrayList<>();
|
|
|
return listByIds(nearbyIds);
|
|
return listByIds(nearbyIds);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -119,9 +128,18 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
.eq(StringUtils.isNotEmpty(sysPcAddressDto.getCity()), SysPcAddress::getCity, sysPcAddressDto.getCity())
|
|
.eq(StringUtils.isNotEmpty(sysPcAddressDto.getCity()), SysPcAddress::getCity, sysPcAddressDto.getCity())
|
|
|
.eq(StringUtils.isNotEmpty(sysPcAddressDto.getDistrict()), SysPcAddress::getDistrict, sysPcAddressDto.getDistrict())
|
|
.eq(StringUtils.isNotEmpty(sysPcAddressDto.getDistrict()), SysPcAddress::getDistrict, sysPcAddressDto.getDistrict())
|
|
|
.eq(SysPcAddress::getSource,2));
|
|
.eq(SysPcAddress::getSource,2));
|
|
|
|
|
+
|
|
|
|
|
+ Long onlineNum = sysPcAddressMapper.selectCount(new LambdaQueryWrapper<SysPcAddress>()
|
|
|
|
|
+ .eq(StringUtils.isNotEmpty(sysPcAddressDto.getProvince()), SysPcAddress::getProvince, sysPcAddressDto.getProvince())
|
|
|
|
|
+ .eq(StringUtils.isNotEmpty(sysPcAddressDto.getCity()), SysPcAddress::getCity, sysPcAddressDto.getCity())
|
|
|
|
|
+ .eq(StringUtils.isNotEmpty(sysPcAddressDto.getDistrict()), SysPcAddress::getDistrict, sysPcAddressDto.getDistrict())
|
|
|
|
|
+ .in(SysPcAddress::getSource, Arrays.asList("1","2")).eq(SysPcAddress::getStatus,1));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
sysPcAddressNumVo.setAllNum(all);
|
|
sysPcAddressNumVo.setAllNum(all);
|
|
|
sysPcAddressNumVo.setProxyNum(proxyNum);
|
|
sysPcAddressNumVo.setProxyNum(proxyNum);
|
|
|
sysPcAddressNumVo.setChannelNum(channelNum);
|
|
sysPcAddressNumVo.setChannelNum(channelNum);
|
|
|
|
|
+ sysPcAddressNumVo.setOnlineNum(onlineNum);
|
|
|
|
|
|
|
|
return sysPcAddressNumVo;
|
|
return sysPcAddressNumVo;
|
|
|
}
|
|
}
|
|
@@ -179,6 +197,22 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
insOrdersPage.getRecords());
|
|
insOrdersPage.getRecords());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public PcAddressHistoryInfoVo getPcAddress(String dates) {
|
|
|
|
|
+ PcAddressHistoryInfoVo pcAddressHistoryInfoVo = new PcAddressHistoryInfoVo();
|
|
|
|
|
+ List<PcAddressHistoryTimeVo> pcAddress = sysPcAddressHistoryMapper.getPcAddress(dates);
|
|
|
|
|
+ pcAddressHistoryInfoVo.setList(pcAddress);
|
|
|
|
|
+ QueryWrapper<SysPcAddressHistory> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ // 指定 COUNT(DISTINCT user_id) 查询
|
|
|
|
|
+ queryWrapper.select("COUNT(DISTINCT user_id) AS total").likeRight(StringUtils.isNotEmpty(dates),"operation_time",dates)
|
|
|
|
|
+ .in("source",Arrays.asList(1,2));
|
|
|
|
|
+ Map<String, Object> result = sysPcAddressHistoryService.getMap(queryWrapper);
|
|
|
|
|
+ Long total = (Long)result.get("total");
|
|
|
|
|
+ pcAddressHistoryInfoVo.setOnlineNum(total);
|
|
|
|
|
+
|
|
|
|
|
+ return pcAddressHistoryInfoVo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|