From 2799314298467be9ed68d9e19891e35cb3c3edad Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 01 八月 2024 08:14:18 +0800
Subject: [PATCH] 电磁锁动作状态改为操控中...提交

---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 42 insertions(+), 18 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
index a3411f0..ad1fbed 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java
@@ -375,15 +375,17 @@
 //        MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
 //        mqttCustomerClient.connect(lockTypeParam.getCarId()+"change"+UUID.randomUUID());
 //        mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
-        try {
-            while(true){
-                TimeUnit.SECONDS.sleep(5);
+        int min = lockTypeParam.getNum() -5;  int max = lockTypeParam.getNum() +5;
+        while(true){
+            ArdSyCarLock ardSyCarLockLoop = lockMapper.selectById(lockTypeParam.getLockId());
+            Double currentInfo =  ardSyCarLockLoop.getCurrentInfo();
+            int d = (int) ((int)(currentInfo*150/138.3 - 4)/0.16);
+            if(d >= min && d <= max){
                 break;
             }
-        } catch (InterruptedException e) {
-            e.printStackTrace();
+//                TimeUnit.SECONDS.sleep(5);
         }
-        return AjaxResult.success("寮�鍏抽攣鍛戒护鍙戦�佹垚鍔�,鍙戦�佽繘搴︿负"+lockTypeParam.getNum());
+        return AjaxResult.success("寮�鍏抽攣鎴愬姛,杩涘害涓�"+lockTypeParam.getNum());
     }
 
     @Override
@@ -391,21 +393,43 @@
         QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("car_id",carId);
         ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper);
-        List<ArdSyCarLock> locks = lockMapper.lockList(ardSyCarRtu.getId());
-        if(locks.size()>0){
-            for (int i = 0; i < locks.size(); i++) {
-                ArdSyCarLock ardSyCarLock = locks.get(i);
-                double info = ardSyCarLock.getCurrentInfo();
-                if(Double.isNaN(info)){
-                    ardSyCarLock.setCurrentInfo(0.0);
-                }else {
-                    int d = (int) ((int)(info*150/138.3 - 4)/0.16);
-                    ardSyCarLock.setCurrentInfo((double) d);
+        if(ardSyCarRtu!=null){
+            List<ArdSyCarLock> locks = lockMapper.lockList(ardSyCarRtu.getId());
+            if(locks.size()>0){
+                for (int i = 0; i < locks.size(); i++) {
+                    ArdSyCarLock ardSyCarLock = locks.get(i);
+                    if(ardSyCarLock.getCurrentInfo()!=null){
+                        double info = ardSyCarLock.getCurrentInfo();
+                        int d = (int) ((int)(info*150/138.3 - 4)/0.16);
+                        ardSyCarLock.setCurrentInfo((double) d);
+                    }else {
+                        ardSyCarLock.setCurrentInfo(0.0);
+                    }
                 }
+                return AjaxResult.success(locks);
+            }else {
+                return AjaxResult.error("鏃犺杞︾殑閿佹暟鎹紒");
             }
-            return AjaxResult.success(locks);
+        }else{
+            return AjaxResult.error("璇ヨ溅鏃燫TU锛�");
+        }
+
+    }
+
+    @Override
+    public Boolean isLock(String carId) {
+        QueryWrapper<ArdSyCarRtu> queryWrapperRtu = new QueryWrapper<>();
+        queryWrapperRtu.eq("car_id",carId);
+        ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapperRtu);
+        if(ardSyCarRtu!=null){
+            List<ArdSyCarLock> ardSyCarLocks = lockMapper.lockList(ardSyCarRtu.getId());
+            if(ardSyCarLocks.size()>0){
+                return true;
+            }else {
+                return false;
+            }
         }else {
-            return AjaxResult.error("鏃犺杞︾殑閿佹暟鎹紒");
+            return false;
         }
     }
 

--
Gitblit v1.9.3