From be17f47d43596999f46e0b202d485ccba496b687 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期一, 08 七月 2024 09:23:00 +0800
Subject: [PATCH] 电磁锁与三一车辆耦合修改提交

---
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java         |    2 ++
 ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml               |   23 +++++++++++++++++++----
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java |   15 ++++++++++++++-
 3 files changed, 35 insertions(+), 5 deletions(-)

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 4845edf..52df18d 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
@@ -79,4 +79,6 @@
     public Long selectArdTankLockAllTotal();
 
     public Long selectArdTankLockTotalByCarIdList(@Param("carIdList") List<String> carIdList);
+
+    public int deleteArdTankLockAndWallByCarIds(@Param("carIds") List<String> carIds);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index 118dcdf..8993143 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -26,6 +26,7 @@
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.sy.domain.ArdAccessFence;
+import com.ruoyi.sy.mapper.ArdTankLockMapper;
 import com.ruoyi.sy.param.ArdSyCarParam;
 import com.ruoyi.sy.vo.ArdSyCarVo;
 import com.ruoyi.system.mapper.SysDeptMapper;
@@ -98,6 +99,9 @@
 
     @Resource
     private SysDeptMapper sysDeptMapper;
+
+    @Resource
+    private ArdTankLockMapper ardTankLockMapper;
 
     @Value("${minio.endpoint}")
     private String minioEndpoint;
@@ -212,7 +216,16 @@
             }
         }
         MinioUtil.removeObjects("sycar", objectNames);
-        return ardSyCarMapper.deleteArdSyCarByIds(ids);
+        try{
+            return ardSyCarMapper.deleteArdSyCarByIds(ids);
+        }finally {
+            List<String> carIds = new ArrayList();
+            for(ArdSyCar ardSyCar : result){
+                carIds.add(ardSyCar.getCarId());
+            }
+            ardTankLockMapper.deleteArdTankLockAndWallByCarIds(carIds);
+        }
+
     }
 
     /**
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
index a71f574..88139de 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -127,8 +127,8 @@
         select count(distinct atl.car_id) from ard_tank_lock atl
     </select>
 
-    <select id="getLockByCarIdList" >
-        select * from ard_tank_lock where id in
+    <select id="getLockByCarIdList" resultType="com.ruoyi.sy.domain.ArdTankLock" >
+        select * from ard_tank_lock atl where car_id in
         <foreach item="id" collection="carIdList" open="(" separator="," close=")">
             #{id}
         </foreach>
@@ -139,10 +139,25 @@
         select count(*) from ard_tank_lock atl
     </select>
 
-    <select id="selectArdTankLockTotalByCarIdList" >
-        select count(*) from ard_tank_lock where id in
+    <select id="selectArdTankLockTotalByCarIdList" resultType="java.lang.Long">
+        select count(*) from ard_tank_lock where car_id in
         <foreach item="id" collection="carIdList" open="(" separator="," close=")">
             #{id}
         </foreach>
     </select>
+
+    <delete id="deleteArdTankLockAndWallByCarIds" >
+        delete from ard_tank_wall_lock atwl where atwl.lock_id in (
+        select atl.id from ard_tank_lock atl
+        where atl.car_id in
+        <foreach item="carId" collection="carIds" open="(" separator="," close=")">
+            #{carId}
+        </foreach>
+        );
+        delete from ard_tank_lock atl
+        where atl.car_id in
+        <foreach item="carId" collection="carIds" open="(" separator="," close=")">
+            #{carId}
+        </foreach>
+    </delete>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3