liusuyi
2024-10-10 38f29e38fcc668171dc05c53d40a36b895c86102
ard-work/src/main/java/com/ruoyi/app/position/service/impl/AppPositionPushService.java
@@ -88,12 +88,12 @@
            IArdAppPositionService ardAppPositionService = SpringUtils.getBean(IArdAppPositionService.class);
            ArdAppPosition ardAppPosition = ardAppPositionService.selectLastArdAppPositionByUserId(sysUser.getUserId());
            if (StringUtils.isNotNull(ardAppPosition)) {
                Map<String, Object> params=new HashMap<>();
                params.put("longitude",ardAppPosition.getLongitude());
                params.put("latitude",ardAppPosition.getLatitude());
                params.put("speed",ardAppPosition.getSpeed());
                params.put("bearing",ardAppPosition.getBearing());
                params.put("name",sysUser.getUserName());
                Map<String, Object> params = new HashMap<>();
                params.put("longitude", ardAppPosition.getLongitude());
                params.put("latitude", ardAppPosition.getLatitude());
                params.put("speed", ardAppPosition.getSpeed());
                params.put("bearing", ardAppPosition.getBearing());
                params.put("name", sysUser.getUserName());
                ardAppPosition.setParams(params);
                ArdAppPositions.add(ardAppPosition);
            }
@@ -108,8 +108,8 @@
            for (ArdAppPosition ardAppPosition : data) {
                ISysUserService sysUserService = SpringUtils.getBean(ISysUserService.class);
                SysUser sysUser = sysUserService.selectUserById(ardAppPosition.getUserId());
                if(StringUtils.isNotNull(sysUser)) {
                    if(StringUtils.isNotNull(sysUser.getAppOnlineState())) {
                if (StringUtils.isNotNull(sysUser)) {
                    if (StringUtils.isNotNull(sysUser.getAppOnlineState())) {
                        if (sysUser.getAppOnlineState().equals("1")) {
                            onlineList.add(ardAppPosition);
                        }
@@ -126,6 +126,9 @@
            Map<String, Object> map = JSONObject.parseObject(message, Map.class);
            if (map.size() > 0) {
                Boolean enabled = (Boolean) map.get("enabled");
                if (enabled == null) {
                    return;
                }
                if (enabled) {
                    //启动全局推送
                    List<ArdAppPosition> newList = new ArrayList<>(AppPositionPushService.getAppPositionList());
@@ -172,29 +175,10 @@
                    AppPositionPushService.tempUserTimerMap.remove(userId);
                    AppPositionPushService.tempDataMap.remove(userId);
                }
                //region 旧方法
//            Map<String, List<ArdAppPosition>> dataMap = new HashMap<>();
//            List<ArdAppPosition> positionList = AppPositionPush.initDataMap.get(userId);//获取当前用户的默认发送的数据map
//            if(frequency>0)
//            {
//                //接收到频率大于0,属于申请引导,获取除引导外的其他app用户的位置List
//                List<ArdAppPosition> appPositionList = positionList.stream()
//                        .filter(obj -> !obj.getUserId().equals(uId))
//                        .collect(Collectors.toList());
//                dataMap.put(userId,appPositionList);
//            }
//           else {
//                //接收到频率等于0,属于释放引导,获取到全部app用户的位置List
//                dataMap.put(userId,AppPositionPush.getAppPositionList());
//            }
//            AppPositionPush.initDataMap.putAll(dataMap);//更新初始会话默认数据map
//            AppPositionPush.startLocationPushTask(userId,session,uId, frequency);//开启新任务
                //endregion
            }
        }
        catch (Exception ex)
        {
        } catch (Exception ex) {
            log.error(ex.getMessage());
            WebSocketUtils.sendMessage(userId, "app位置推送解析消息【" + message + "】异常:" + ex.getMessage());
        }
    }