From 086e24d444fbd660228e358802969902fe857f23 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Thu, 27 Sep 2018 09:13:17 +0800 Subject: [PATCH] device编辑后 删除 redis里 device_*****记录 --- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 95 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 64 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index bbac004..f24a2b9 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -4,6 +4,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.Page; @@ -14,9 +15,7 @@ import com.moral.common.util.ExampleUtil; import com.moral.common.util.RedisUtils; import com.moral.entity.DeviceVersion; -import com.moral.mapper.DeviceVersionMapper; -import com.moral.mapper.MonitorPointMapper; -import com.moral.mapper.OrganizationMapper; +import com.moral.mapper.*; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; @@ -28,7 +27,6 @@ import com.github.pagehelper.PageHelper; import com.moral.common.util.ValidateUtil; import com.moral.entity.Device; -import com.moral.mapper.DeviceMapper; import com.moral.service.AccountService; import com.moral.service.DeviceService; import tk.mybatis.mapper.entity.Example; @@ -64,6 +62,10 @@ DeviceVersionMapper deviceVersionMapper; @Resource RedisUtils redisUtils; + @Resource + OrganizationMapper organizationMapper; + @Resource + DictionaryDataMapper dictionaryDataMapper; @Override public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) { ValidateUtil.notNull(parameters.get("accountId"), "param.is.null"); @@ -137,9 +139,6 @@ Device device = getDeviceFromRedis(mac); if(device==null) { device = deviceMapper.selectWithOrgIdsByMac(mac); - if(device!=null){ - setDeviceToRedis(mac,device); - } } return device; }else { @@ -164,22 +163,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); @@ -310,14 +309,13 @@ /** * ������������������������������ - * ������ redis ��������������� + * ������ redis ���������������,���������������������������������������������task������ * @param mac */ private void refreshDeviceInRedis(String mac){ if(!StringUtils.isBlank(mac)){ - Device device = deviceMapper.selectWithOrgIdsByMac(mac); - String key = "device_"+mac; - setDeviceToRedis(key,device); + String key = getDeviceKey(mac); + redisUtils.remove(key); }else { log.warn("param mac is null in method [refreshDeviceInRedis]"); @@ -345,14 +343,14 @@ } } @Override - public PageBean queryByPageBean(PageBean pageBean) { + public PageBean queryByPageBean(PageBean pageBean) { Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean); - addDeletesToExample(example); +// addDeletesToExample(example); if(pageBean.getPageSize()>0){ PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize()); } - List<Device> organizationList = deviceMapper.selectWithRelationData(example); - return new PageBean(organizationList); + List<Device> deviceList = deviceMapper.selectWithRelationData(example); + return new PageBean(deviceList); } @Override @@ -475,4 +473,39 @@ return deviceMapper.getDevicesByProfession(parameters); } + @Override + public List<Device> getDevicesByOrganizationId(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("organizationId"), "param.is.null"); + return deviceMapper.getDevicesByOrganizationId(parameters); + } + @Override + public Map<String,Long> queryDeviceStateSummary(@NotNull Integer orgId){ + Map<String,Object> params = new HashMap<>(); + if(!dictionaryDataMapper.isSupperOrgId(orgId)){ + List<Integer> orgIds = organizationMapper.selectLowerOrgIds(orgId); + params.put("orgIds",orgIds); + } + List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(params); + Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L; + for (Map<String, Object> map : list) { + Long count = (Long) map.get("count"); + all += count; + switch (Integer.valueOf((String) map.get("state"))) { + case 0: + normal = count; + break; + case 4: + stop = count; + break; + default: + abnormal += count; + } + } + Map<String,Long> result = new HashMap<>(); + result.put("all", all); + result.put("normal", normal); + result.put("abnormal", abnormal); + result.put("stop", stop); + return result; + } } -- Gitblit v1.8.0