|  |  | 
 |  |  | 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.AdjustDataUtils; | 
 |  |  | import com.moral.api.util.CacheUtils; | 
 |  |  | import com.moral.api.util.LogUtils; | 
 |  |  | import com.moral.constant.Constants; | 
 |  |  | 
 |  |  |     private GovMonitorPointMapper govMonitorPointMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private LogUtils logUtils; | 
 |  |  |     private AdjustDataUtils adjustDataUtils; | 
 |  |  |  | 
 |  |  |     /* | 
 |  |  |      * 从redis获取设备信息 | 
 |  |  | 
 |  |  |             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); | 
 |  |  |             LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         }else { | 
 |  |  |             /*UpdateWrapper<SpecialDeviceHistory> wrapper_insertSpecialDeviceHistory = new UpdateWrapper<>(); | 
 |  |  |             wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |             LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |         } | 
 |  |  |         //Map<String, Object> deviceInfo = selectDeviceInfoById(specialDevice.getId()); | 
 |  |  |         SpecialDeviceInfoDTO specialDeviceInfoDTO = selectDeviceInfoDTOById(specialDevice.getId()); | 
 |  |  | 
 |  |  |         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); | 
 |  |  |         LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); | 
 |  |  |         resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); | 
 |  |  |         return resultMap; | 
 |  |  | 
 |  |  |             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); | 
 |  |  |             LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); | 
 |  |  |         }else { | 
 |  |  |             /*UpdateWrapper<SpecialDeviceHistory> wrapper_insertSpecialDeviceHistory = new UpdateWrapper<>(); | 
 |  |  |             wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE); | 
 |  |  | 
 |  |  |             //操作日志记录 | 
 |  |  |             HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); | 
 |  |  |             StringBuilder content = new StringBuilder(); | 
 |  |  |             content.append("修改了特殊设备:").append(specialDeviceHistory.getId()).append(":"); | 
 |  |  |             content.append("修改了历史特殊设备:").append(specialDeviceHistory.getId()).append(";"); | 
 |  |  |             Field[] fields = SpecialDevice.class.getDeclaredFields(); | 
 |  |  |             for (Field field : fields) { | 
 |  |  |                 if (field.getName().equals("id")) { | 
 |  |  | 
 |  |  |                     Object o1 = method.invoke(specialDeviceHistory); | 
 |  |  |                     Object o2 = method.invoke(updateSpecialDeviceHistory); | 
 |  |  |                     if (o2 != null) { | 
 |  |  |                         content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(":"); | 
 |  |  |                         content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(";"); | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                 } catch (Exception e) { | 
 |  |  | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |             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(":"); | 
 |  |  |         content.append("修改了特殊设备:").append(specialDeviceId).append(";"); | 
 |  |  |         Field[] fields = SpecialDevice.class.getDeclaredFields(); | 
 |  |  |         for (Field field : fields) { | 
 |  |  |             if (field.getName().equals("id")) { | 
 |  |  | 
 |  |  |                 Object o1 = method.invoke(oldSpecialDevice); | 
 |  |  |                 Object o2 = method.invoke(specialDevice); | 
 |  |  |                 if (o2 != null) { | 
 |  |  |                     content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(":"); | 
 |  |  |                     content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(";"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } catch (Exception e) { | 
 |  |  | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |         logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |         LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |         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); | 
 |  |  |         LogUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |         organizationInfo = organizationMapper.selectById(specialDevice.getOrganizationId()); | 
 |  |  |         specialDeviceInfoDTO.setOrganization(organizationInfo); | 
 |  |  |  | 
 |  |  |         System.out.println("========================"); | 
 |  |  |         System.out.println(specialDeviceInfoDTO); | 
 |  |  |         return specialDeviceInfoDTO; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> adjustSpecialDeviceData(Map<String, Object> deviceData) { | 
 |  |  |         String mac = deviceData.remove("mac").toString(); | 
 |  |  |         //从redis获取校准公式 | 
 |  |  |         Map<String, Object> adjustFormula = redisTemplate.opsForHash().entries(RedisConstants.ADJUST + "_" + mac); | 
 |  |  |         if (!org.springframework.util.ObjectUtils.isEmpty(adjustFormula)) { | 
 |  |  |             SpecialDeviceInfoDTO specialDeviceInfo = getDeviceInfoFromRedis(mac); | 
 |  |  |             if (org.springframework.util.ObjectUtils.isEmpty(specialDeviceInfo)) { | 
 |  |  |                 QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper<>(); | 
 |  |  |                 queryWrapper.eq("mac", mac).eq("is_delete", Constants.NOT_DELETE); | 
 |  |  |                 SpecialDevice specialDevice = specialDeviceMapper.selectOne(queryWrapper); | 
 |  |  |                 if (specialDevice != null) { | 
 |  |  |                     specialDeviceInfo = selectDeviceInfoDTOById(specialDevice.getId()); | 
 |  |  |                     setDeviceInfoToRedis(mac, specialDeviceInfo); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             //获取设备绑定的国控站信息 | 
 |  |  |             Map<String, Object> govMpInfo = (Map<String, Object>) specialDeviceInfo.getGovMonitorPoint(); | 
 |  |  |             Map<String, Object> aqiMap = null; | 
 |  |  |             if (null != govMpInfo && null != govMpInfo.get("guid")) { | 
 |  |  |                 aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMpInfo.get("guid").toString()); | 
 |  |  |             } | 
 |  |  |             return adjustDataUtils.adjust(deviceData, adjustFormula, org.springframework.util.ObjectUtils.isEmpty(aqiMap) ? null : aqiMap); | 
 |  |  |         } | 
 |  |  |         deviceData.remove("DataTime"); | 
 |  |  |         return deviceData; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void insertOrganizationUnitAlarm(Integer orgId, Integer versionId) { | 
 |  |  |         QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>(); | 
 |  |  |         queryOrganizationVersionWrapper.eq("organization_id", orgId); |