|  |  | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSON; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | 
 |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
 |  |  | import com.moral.api.entity.*; | 
 |  |  | import com.moral.api.mapper.*; | 
 |  |  | import com.moral.api.pojo.vo.device.DeviceVO; | 
 |  |  | import com.moral.api.service.SpecialDeviceService; | 
 |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
 |  |  | import com.moral.api.util.CacheUtils; | 
 |  |  | import com.moral.api.util.LogUtils; | 
 |  |  | import com.moral.constant.Constants; | 
 |  |  | import com.moral.constant.RedisConstants; | 
 |  |  | import com.moral.constant.ResponseCodeEnum; | 
 |  |  | import com.moral.util.DateUtils; | 
 |  |  | import org.springframework.beans.BeanUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.data.redis.core.RedisTemplate; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.web.context.request.RequestContextHolder; | 
 |  |  | import org.springframework.web.context.request.ServletRequestAttributes; | 
 |  |  |  | 
 |  |  | import javax.servlet.http.HttpServletRequest; | 
 |  |  | import java.beans.PropertyDescriptor; | 
 |  |  | import java.lang.reflect.Field; | 
 |  |  | import java.lang.reflect.Method; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.HashMap; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  | import java.util.*; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * <p> | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired(required = false) | 
 |  |  |     private RedisTemplate redisTemplate; | 
 |  |  |  | 
 |  |  |     @Autowired(required = false) | 
 |  |  |     private OrganizationUnitAlarmMapper organizationUnitAlarmMapper; | 
 |  |  |  | 
 |  |  |     @Autowired(required = false) | 
 |  |  |     private VersionSensorUnitMapper versionSensorUnitMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private LogUtils logUtils; | 
 |  |  |  | 
 |  |  |     /* | 
 |  |  |      * 从redis获取设备信息 | 
 |  |  | 
 |  |  |                     QueryWrapper<ManageAccount> wapper_manageAccount = new QueryWrapper<>(); | 
 |  |  |                     wapper_manageAccount.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |                     wapper_manageAccount.in("id",operateIdList); | 
 |  |  |                     wapper_manageAccount.select("id", "user_name"); | 
 |  |  |                     List<ManageAccount> manageAccounts = manageAccountMapper.selectList(wapper_manageAccount); | 
 |  |  |                     for (ManageAccount manageAccount:manageAccounts) { | 
 |  |  |                         Map<String,Object> operateMap = new HashMap<>(); | 
 |  |  | 
 |  |  |         BeanUtils.copyProperties(specialDevice,insertSpecialDeviceHistory); | 
 |  |  |         if (ObjectUtils.isEmpty(specialDeviceHistory)){ | 
 |  |  |             specialDeviceHistoryMapper.insert(insertSpecialDeviceHistory); | 
 |  |  |             //操作日志记录 | 
 |  |  |             HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |             StringBuilder content = new StringBuilder(); | 
 |  |  |             content.append("添加了特殊设备历史数据:").append(insertSpecialDeviceHistory.getName()).append(":").append("mac:").append(insertSpecialDeviceHistory.getMac()); | 
 |  |  |             logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         }else { | 
 |  |  |             /*UpdateWrapper<SpecialDeviceHistory> wrapper_insertSpecialDeviceHistory = new UpdateWrapper<>(); | 
 |  |  |             wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |             wrapper_specialDeviceHistory.eq("mac",mac); | 
 |  |  |             wrapper_specialDeviceHistory.eq("organization_id",organizationId);*/ | 
 |  |  |             specialDeviceHistoryMapper.update(insertSpecialDeviceHistory,wrapper_specialDeviceHistory); | 
 |  |  |             //操作日志记录 | 
 |  |  |             HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |             StringBuilder content = new StringBuilder(); | 
 |  |  |             content.append("修改了特殊设备:").append(specialDeviceHistory.getId()).append(":"); | 
 |  |  |             Field[] fields = SpecialDevice.class.getDeclaredFields(); | 
 |  |  |             for (Field field : fields) { | 
 |  |  |                 if (field.getName().equals("id")) { | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 if ("serialVersionUID".equals(field.getName())) { | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 String fieldName = field.getName(); | 
 |  |  |                 PropertyDescriptor pd = null; | 
 |  |  |                 try { | 
 |  |  |                     pd = new PropertyDescriptor(fieldName, SpecialDeviceHistory.class); | 
 |  |  |                     Method method = pd.getReadMethod(); | 
 |  |  |                     Object o1 = method.invoke(specialDeviceHistory); | 
 |  |  |                     Object o2 = method.invoke(insertSpecialDeviceHistory); | 
 |  |  |                     if (o2 != null) { | 
 |  |  |                         content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(":"); | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                 } catch (Exception e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |         } | 
 |  |  |         return null; | 
 |  |  |         Map<String, Object> deviceInfo = selectDeviceInfoById(specialDevice.getId()); | 
 |  |  |         //维护组织型号关系表 | 
 |  |  |         insertOrganizationUnitAlarm(specialDevice.getOrganizationId(), specialDevice.getDeviceVersionId()); | 
 |  |  |         //新增设备信息存入redis | 
 |  |  |         String mac1 = specialDevice.getMac(); | 
 |  |  |         //从redis中删除设备信息 | 
 |  |  |         delDeviceInfoFromRedis(mac1); | 
 |  |  |         //设备信息存入redis | 
 |  |  |         setDeviceInfoToRedis(mac1, deviceInfo); | 
 |  |  |         //刷新deviceInfo缓存 | 
 |  |  |         CacheUtils.refreshSpecialDeviceAlarmInfo(); | 
 |  |  |         //操作日志记录 | 
 |  |  |         HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |         StringBuilder content = new StringBuilder(); | 
 |  |  |         content.append("添加了特殊设备:").append(specialDevice.getName()).append(":").append("mac:").append(mac); | 
 |  |  |         logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); | 
 |  |  |         resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); | 
 |  |  |         return resultMap; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Transactional | 
 |  |  |     @Override | 
 |  |  |     public void update(SpecialDevice specialDevice) { | 
 |  |  |         Integer specialDeviceId = specialDevice.getId(); | 
 |  |  |         SpecialDevice oldSpecialDevice = specialDeviceMapper.selectById(specialDeviceId); | 
 |  |  |         specialDeviceMapper.updateById(specialDevice); | 
 |  |  |         SpecialDevice updateSpecialDevice = specialDeviceMapper.selectById(specialDeviceId); | 
 |  |  |         String oleMac = oldSpecialDevice.getMac(); | 
 |  |  |         //维护组织型号关系表 | 
 |  |  |         Integer oldOrgId = oldSpecialDevice.getOrganizationId(); | 
 |  |  |         Integer newOrgId = updateSpecialDevice.getOrganizationId(); | 
 |  |  |         Integer oldVersionId = oldSpecialDevice.getDeviceVersionId(); | 
 |  |  |         Integer newVersionId = updateSpecialDevice.getDeviceVersionId(); | 
 |  |  |         if (!oldOrgId.equals(newOrgId) || !oldVersionId.equals(newVersionId)) { | 
 |  |  |             deleteOrganizationUnitAlarm(oldOrgId, oldVersionId); | 
 |  |  |             insertOrganizationUnitAlarm(newOrgId, newVersionId); | 
 |  |  |         } | 
 |  |  |         //从redis中删除设备信息 | 
 |  |  |         delDeviceInfoFromRedis(oleMac); | 
 |  |  |         Map<String, Object> deviceInfo = selectDeviceInfoById(specialDeviceId); | 
 |  |  |         //设备信息存入redis | 
 |  |  |         setDeviceInfoToRedis(updateSpecialDevice.getMac(), deviceInfo); | 
 |  |  |         //刷新deviceInfo缓存 | 
 |  |  |         CacheUtils.refreshSpecialDeviceAlarmInfo(); | 
 |  |  |         QueryWrapper<SpecialDeviceHistory> wrapper_specialDeviceHistory = new QueryWrapper<>(); | 
 |  |  |         wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |         wrapper_specialDeviceHistory.eq("mac",updateSpecialDevice.getMac()); | 
 |  |  |         wrapper_specialDeviceHistory.eq("organization_id",updateSpecialDevice.getOrganizationId()); | 
 |  |  |         SpecialDeviceHistory specialDeviceHistory = specialDeviceHistoryMapper.selectOne(wrapper_specialDeviceHistory); | 
 |  |  |         SpecialDeviceHistory updateSpecialDeviceHistory = new SpecialDeviceHistory(); | 
 |  |  |         BeanUtils.copyProperties(updateSpecialDevice,updateSpecialDeviceHistory); | 
 |  |  |         updateSpecialDeviceHistory.setCreateTime(null); | 
 |  |  |         updateSpecialDeviceHistory.setUpdateTime(null); | 
 |  |  |         updateSpecialDeviceHistory.setIsDelete(null); | 
 |  |  |         if (ObjectUtils.isEmpty(specialDeviceHistory)){ | 
 |  |  |             specialDeviceHistoryMapper.insert(updateSpecialDeviceHistory); | 
 |  |  |             //操作日志记录 | 
 |  |  |             HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |             StringBuilder content = new StringBuilder(); | 
 |  |  |             content.append("添加了特殊设备历史数据:").append(updateSpecialDeviceHistory.getName()).append(":").append("mac:").append(updateSpecialDeviceHistory.getMac()); | 
 |  |  |             logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         }else { | 
 |  |  |             /*UpdateWrapper<SpecialDeviceHistory> wrapper_insertSpecialDeviceHistory = new UpdateWrapper<>(); | 
 |  |  |             wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |             wrapper_specialDeviceHistory.eq("mac",mac); | 
 |  |  |             wrapper_specialDeviceHistory.eq("organization_id",organizationId);*/ | 
 |  |  |             specialDeviceHistoryMapper.update(updateSpecialDeviceHistory,wrapper_specialDeviceHistory); | 
 |  |  |             //操作日志记录 | 
 |  |  |             HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |             StringBuilder content = new StringBuilder(); | 
 |  |  |             content.append("修改了特殊设备:").append(specialDeviceHistory.getId()).append(":"); | 
 |  |  |             Field[] fields = SpecialDevice.class.getDeclaredFields(); | 
 |  |  |             for (Field field : fields) { | 
 |  |  |                 if (field.getName().equals("id")) { | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 if ("serialVersionUID".equals(field.getName())) { | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 String fieldName = field.getName(); | 
 |  |  |                 PropertyDescriptor pd = null; | 
 |  |  |                 try { | 
 |  |  |                     pd = new PropertyDescriptor(fieldName, SpecialDeviceHistory.class); | 
 |  |  |                     Method method = pd.getReadMethod(); | 
 |  |  |                     Object o1 = method.invoke(specialDeviceHistory); | 
 |  |  |                     Object o2 = method.invoke(updateSpecialDeviceHistory); | 
 |  |  |                     if (o2 != null) { | 
 |  |  |                         content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(":"); | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                 } catch (Exception e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |         } | 
 |  |  |         //操作日志记录 | 
 |  |  |         HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |         StringBuilder content = new StringBuilder(); | 
 |  |  |         content.append("修改了特殊设备:").append(specialDeviceId).append(":"); | 
 |  |  |         Field[] fields = SpecialDevice.class.getDeclaredFields(); | 
 |  |  |         for (Field field : fields) { | 
 |  |  |             if (field.getName().equals("id")) { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             if ("serialVersionUID".equals(field.getName())) { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             String fieldName = field.getName(); | 
 |  |  |             PropertyDescriptor pd = null; | 
 |  |  |             try { | 
 |  |  |                 pd = new PropertyDescriptor(fieldName, SpecialDevice.class); | 
 |  |  |                 Method method = pd.getReadMethod(); | 
 |  |  |                 Object o1 = method.invoke(oldSpecialDevice); | 
 |  |  |                 Object o2 = method.invoke(specialDevice); | 
 |  |  |                 if (o2 != null) { | 
 |  |  |                     content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(":"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } catch (Exception e) { | 
 |  |  |                 e.printStackTrace(); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |         logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void delete(Integer specialDeviceId) { | 
 |  |  |         SpecialDevice specialDevice = specialDeviceMapper.selectById(specialDeviceId); | 
 |  |  |         UpdateWrapper<SpecialDevice> updateWrapper = new UpdateWrapper<>(); | 
 |  |  |         updateWrapper.eq("id",specialDeviceId).set("is_delete",Constants.DELETE); | 
 |  |  |         specialDeviceMapper.update(null,updateWrapper); | 
 |  |  |         String mac = specialDevice.getMac(); | 
 |  |  |         //从redis中删除设备信息 | 
 |  |  |         delDeviceInfoFromRedis(mac); | 
 |  |  |         //维护组织型号关系表 | 
 |  |  |         Integer versionId = specialDevice.getDeviceVersionId(); | 
 |  |  |         Integer orgId = specialDevice.getOrganizationId(); | 
 |  |  |         deleteOrganizationUnitAlarm(orgId, versionId); | 
 |  |  |         //刷新deviceInfo缓存 | 
 |  |  |         CacheUtils.refreshSpecialDeviceAlarmInfo(); | 
 |  |  |         //操作日志记录 | 
 |  |  |         HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |         StringBuilder content = new StringBuilder(); | 
 |  |  |         content.append("删除了设备:").append(specialDevice.getName()).append(";").append("mac:").append(mac); | 
 |  |  |         logUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> selectDeviceInfoById(Integer deviceId) { | 
 |  |  |         String mac = specialDeviceMapper.selectById(deviceId).getMac(); | 
 |  |  |         Map<String, Object> specialDeviceInfo = getDeviceInfoFromRedis(mac); | 
 |  |  |         //先从redis中取 | 
 |  |  |         if (specialDeviceInfo != null) { | 
 |  |  |             return specialDeviceInfo; | 
 |  |  |         } | 
 |  |  |         specialDeviceInfo = new LinkedHashMap<>(); | 
 |  |  |         //DeviceVO device = deviceMapper.selectDeviceInfoById(deviceId); | 
 |  |  |         SpecialDevice specialDevice = specialDeviceMapper.selectById(deviceId); | 
 |  |  |         //设备 | 
 |  |  |         specialDeviceInfo.put("id", specialDevice.getId()); | 
 |  |  |         specialDeviceInfo.put("name", specialDevice.getName()); | 
 |  |  |         specialDeviceInfo.put("mac", specialDevice.getMac()); | 
 |  |  |         specialDeviceInfo.put("createTime", DateUtils.dateToDateString(specialDevice.getCreateTime())); | 
 |  |  |  | 
 |  |  |         //扩展字段 | 
 |  |  |         //specialDeviceInfo.put("extend", device.getExtend()); | 
 |  |  |  | 
 |  |  |         //型号 | 
 |  |  |         Map<String, Object> versionInfo = new LinkedHashMap<>(); | 
 |  |  |         Version version = versionMapper.selectById(specialDevice.getDeviceVersionId()); | 
 |  |  |         versionInfo.put("id", version.getId()); | 
 |  |  |         versionInfo.put("name", version.getName()); | 
 |  |  |         specialDeviceInfo.put("version", versionInfo); | 
 |  |  |  | 
 |  |  |         //维护人 | 
 |  |  |         List<Map<String, Object>> operatorsInfo = new ArrayList<>(); | 
 |  |  |         String operateIds = specialDevice.getOperateIds(); | 
 |  |  |         if (!ObjectUtils.isEmpty(operateIds)){ | 
 |  |  |             String[] operateIdArr = operateIds.split(","); | 
 |  |  |             if (operateIdArr.length>0){ | 
 |  |  |                 List<Integer> operateIdList = new ArrayList<>(); | 
 |  |  |                 for (int i = 0; i < operateIdArr.length; i++){ | 
 |  |  |                     operateIdList.add(Integer.parseInt(operateIdArr[i])); | 
 |  |  |                 } | 
 |  |  |                 QueryWrapper<ManageAccount> wapper_manageAccount = new QueryWrapper<>(); | 
 |  |  |                 wapper_manageAccount.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  |                 wapper_manageAccount.in("id",operateIdList); | 
 |  |  |                 List<ManageAccount> manageAccounts = manageAccountMapper.selectList(wapper_manageAccount); | 
 |  |  |                 for (ManageAccount manageAccount:manageAccounts) { | 
 |  |  |                     Map<String,Object> operateMap = new HashMap<>(); | 
 |  |  |                     operateMap.put("id",manageAccount.getId()); | 
 |  |  |                     operateMap.put("name",manageAccount.getUserName()); | 
 |  |  |                     operatorsInfo.add(operateMap); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         specialDeviceInfo.put("operators", operatorsInfo); | 
 |  |  |  | 
 |  |  |         //组织 | 
 |  |  |         Map<String, Object> orgInfo = new LinkedHashMap<>(); | 
 |  |  |         Organization organization = organizationMapper.selectById(specialDevice.getOrganizationId()); | 
 |  |  |         orgInfo.put("id", organization.getId()); | 
 |  |  |         orgInfo.put("name", organization.getName()); | 
 |  |  |         orgInfo.put("areaCode", organization.getAreaCode()); | 
 |  |  |         orgInfo.put("cityCode", organization.getCityCode()); | 
 |  |  |         orgInfo.put("provinceCode", organization.getProvinceCode()); | 
 |  |  |         specialDeviceInfo.put("organization", orgInfo); | 
 |  |  |  | 
 |  |  |         setDeviceInfoToRedis(mac, specialDeviceInfo); | 
 |  |  |         return specialDeviceInfo; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void insertOrganizationUnitAlarm(Integer orgId, Integer versionId) { | 
 |  |  |         QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>(); | 
 |  |  |         queryOrganizationVersionWrapper.eq("organization_id", orgId); | 
 |  |  |         queryOrganizationVersionWrapper.eq("version_id", versionId); | 
 |  |  |         queryOrganizationVersionWrapper.eq("is_delete", Constants.NOT_DELETE); | 
 |  |  |         List<OrganizationUnitAlarm> organizationUnitAlarms = organizationUnitAlarmMapper.selectList(queryOrganizationVersionWrapper); | 
 |  |  |         if (org.springframework.util.ObjectUtils.isEmpty(organizationUnitAlarms)) { | 
 |  |  |             QueryWrapper<VersionSensorUnit> queryVersionSensorUnitWrapper = new QueryWrapper<>(); | 
 |  |  |             queryVersionSensorUnitWrapper.eq("version_id", versionId); | 
 |  |  |             queryVersionSensorUnitWrapper.eq("is_delete", Constants.NOT_DELETE); | 
 |  |  |             List<VersionSensorUnit> versionSensorUnits = versionSensorUnitMapper.selectList(queryVersionSensorUnitWrapper); | 
 |  |  |             if (!org.springframework.util.ObjectUtils.isEmpty(versionSensorUnits)) { | 
 |  |  |                 for (VersionSensorUnit versionSensorUnit : versionSensorUnits) { | 
 |  |  |                     OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm(); | 
 |  |  |                     organizationUnitAlarm.setOrganizationId(orgId); | 
 |  |  |                     organizationUnitAlarm.setVersionId(versionId); | 
 |  |  |                     organizationUnitAlarm.setSensorCode(versionSensorUnit.getSensorCode()); | 
 |  |  |                     organizationUnitAlarm.setUnitKey(versionSensorUnit.getUnitKey()); | 
 |  |  |                     organizationUnitAlarm.setShowUnitKey(versionSensorUnit.getUnitKey()); | 
 |  |  |                     organizationUnitAlarmMapper.insert(organizationUnitAlarm); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void deleteOrganizationUnitAlarm(Integer orgId, Integer versionId) { | 
 |  |  |         QueryWrapper<SpecialDevice> queryOrganizationVersionWrapper = new QueryWrapper<>(); | 
 |  |  |         queryOrganizationVersionWrapper.eq("organization_id", orgId); | 
 |  |  |         queryOrganizationVersionWrapper.eq("device_version_id", versionId); | 
 |  |  |         queryOrganizationVersionWrapper.eq("is_delete", Constants.NOT_DELETE); | 
 |  |  |         List<SpecialDevice> specialDevices = specialDeviceMapper.selectList(queryOrganizationVersionWrapper); | 
 |  |  |         if (org.springframework.util.ObjectUtils.isEmpty(specialDevices)) {//如果为空,则组织没有该型号的设备了。 | 
 |  |  |             UpdateWrapper deleteWrapper = new UpdateWrapper(); | 
 |  |  |             deleteWrapper.eq("organization_id", orgId); | 
 |  |  |             deleteWrapper.eq("version_id", versionId); | 
 |  |  |             deleteWrapper.eq("is_delete", Constants.NOT_DELETE); | 
 |  |  |             deleteWrapper.set("is_delete", Constants.DELETE); | 
 |  |  |             organizationUnitAlarmMapper.update(null, deleteWrapper); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |