lizijie
2019-06-11 820c6a9e6e0e50f7266b8ccaf9c802a1005bda51
src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -532,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);
@@ -556,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);
   }
}