From 77776780812cadbd661f3b929c13195e18ec18fe Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期二, 02 七月 2024 17:02:08 +0800
Subject: [PATCH] 电磁锁根据三一车辆主键修改提交

---
 ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java    |    8 ++++
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java            |    4 ++
 ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java         |    2 +
 ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml                  |    7 +++
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java |   46 +++++++++++++++++++++++
 5 files changed, 67 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 d3b6b6c..d5440b8 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
@@ -171,6 +171,14 @@
         return toAjax(ardTankLockService.deleteLockByCarId(ardTankLock.getCarId()));
     }
 
+    @ApiOperation("淇敼鐢电閿�")
+    @PreAuthorize("@ss.hasPermi('sy:lock:updateLockByCarId')")
+    @Log(title = "鐢电閿�" , businessType = BusinessType.UPDATE)
+    @PutMapping("/updateLockByCarId")
+    public AjaxResult updateLockByCarId(@RequestBody Map<String,Object> para) {
+        return toAjax(ardTankLockService.updateLockByCarId(para));
+    }
+
     /**
      * 鏂板鐢靛瓙鍥存爮
      */
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 495c700..ade8035 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
@@ -1,6 +1,8 @@
 package com.ruoyi.sy.mapper;
 
 import java.util.List;
+import java.util.Set;
+
 import com.ruoyi.sy.domain.ArdTankLock;
 import org.apache.ibatis.annotations.Param;
 
@@ -67,4 +69,6 @@
     public List<ArdTankLock> getLockByCarId(String carId);
 
     public int deleteLockByCarId(String carId);
+
+    public int deleteArdTankLockByIdSet(@Param("idSet") Set<String> idSet);
 }
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 8480ed9..9054df8 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
@@ -69,4 +69,6 @@
     public Map<String, Object> getLockByCarId(String carId,String usersId);
 
     public int deleteLockByCarId(String carId);
+
+    public int updateLockByCarId(Map<String,Object> para);
 }
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 cf528dc..d7980f6 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
@@ -278,4 +278,50 @@
         int result = ardTankLockMapper.deleteLockByCarId(carId);
         return result;
     }
+
+    @Override
+    public int updateLockByCarId(Map<String, Object> para) {
+        int result = 0;
+        String carId = (String) para.get("carId");
+        List<ArdTankLock> ardTankLockOldList = ardTankLockMapper.getLockByCarId(carId);
+        Set<String> idSet = new HashSet();//涔嬪墠鐨勪富閿�
+        for(ArdTankLock ardTankLock : ardTankLockOldList){
+            idSet.add(ardTankLock.getId());
+        }
+        //Set<String> newIdSet = new HashSet();//浼犲弬鐨勪富閿�
+        List<Map<String,Object>> lockList = (List<Map<String, Object>>) para.get("lockList");
+        List<ArdTankLock> ardTankLocks = new ArrayList();
+        for(Map<String,Object> map : lockList){
+            if(map.get("id") != null){//鏈変富閿紝鍋氫慨鏀规搷浣�
+                //newIdSet.add((String) map.get("id"));
+                idSet.remove((String) map.get("id"));
+                ArdTankLock ardTankLock = new ArdTankLock();
+                ardTankLock.setId((String) map.get("id"));
+                ardTankLock.setLockNum((String) map.get("lockNum"));
+                ardTankLock.setLockName((String) map.get("lockName"));
+                ardTankLock.setImgPositionTop((String) map.get("imgPositionTop"));
+                ardTankLock.setImgPositionLeft((String) map.get("imgPositionLeft"));
+                ardTankLock.setCarId((String) map.get("carId"));
+                ardTankLock.setEnable((String) map.get("enable"));
+                result = result + ardTankLockMapper.updateArdTankLock(ardTankLock);
+            }else{//鏃犱富閿紝鍋氫慨鏀规搷浣�
+                ArdTankLock ardTankLock = new ArdTankLock();
+                ardTankLock.setId(IdUtils.simpleUUID());
+                ardTankLock.setLockNum((String) map.get("lockNum"));
+                ardTankLock.setLockName((String) map.get("lockName"));
+                ardTankLock.setImgPositionTop((String) map.get("imgPositionTop"));
+                ardTankLock.setImgPositionLeft((String) map.get("imgPositionLeft"));
+                ardTankLock.setCarId(carId);
+                ardTankLock.setEnable((String) map.get("enable"));
+                ardTankLocks.add(ardTankLock);
+            }
+        }
+        if(ardTankLocks.size() != 0){
+            result = result + ardTankLockMapper.insertArdTankLocks(ardTankLocks);
+        }
+        if(!idSet.isEmpty()){
+            result = result + ardTankLockMapper.deleteArdTankLockByIdSet(idSet);
+        }
+        return result;
+    }
 }
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
index 9e46032..cba1517 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -115,4 +115,11 @@
     <delete id="deleteLockByCarId" parameterType="java.lang.String">
         delete from ard_tank_lock where car_id = #{carId}
     </delete>
+
+    <delete id="deleteArdTankLockByIdSet" >
+        delete from ard_tank_lock where id in
+        <foreach item="id" collection="idSet" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3