zhangnaisong
2024-07-25 a17551833794cceabddff337bf185dbfb97b44ae
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -206,7 +206,8 @@
                thread.start();
            }
        };
        lockStateTimer.scheduleAtFixedRate(lockStateTask,date,3000);
        //lockStateTimer.scheduleAtFixedRate(lockStateTask,date,3000);
        lockStateTimer.scheduleAtFixedRate(lockStateTask,date,5000);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Timer lockCheckTimeTimer = new Timer();//定时校准时间
@@ -289,34 +290,17 @@
                }
            }
        };
        lockCheckTimeTimer.scheduleAtFixedRate(lockCheckTimeTask,date,10000);
        lockCheckTimeTimer.scheduleAtFixedRate(lockCheckTimeTask,date,13000);
        Timer sendTimer = new Timer();//定时发送锁状态
        TimerTask sendLockStateTask =new TimerTask(){
        TimerTask sendLockStateTask = new TimerTask(){
            @Override
            public void run() {
                SysConfig config = new SysConfig();
                config.setConfigKey("syCarPT");
                List<SysConfig> sysConfigResult = sysConfigService.selectConfigList(config);
                String syURL = "";
                if(sysConfigResult.size() == 0){
                    return;
                }else{
                    syURL = sysConfigResult.get(0).getConfigValue();
                }
                String passwordMd5 = DigestUtils.md5Hex(password);
                Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, userId);
                String sessionId = (String) LogInResult.get("sessionId");
                String finalSyURL = syURL;
                for (String key : ONLINE_USER_SESSIONS.keySet()){
                    Thread lockThread = new Thread(finalSyURL) {
                    Thread lockThread = new Thread() {
                        @Override
                        public void run() {
                            String usersId = key.split("_")[0];
                            ardTankLockService.sendLockState(usersId,userId,password);
                            ardTankLockService.sendLockState(key,userId,password);
                        }
                    };
                    lockThread.start();
@@ -325,6 +309,27 @@
        };
        sendTimer.scheduleAtFixedRate(sendLockStateTask,date,3000);
        try{
            Thread.sleep(3000);
        }catch(Exception e){
        }
        Timer alarmTimer = new Timer();//定时获取报警
        TimerTask alarmTask = new TimerTask(){
            @Override
            public void run() {
                Thread alarmThread = new Thread() {
                    @Override
                    public void run() {
                        ardTankLockService.getAlarm(userId,password);
                    }
                };
                alarmThread.start();
            }
        };
        alarmTimer.scheduleAtFixedRate(alarmTask,date,3000);
    }