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 |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 9 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 4bb43b6..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
@@ -28,6 +28,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * @author Administrator
@@ -374,22 +375,62 @@
 //        MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
 //        mqttCustomerClient.connect(lockTypeParam.getCarId()+"change"+UUID.randomUUID());
 //        mqttCustomerClient.pushlish(ardSyCarRtu.getTopicPublish(),mapString);
-        return AjaxResult.success("寮�鍏抽攣鍛戒护鍙戦�佹垚鍔�,鍙戦�佽繘搴︿负"+lockTypeParam.getNum());
+        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;
+            }
+//                TimeUnit.SECONDS.sleep(5);
+        }
+        return AjaxResult.success("寮�鍏抽攣鎴愬姛,杩涘害涓�"+lockTypeParam.getNum());
     }
 
     @Override
-    public List<ArdSyCarLock> lockIng(String carId) {
+    public AjaxResult lockIng(String carId) {
         QueryWrapper<ArdSyCarRtu> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("car_id",carId);
         ArdSyCarRtu ardSyCarRtu = rtuMapper.selectOne(queryWrapper);
-        List<ArdSyCarLock> locks = lockMapper.lockList(ardSyCarRtu.getId());
-        for (int i = 0; i < locks.size(); i++) {
-            ArdSyCarLock ardSyCarLock = locks.get(i);
-            double info = ardSyCarLock.getCurrentInfo();
-            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("鏃犺杞︾殑閿佹暟鎹紒");
+            }
+        }else{
+            return AjaxResult.error("璇ヨ溅鏃燫TU锛�");
         }
-        return locks;
+
+    }
+
+    @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 false;
+        }
     }
 
 

--
Gitblit v1.9.3