From 9710740f1672fcaab74510ff5e8044c5fd0dafc8 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期二, 02 七月 2024 15:03:41 +0800
Subject: [PATCH] 电磁锁根据三一车辆主键查询提交

---
 ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java    |   11 +++++
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java            |    2 +
 ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java         |    2 +
 ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml                  |    4 ++
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java |   63 +++++++++++++++++++++++++++++++
 5 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
index 48dd8f0..87953d0 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
@@ -151,6 +151,17 @@
     }
 
     /**
+     * 鏍规嵁car_id鑾峰彇鐢电閿佽缁嗕俊鎭�
+     */
+    @ApiOperation("鏍规嵁car_id鑾峰彇鐢电閿佽缁嗕俊鎭�")
+    @PreAuthorize("@ss.hasPermi('sy:lock:getLockByCarId')")
+    @PostMapping("/getLockByCarId")
+    public AjaxResult getLockByCarId(@RequestBody ArdTankLock ardTankLock) {
+        String userId = SecurityUtils.getUserId();
+        return success(ardTankLockService.getLockByCarId(ardTankLock.getCarId(),userId));
+    }
+
+    /**
      * 鏂板鐢靛瓙鍥存爮
      */
     @ApiOperation("鏂板鐢靛瓙鍥存爮")
diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
index e5fe141..c75840d 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
@@ -63,4 +63,6 @@
     public List<ArdTankLock> getAll();
 
     public int insertArdTankLocks(@Param("ardTankLocks") List<ArdTankLock> ardTankLocks);
+
+    public List<ArdTankLock> getLockByCarId(String carId);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
index 7272fc9..8a5b98f 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
@@ -65,4 +65,6 @@
 
     //public Results getAll(String usersId);
     public List<Map<String,Object>> getAll(String usersId);
+
+    public Map<String, Object> getLockByCarId(String carId,String usersId);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
index 8c1b9b5..ff8c7f2 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
@@ -209,4 +209,67 @@
         //return Results.succeed(result0);
         return result0;
     }
+
+    @Override
+    public Map<String, Object> getLockByCarId(String carId, String usersId) {
+        ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId);
+        /*if(ardSyUser == null){
+            return Results.error("娌℃湁鎸傛帴涓変竴杞﹁締鐢ㄦ埛");
+        }*/
+        List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
+        String syURL = "";
+        if(syURLResult.size() != 0){
+            syURL = syURLResult.get(0).getConfigValue();
+        }/*else{
+            return Results.error("涓変竴杞﹁締鍦板潃鏈綍鍏�");
+        }*/
+        String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
+        Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId());
+        String sessionId = (String) LogInResult.get("sessionId");
+        List<ArdTankLock> ardTankLockList = ardTankLockMapper.getLockByCarId(carId);
+        Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId);
+
+        Map<String,Object> resultMap = new HashMap();
+        if(ardTankLockList.size() != 0){
+            resultMap.put("carId",carId);
+            if(((String)syResult.get("rspCode")).equals("1")){
+                Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
+                resultMap.put("carPlate",carMap.get("carPlate"));
+            }
+        }else{
+            resultMap.put("carId",carId);
+            if(((String)syResult.get("rspCode")).equals("1")){
+                Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
+                resultMap.put("carPlate",carMap.get("carPlate"));
+            }
+            resultMap.put("lockList",new ArrayList());
+        }
+
+        List<Map<String,Object>> result = new ArrayList();
+        for(ArdTankLock ardTankLock : ardTankLockList){
+            Map<String,Object> map = new HashMap();
+            map.put("id",ardTankLock.getId());
+            map.put("lockNum",ardTankLock.getLockNum());
+            map.put("lockName",ardTankLock.getLockName());
+            map.put("imgPositionTop",ardTankLock.getImgPositionTop());
+            map.put("imgPositionLeft",ardTankLock.getImgPositionLeft());
+            map.put("carId",ardTankLock.getCarId());
+            map.put("enable",ardTankLock.getEnable());
+            if(ardTankLock.getRestartState() == null){
+                map.put("restartState","");
+            }else{
+                map.put("restartState",ardTankLock.getRestartState());
+            }
+            if(ardTankLock.getOnlineTime() == null){
+                map.put("onlineTime","");
+            }else{
+                map.put("onlineTime",ardTankLock.getOnlineTime());
+            }
+            Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
+            map.put("carPlate",carMap.get("carPlate"));
+            result.add(map);
+        }
+        resultMap.put("lockList",result);
+        return resultMap;
+    }
 }
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
index e7231e9..d07658d 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -107,4 +107,8 @@
              #{ardTankLock.onlineTime})
         </foreach >
     </insert>
+
+    <select id="getLockByCarId" resultMap="ArdTankLockResult" parameterType="java.lang.String">
+        select * from ard_tank_lock atl where car_id = #{carId} order by atl.lock_num
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3