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