From b25fef7e301ad5bd947dc213d2f4455f434139f5 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Mon, 14 May 2018 16:38:36 +0800 Subject: [PATCH] 优化 --- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 80 +++++++++++++++++++++++++++++----------- 1 files changed, 58 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index 58b7dc2..f6b20ef 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -104,6 +104,8 @@ device.setId(queryDevice.getId()); deviceMapper.updateByPrimaryKeySelective(device); } + //������redis������������ + refreshDeviceInRedis(device); } @Override @@ -111,21 +113,43 @@ ValidateUtil.notNull(uid, "param.is.null"); Device device = new Device(); device.setOperateUserId(uid); - PageHelper.startPage(pageIndex, pageSize); + PageHelper.startPage(pageIndex, pageSize,false); List<Device> devices = deviceMapper.select(device); return devices; } + /** + * + * @param mac + * @param fromCache + * @return ������������������ + */ + @Override + public Device getDeviceByMac (String mac ,boolean fromCache){ + if(fromCache){ + Device device = getDeviceFromRedis(mac); + if(device==null) { + device = deviceMapper.selectWithOrgIdsByMac(mac); + if(device!=null){ + setDeviceToRedis(mac,device); + } + } + return device; + }else { + return deviceMapper.selectWithOrgIdsByMac(mac); + } + + } + + /** + * ��������������������� + * @param mac + * @return + */ @Override public Device getDeviceByMac(String mac) { - Device device = getDeviceFromRedis(mac); - if(device==null) { - device = deviceMapper.selectWithOrgIdsByMac(mac); - if(device!=null){ - setDeviceToRedis(mac,device); - } - } - return device; + + return getDeviceByMac(mac,true); } /* * ���������������������redis������key @@ -254,20 +278,20 @@ */ private void refreshDeviceInRedis(Device device){ if(!StringUtils.isBlank(device.getMac())){ - 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());// ������������ +// 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());// ������������ if(device.getMonitorPointId()!=null){ List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(device.getMonitorPointId()); - simpleDevice.setOrganizationIds(orgIds); + device.setOrganizationIds(orgIds); } String key = "device_"+device.getMac(); - redisUtils.set(key,simpleDevice); + redisUtils.set(key,device); } } @Override @@ -323,7 +347,7 @@ public void addOrModify(Device device){ try{ //mac ��������� - if(StringUtils.isBlank(device.getMac())){ + if(!StringUtils.isBlank(device.getMac())){ device.setMac(device.getMac().toLowerCase()); } if(device.getId()==null){ @@ -332,9 +356,9 @@ deviceMapper.insertSelective(device); }else{ deviceMapper.updateByPrimaryKeySelective(device); - //������redis��������������� - refreshDeviceInRedis(device); } + //������redis��������������� + refreshDeviceInRedis(device); } catch (Exception ex){ throw ex; @@ -388,4 +412,16 @@ }).collect(Collectors.toList()); return list; } + + @Override + public Device queryById(Integer id) { + return deviceMapper.selectByPrimaryKey(id); + } + + @Override + public List<Device> getDevicesByProfessionId(Map<String, Object> parameters) { + + return deviceMapper.getDevicesByProfession(parameters); + } + } -- Gitblit v1.8.0