Administrator
2023-08-21 fdbb8d1d091524727456bf63d86b9612d39f822d
ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
@@ -125,6 +125,9 @@
     */
    @Override
    public List<SysUser> getNearAppUsers(SchedulingParam param) {
        List<SysUser> filteredList = new ArrayList<>();
        try {
            Long deptId = SecurityUtils.getLoginUser().getUser().getDeptId();
        Double longitude = param.getLongitude();
        Double latitude = param.getLatitude();
        if (longitude == null && latitude == null) {
@@ -139,20 +142,19 @@
        }
        SysUser user = new SysUser();
            user.setDeptId(deptId);
        List<SysUser> appUserList = iSysUserService.selectAllAppUserList(user);
        //过滤在线
        List<SysUser> onLineList = appUserList.stream()
                .filter(sysUser -> (sysUser.getAppOnlineState().equals("1")))
                .collect(Collectors.toList());
        //过滤范围
        List<SysUser> filteredList = new ArrayList<>();
        for(SysUser sysUser:onLineList) {
            ArdAppPosition ardAppPosition = ardAppPositionMapper.selectLastArdAppPositionByUserId(sysUser.getUserId());
            if (ardAppPosition != null) {
                Double lon = ardAppPosition.getLongitude();
                Double lat = ardAppPosition.getLatitude();
                if(longitude==null||latitude==null)
                {
                    if (longitude == null || latitude == null) {
                    continue;
                }
                double distance = GisTool.getDistance(new double[]{ longitude, latitude}, new double[]{ lon, lat});
@@ -165,6 +167,9 @@
                }
            }
        }
        } catch (Exception ex) {
            log.error("获取封控圈内所有在线app用户异常" + ex.getMessage());
        }
        return filteredList;
    }