xufenglei
2019-02-20 4447110e052c82124dfb04eb21b15bd832361227
src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -1,21 +1,16 @@
package com.moral.service.impl;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.Page;
import com.moral.common.bean.Constants;
import com.moral.common.bean.PageBean;
import com.moral.common.bean.PageResult;
import com.moral.common.exception.BusinessException;
import com.moral.common.util.ExampleUtil;
import com.moral.common.util.RedisUtils;
import com.moral.entity.DeviceVersion;
import com.moral.mapper.*;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
@@ -24,11 +19,27 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.moral.common.bean.Constants;
import com.moral.common.bean.PageBean;
import com.moral.common.bean.PageResult;
import com.moral.common.exception.BusinessException;
import com.moral.common.util.ExampleUtil;
import com.moral.common.util.RedisUtils;
import com.moral.common.util.ValidateUtil;
import com.moral.entity.Device;
import com.moral.entity.DeviceProperty;
import com.moral.mapper.DeviceMapper;
import com.moral.mapper.DevicePropertyMapper;
import com.moral.mapper.DeviceVersionMapper;
import com.moral.mapper.DictionaryDataMapper;
import com.moral.mapper.MonitorPointMapper;
import com.moral.mapper.OrganizationMapper;
import com.moral.service.AccountService;
import com.moral.service.DeviceService;
import tk.mybatis.mapper.entity.Example;
@Service
@@ -314,8 +325,7 @@
    */
   private void refreshDeviceInRedis(String mac){
        if(!StringUtils.isBlank(mac)){
            Device device = deviceMapper.selectWithOrgIdsByMac(mac);
            String key = getDeviceKey(device.getMac());
            String key = getDeviceKey(mac);
            redisUtils.remove(key);
         }else
       {
@@ -422,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;
   }
   /**
@@ -509,4 +525,35 @@
      result.put("stop", stop);
      return result;
   }
   @Resource
   private DevicePropertyMapper devicePropertyMapper;
   @Override
   @Transactional
   public void saveOrUpdate(Device device, DeviceProperty deviceProperty) {
      if (ObjectUtils.isEmpty(device.getId())) {
         device.setState(Constants.DEVICE_STATE_OFFLINE);
         device.setIsDelete(Constants.IS_DELETE_FALSE);
         deviceMapper.insertSelective(device);
         deviceProperty.setId(device.getId());
      } else {
         deviceMapper.updateByPrimaryKeySelective(device);
         devicePropertyMapper.deleteByPrimaryKey(deviceProperty);
      }
      devicePropertyMapper.insertSelective(deviceProperty);
      refreshDeviceInRedis(device.getMac());
   }
   @Override
   public PageBean getDeviceList(PageBean pageBean) {
      Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean);
      if(pageBean.getPageSize()>0){
         PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize());
      }
      List<Device> deviceList = deviceMapper.getDeviceList(example);
      return new PageBean(deviceList);
   }
}