From 4447110e052c82124dfb04eb21b15bd832361227 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Wed, 20 Feb 2019 13:56:40 +0800 Subject: [PATCH] 更新 --- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 113 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 79 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index ba6b76a..aa940e3 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/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 @@ -139,9 +150,6 @@ Device device = getDeviceFromRedis(mac); if(device==null) { device = deviceMapper.selectWithOrgIdsByMac(mac); - if(device!=null){ - setDeviceToRedis(mac,device); - } } return device; }else { @@ -166,22 +174,22 @@ private String getDeviceKey(String mac) { return keysConnect(DEVICE,mac); } - /* - * ������������������redis��������� ������ - */ - private void setDeviceToRedis(String mac,Device device){ - String key = getDeviceKey(mac); - Device simpleDevice = new Device(); - simpleDevice.setId(device.getId());// id - simpleDevice.setName(device.getName());// name - simpleDevice.setAddress(device.getAddress());// address - simpleDevice.setDeviceVersionId(device.getDeviceVersionId());// version - simpleDevice.setMac(device.getMac()); // mac - simpleDevice.setMonitorPointId(device.getMonitorPointId());// ���������id - simpleDevice.setOrganizationIds(device.getOrganizationIds());// ������������ - simpleDevice.setDeviceVersion(device.getDeviceVersion()); - redisUtils.set(key,simpleDevice); - } +// /* +// * ������������������redis��������� ������ +// */ +// private void setDeviceToRedis(String mac,Device device){ +// String key = getDeviceKey(mac); +// Device simpleDevice = new Device(); +// simpleDevice.setId(device.getId());// id +// simpleDevice.setName(device.getName());// name +// simpleDevice.setAddress(device.getAddress());// address +// simpleDevice.setDeviceVersionId(device.getDeviceVersionId());// version +// simpleDevice.setMac(device.getMac()); // mac +// simpleDevice.setMonitorPointId(device.getMonitorPointId());// ���������id +// simpleDevice.setOrganizationIds(device.getOrganizationIds());// ������������ +// simpleDevice.setDeviceVersion(device.getDeviceVersion()); +// redisUtils.set(key,simpleDevice); +// } private Device getDeviceFromRedis(String mac) { String key = getDeviceKey(mac); return redisUtils.get(key,Device.class); @@ -312,13 +320,13 @@ /** * ������������������������������ - * ������ redis ��������������� + * ������ redis ���������������,���������������������������������������������task������ * @param mac */ private void refreshDeviceInRedis(String mac){ if(!StringUtils.isBlank(mac)){ - Device device = deviceMapper.selectWithOrgIdsByMac(mac); - setDeviceToRedis(mac,device); + String key = getDeviceKey(mac); + redisUtils.remove(key); }else { log.warn("param mac is null in method [refreshDeviceInRedis]"); @@ -424,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; } /** @@ -511,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); + } + } -- Gitblit v1.8.0