| | |
| | | if(StringUtil.isNotEmpty(token)){ |
| | | String token_ = redisUtil.getValue("USER_" + userId1);//获取缓存中最新的数据 |
| | | if(StringUtil.isNotEmpty(token_) && !token.equals(token_)){//不在同一设备上登录,向其他设备发送数据 |
| | | ChannelHandlerContext context = NettyChannelMap.getData("USER" + userId1); |
| | | JSONObject msg_ = new JSONObject(); |
| | | msg_.put("code", 200); |
| | | msg_.put("msg", "SUCCESS"); |
| | | msg_.put("method", "OFFLINE"); |
| | | msg_.put("data", new Object()); |
| | | this.sendMsgToClient(context, msg_.toJSONString());//给当前通道发送消息 |
| | | TimerTask timerTask = new TimerTask() { |
| | | @Override |
| | | public void run() { |
| | | NettyChannelMap.remove(context); |
| | | } |
| | | }; |
| | | Timer timer = new Timer(); |
| | | timer.schedule(timerTask, 3000); |
| | | timer.cancel(); |
| | | // ChannelHandlerContext context = NettyChannelMap.getData("USER" + userId1); |
| | | // JSONObject msg_ = new JSONObject(); |
| | | // msg_.put("code", 200); |
| | | // msg_.put("msg", "SUCCESS"); |
| | | // msg_.put("method", "OFFLINE"); |
| | | // msg_.put("data", new Object()); |
| | | // this.sendMsgToClient(context, msg_.toJSONString());//给当前通道发送消息 |
| | | // TimerTask timerTask = new TimerTask() { |
| | | // @Override |
| | | // public void run() { |
| | | // NettyChannelMap.remove(context); |
| | | // } |
| | | // }; |
| | | // Timer timer = new Timer(); |
| | | // timer.schedule(timerTask, 3000); |
| | | // timer.cancel(); |
| | | } |
| | | if(StringUtil.isEmpty(token_)){//确保登录的时候存储token失败的情况 |
| | | redisUtil.setStrValue("USER_" + userId1, token); |
| | |
| | | String token_ = redisUtil.getValue("DRIVER_" + userId1);//缓存中拿最新数据 |
| | | if(StringUtil.isNotEmpty(token_) && !token_.equals(token)){ |
| | | //如果是车载端登录,则将其它端都强迫下线 |
| | | JSONObject msg_ = new JSONObject(); |
| | | msg_.put("code", 200); |
| | | msg_.put("msg", "SUCCESS"); |
| | | msg_.put("method", "OFFLINE"); |
| | | msg_.put("data", new Object()); |
| | | this.sendMsgToClient(ctx, msg_.toJSONString());//给当前通道发送消息 |
| | | TimerTask timerTask = new TimerTask() { |
| | | @Override |
| | | public void run() { |
| | | NettyChannelMap.remove(ctx); |
| | | } |
| | | }; |
| | | Timer timer = new Timer(); |
| | | timer.schedule(timerTask, 3000); |
| | | timer.cancel(); |
| | | // JSONObject msg_ = new JSONObject(); |
| | | // msg_.put("code", 200); |
| | | // msg_.put("msg", "SUCCESS"); |
| | | // msg_.put("method", "OFFLINE"); |
| | | // msg_.put("data", new Object()); |
| | | // this.sendMsgToClient(ctx, msg_.toJSONString());//给当前通道发送消息 |
| | | // TimerTask timerTask = new TimerTask() { |
| | | // @Override |
| | | // public void run() { |
| | | // NettyChannelMap.remove(ctx); |
| | | // } |
| | | // }; |
| | | // Timer timer = new Timer(); |
| | | // timer.schedule(timerTask, 3000); |
| | | // timer.cancel(); |
| | | } |
| | | if(StringUtil.isEmpty(token_)){//确保登录的时候存储token失败的情况 |
| | | redisUtil.setStrValue("DRIVER_" + userId1, token); |
| | |
| | | if(StringUtil.isNotEmpty(token) && StringUtil.isEmpty(value)){//APP端登录的操作 |
| | | String token_ = redisUtil.getValue("DRIVER_" + userId1);//缓存中拿最新数据 |
| | | if(StringUtil.isNotEmpty(token_) && !token.equals(token_)){//不在同一设备上登录,向当前设备发送数据 |
| | | ChannelHandlerContext context = NettyChannelMap.getData("DRIVER" + userId1); |
| | | JSONObject msg_ = new JSONObject(); |
| | | msg_.put("code", 200); |
| | | msg_.put("msg", "SUCCESS"); |
| | | msg_.put("method", "OFFLINE"); |
| | | msg_.put("data", new Object()); |
| | | this.sendMsgToClient(context, msg_.toJSONString());//给当前通道发送消息 |
| | | TimerTask timerTask = new TimerTask() { |
| | | @Override |
| | | public void run() { |
| | | NettyChannelMap.remove(context); |
| | | } |
| | | }; |
| | | Timer timer = new Timer(); |
| | | timer.schedule(timerTask, 3000); |
| | | timer.cancel(); |
| | | // ChannelHandlerContext context = NettyChannelMap.getData("DRIVER" + userId1); |
| | | // JSONObject msg_ = new JSONObject(); |
| | | // msg_.put("code", 200); |
| | | // msg_.put("msg", "SUCCESS"); |
| | | // msg_.put("method", "OFFLINE"); |
| | | // msg_.put("data", new Object()); |
| | | // this.sendMsgToClient(context, msg_.toJSONString());//给当前通道发送消息 |
| | | // TimerTask timerTask = new TimerTask() { |
| | | // @Override |
| | | // public void run() { |
| | | // NettyChannelMap.remove(context); |
| | | // } |
| | | // }; |
| | | // Timer timer = new Timer(); |
| | | // timer.schedule(timerTask, 3000); |
| | | // timer.cancel(); |
| | | } |
| | | if(StringUtil.isEmpty(token_)){//确保登录的时候存储token失败的情况 |
| | | redisUtil.setStrValue("DRIVER_" + userId1, token); |
| | |
| | | } |
| | | System.out.println("id:" + driverId + "---lon" + lon + "---lat" + lat); |
| | | redisUtil.setStrValue("DRIVER" + driverId, lon + "," + lat, 300);//实时位置存入redis中 |
| | | redisUtil.addGeo("DRIVER_POSITION", lon, lat, driverId.toString()); |
| | | }else{ |
| | | NettyServerController.sendMsgToClient(ctx, "__error__" + msg.toString()); |
| | | } |