mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-18 00:45:55 +08:00
设备删除优化
This commit is contained in:
@@ -180,7 +180,7 @@ public interface DeviceMapper
|
||||
* @param deviceIds
|
||||
* @return
|
||||
*/
|
||||
public int deleteDeviceGroupByDeviceId(UserIdAndDeviceIdModel userIdAndDeviceIdModel);
|
||||
public int deleteDeviceGroupByDeviceId(UserIdDeviceIdModel userDeviceGroupIdModel);
|
||||
|
||||
/**
|
||||
* 重置设备状态
|
||||
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 批量删除设备用户
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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});
|
||||
// 批量删除设备日志
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user