diff --git a/src/main/java/com/ifish/serviceImpl/BaseServiceImpl.java b/src/main/java/com/ifish/serviceImpl/BaseServiceImpl.java index 3d70390..e93629a 100644 --- a/src/main/java/com/ifish/serviceImpl/BaseServiceImpl.java +++ b/src/main/java/com/ifish/serviceImpl/BaseServiceImpl.java @@ -817,11 +817,22 @@ public class BaseServiceImpl implements BaseService { //是主控则解除全部关系 if (deviceUser.getIsMaster().equals(BooleanEnum.YES.getKey())) { //已关联设备的所有用户 - List deviceUserList = this.deviceUserDao.findByProperty(Restrictions.eq("priId.deviceId", deviceUser.getPriId().getDeviceId()), Restrictions.ne("priId.userId", deviceUser.getPriId().getUserId())); + List deviceUserList = this.deviceUserDao.findByProperty(Restrictions.eq("priId.deviceId", deviceUser.getPriId().getDeviceId()), Restrictions.eq("priId.userId", deviceUser.getPriId().getUserId())); //删除所有用户控制权 for (DeviceUser du : deviceUserList) { Integer userId = du.getPriId().getUserId(); Integer deviceId = du.getPriId().getDeviceId(); + //获取设备 + Device device = this.deviceDao.get(deviceId); + //关闭换水提醒开关 + device.setWaterRemind("0"); + this.deviceDao.update(device); + + //查询推送表中当前设备的所有数据 + List pushReminds = this.pushRemindDao.getPushRemindByDeviceId(deviceId); + for (PushRemind pushRemind : pushReminds) { + this.pushRemindDao.delete(pushRemind); + } User tu = this.userDao.get(userId); if (tu != null) { String timestamp = IfishUtil.format(new Date()); @@ -848,6 +859,18 @@ public class BaseServiceImpl implements BaseService { if (deviceCamera != null) { this.deviceCameraDao.delete(deviceCamera); } + } else { + //获取设备 + Device device = this.deviceDao.get(deviceUser.getPriId().getDeviceId()); + //关闭换水提醒开关 + device.setWaterRemind("0"); + this.deviceDao.update(device); + + //查询用户和设备的绑定关系 之后删除 + List pushReminds = this.pushRemindDao.findByProperty(Restrictions.eq("id.deviceId", deviceUser.getPriId().getDeviceId()), Restrictions.eq("id.userId", deviceUser.getPriId().getUserId())); + for (PushRemind pushRemind : pushReminds) { + this.pushRemindDao.delete(pushRemind); + } } //删除设备和用户关系 this.deviceUserDao.delete(deviceUser);