设备删除优化

This commit is contained in:
kerwincui
2022-06-16 00:56:42 +08:00
parent 6562746f1e
commit 4f9ac0dca5
7 changed files with 20 additions and 22 deletions

View File

@@ -180,7 +180,7 @@ public interface DeviceMapper
* @param deviceIds
* @return
*/
public int deleteDeviceGroupByDeviceId(UserIdAndDeviceIdModel userIdAndDeviceIdModel);
public int deleteDeviceGroupByDeviceId(UserIdDeviceIdModel userDeviceGroupIdModel);
/**
* 重置设备状态

View File

@@ -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);
/**
* 批量删除设备用户

View File

@@ -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;
}

View File

@@ -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});
// 批量删除设备日志

View File

@@ -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

View File

@@ -447,11 +447,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select count(*) from iot_device where serial_number = #{deviceNum}
</select>
<delete id="deleteDeviceGroupByDeviceId" parameterType="com.ruoyi.iot.model.UserIdAndDeviceIdModel">
<delete id="deleteDeviceGroupByDeviceId" parameterType="com.ruoyi.iot.model.UserIdDeviceIdModel">
delete from iot_device_group
<where>
<if test="1==1"> and device_id = #{deviceId}</if>
<if test="userId != null">user_id = #{userId}</if>
<if test="userId != null"> and group_id in(select group_id from iot_group where user_id = #{userId})</if>
</where>
</delete>
</mapper>

View File

@@ -104,11 +104,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where device_id = #{deviceId} and user_id = #{userId}
</update>
<delete id="deleteDeviceUserByDeviceId" parameterType="com.ruoyi.iot.model.UserIdAndDeviceIdModel">
<delete id="deleteDeviceUserByDeviceId" parameterType="com.ruoyi.iot.model.UserIdDeviceIdModel">
delete from iot_device_user
<where>
<if test="1==1"> and device_id = #{deviceId}</if>
<if test="userId != null">user_id = #{userId}</if>
<if test="userId != null"> and user_id = #{userId}</if>
</where>
</delete>