diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceMapper.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceMapper.java index b2266d1c..7ede8158 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceMapper.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceMapper.java @@ -180,7 +180,7 @@ public interface DeviceMapper * @param deviceIds * @return */ - public int deleteDeviceGroupByDeviceId(UserIdAndDeviceIdModel userIdAndDeviceIdModel); + public int deleteDeviceGroupByDeviceId(UserIdDeviceIdModel userDeviceGroupIdModel); /** * 重置设备状态 diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceUserMapper.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceUserMapper.java index 2f9504e2..19fe2b19 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceUserMapper.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mapper/DeviceUserMapper.java @@ -2,7 +2,7 @@ package com.ruoyi.iot.mapper; import java.util.List; import com.ruoyi.iot.domain.DeviceUser; -import com.ruoyi.iot.model.UserIdAndDeviceIdModel; +import com.ruoyi.iot.model.UserIdDeviceIdModel; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -53,7 +53,7 @@ public interface DeviceUserMapper * @param UserIdAndDeviceIdModel 用户ID和设备ID * @return 结果 */ - public int deleteDeviceUserByDeviceId(UserIdAndDeviceIdModel userIdAndDeviceIdModel); + public int deleteDeviceUserByDeviceId(UserIdDeviceIdModel userDeviceGroupIdModel); /** * 批量删除设备用户 diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/UserIdAndDeviceIdModel.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/UserIdDeviceIdModel.java similarity index 84% rename from springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/UserIdAndDeviceIdModel.java rename to springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/UserIdDeviceIdModel.java index 1f06fdda..7ba75b9d 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/UserIdAndDeviceIdModel.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/UserIdDeviceIdModel.java @@ -6,17 +6,18 @@ package com.ruoyi.iot.model; * @author kerwincui * @date 2021-12-16 */ -public class UserIdAndDeviceIdModel +public class UserIdDeviceIdModel { private Long userId; private Long deviceId; - public UserIdAndDeviceIdModel(Long userId,Long deviceId){ + public UserIdDeviceIdModel(Long userId, Long deviceId){ this.userId=userId; this.deviceId=deviceId; } + public Long getUserId() { return userId; } diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java index 55e7f8ec..c1d1940a 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java @@ -6,7 +6,6 @@ import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.http.HttpUtils; @@ -867,18 +866,17 @@ public class DeviceServiceImpl implements IDeviceService { break; } } - Device device=deviceMapper.selectDeviceByDeviceId(deviceId); if(isGeneralUser && device.getUserId().longValue()!=user.getUserId()){ - // 删除用户的设备用户信息。 普通用户,且不是设备所有者。 - deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdAndDeviceIdModel(user.getUserId(),deviceId)); - // 删除用户的设备分组 - deviceMapper.deleteDeviceGroupByDeviceId(new UserIdAndDeviceIdModel(user.getUserId(),deviceId)); + // 删除用户分组中的设备 普通用户,且不是设备所有者。 + deviceMapper.deleteDeviceGroupByDeviceId(new UserIdDeviceIdModel(user.getUserId(),deviceId)); + // 删除用户的设备用户信息。 + deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdDeviceIdModel(user.getUserId(),deviceId)); }else{ - // 删除设备用户。 租户、管理员和设备所有者 - deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdAndDeviceIdModel(null,deviceId)); - // 删除设备分组。 - deviceMapper.deleteDeviceGroupByDeviceId(new UserIdAndDeviceIdModel(null,deviceId)); + // 删除设备分组。 租户、管理员和设备所有者 + deviceMapper.deleteDeviceGroupByDeviceId(new UserIdDeviceIdModel(null,deviceId)); + // 删除设备用户。 + deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdDeviceIdModel(null,deviceId)); // 删除定时任务 deviceJobService.deleteJobByDeviceIds(new Long[]{deviceId}); // 批量删除设备日志 diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceUserServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceUserServiceImpl.java index fccc8cf4..a829c827 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceUserServiceImpl.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceUserServiceImpl.java @@ -4,13 +4,12 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.iot.domain.DeviceUser; import com.ruoyi.iot.mapper.DeviceUserMapper; -import com.ruoyi.iot.model.UserIdAndDeviceIdModel; +import com.ruoyi.iot.model.UserIdDeviceIdModel; import com.ruoyi.iot.service.IDeviceUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; -import java.sql.SQLIntegrityConstraintViolationException; import java.util.List; import static com.ruoyi.common.utils.SecurityUtils.getLoginUser; @@ -104,7 +103,7 @@ public class DeviceUserServiceImpl implements IDeviceUserService @Override public int deleteDeviceUserByDeviceId(Long deviceId) { - return deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdAndDeviceIdModel(null,deviceId)); + return deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdDeviceIdModel(null,deviceId)); } @Override diff --git a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml index 6fae9f62..bf01efdd 100644 --- a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml +++ b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml @@ -447,11 +447,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select count(*) from iot_device where serial_number = #{deviceNum} - + delete from iot_device_group and device_id = #{deviceId} - user_id = #{userId} + and group_id in(select group_id from iot_group where user_id = #{userId}) \ No newline at end of file diff --git a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceUserMapper.xml b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceUserMapper.xml index 96920e1f..33139f4c 100644 --- a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceUserMapper.xml +++ b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceUserMapper.xml @@ -104,11 +104,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where device_id = #{deviceId} and user_id = #{userId} - + delete from iot_device_user and device_id = #{deviceId} - user_id = #{userId} + and user_id = #{userId}