ZhuDongming
2019-06-05 97333bd4d1bfa72f98fc32a6ac459cff4c225f3c
src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -432,12 +432,18 @@
      }
      return  deviceMapper.countByTimes(start, end, format);
   }
   @Override
   public List<Device> getDevicesByMonitorPointId(Integer monitorPointId) {
      Device device = new Device();
      device.setMonitorPointId(monitorPointId);
      device.setIsDelete(Constants.IS_DELETE_FALSE);
      return deviceMapper.select(device);
      List<Device> devices = deviceMapper.select(device);
      for (Device device2 : devices) {
         DeviceProperty deviceProperty = devicePropertyMapper.selectByPrimaryKey(device2.getId());
         device2.setDeviceProperty(deviceProperty);
      }
      return devices;
   }
   /**
@@ -526,6 +532,7 @@
   @Override
   @Transactional
   public void saveOrUpdate(Device device, DeviceProperty deviceProperty) {
      device.setMac(device.getMac().toLowerCase());
      if (ObjectUtils.isEmpty(device.getId())) {
         device.setState(Constants.DEVICE_STATE_OFFLINE);
         device.setIsDelete(Constants.IS_DELETE_FALSE);
@@ -550,4 +557,57 @@
      return new PageBean(deviceList);
   }
   @Override
   public void offLinToMaintenance(Map<String, Object> parameters) {
      ValidateUtil.notNull(parameters.get("id"), "param.is.null");
      ValidateUtil.notNull(parameters.get("old_state"), "param.is.null");
      ValidateUtil.notNull(parameters.get("new_state"), "param.is.null");
      int count = 0;
      if (Constants.DEVICE_STATE_OFFLINE.equals(parameters.get("old_state")) && Constants.DEVICE_STATE_MAINTENANCE.equals(parameters.get("new_state"))) {
         Device device = new Device();
         Example example = new Example(ENTITY_CLASS);
         example.and().andEqualTo("id", new Integer(parameters.get("id").toString())).andEqualTo("state", Constants.DEVICE_STATE_OFFLINE);
         device.setState(Constants.DEVICE_STATE_MAINTENANCE);
         count = deviceMapper.updateByExampleSelective(device, example);
      }
      if (count == 0) {
         throw new BusinessException("参数不合法!");
      }
   }
   @Override
   public void saveOrUpdate4Mobile(Device device, DeviceProperty deviceProperty) {
      device.setMac(device.getMac().toLowerCase());
      Device selectDevice = new Device();
      selectDevice.setMac(device.getMac());
      selectDevice = deviceMapper.selectOne(selectDevice);
      if (ObjectUtils.isEmpty(selectDevice)) {
         device.setState(Constants.DEVICE_STATE_OFFLINE);
         device.setIsDelete(Constants.IS_DELETE_FALSE);
         deviceMapper.insertSelective(device);
         deviceProperty.setId(device.getId());
         devicePropertyMapper.insertSelective(deviceProperty);
      } else {
         device.setId(selectDevice.getId());
         deviceMapper.updateByPrimaryKeySelective(device);
         deviceProperty.setId(selectDevice.getId());
         devicePropertyMapper.selectByPrimaryKey(selectDevice.getId());
         if (ObjectUtils.isEmpty(devicePropertyMapper.selectByPrimaryKey(deviceProperty.getId()))) {
            devicePropertyMapper.insertSelective(deviceProperty);
         } else {
            devicePropertyMapper.updateByPrimaryKeySelective(deviceProperty);
         }
      }
      refreshDeviceInRedis(device.getMac());
   }
   @Override
   public String getLimitDataByDevice(Map<String, Object> parameters) {
      // TODO Auto-generated method stub
      return deviceMapper.getLimitDataByDevice(parameters);
   }
}