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); } 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); } } /** 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>