From 6cec7979aaec6febbef519888423c86133821b8c Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期三, 28 二月 2024 17:30:45 +0800
Subject: [PATCH] 三一车辆提交

---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarLockServiceImpl.java |   43 +++++++++++++++++++++++++++----------------
 1 files changed, 27 insertions(+), 16 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 6f7c357..190dc44 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,18 +393,27 @@
         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();
-                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("鏃犺杞︾殑閿佹暟鎹紒");
+        }else{
+            return AjaxResult.error("璇ヨ溅鏃燫TU锛�");
         }
+
     }
 
 

--
Gitblit v1.9.3