Pu Zhibing
2 天以前 e25f9982ebb85e4d5fb5551e849b08b348b865ac
MessagePushTravel/src/main/java/com/sinata/push/util/echo/NettyServerController.java
@@ -115,22 +115,22 @@
                        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);
@@ -165,21 +165,21 @@
                     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);
@@ -192,22 +192,22 @@
                  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);
@@ -270,6 +270,7 @@
                  }
                  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());
               }