From 5fa78e073c5c6269997e7d03b56176b157c7a327 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 16 May 2018 16:21:30 +0800 Subject: [PATCH] 设备删除,更新redis --- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 66 ++++++++++++++++++++------------- 1 files changed, 40 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index f6b20ef..a009a42 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -105,7 +105,7 @@ deviceMapper.updateByPrimaryKeySelective(device); } //������redis������������ - refreshDeviceInRedis(device); + refreshDeviceInRedis(device.getMac()); } @Override @@ -181,7 +181,7 @@ * * @param map * map��� ������ ������id���4������������ - * @return + * @return ������������������������ */ @Override public List<Device> query(Map<String, Object> map) { @@ -196,7 +196,7 @@ * @param deviceName * @param pageSize * @param pageNo - * @return + * @return ��������������������� */ @Override public PageResult query(Integer orgId, String deviceName, Integer pageSize, Integer pageNo) { @@ -218,7 +218,7 @@ * @param mpId * @param pageSize * @param pageNo - * @return + * @return ��������������������� */ @Override public PageResult query(Integer orgId, Integer mpId, Integer pageSize, Integer pageNo) { @@ -273,26 +273,27 @@ } return device; } - /* - ������ redis ��������������� + + /** + * ������������������������������ + * ������ redis ��������������� + * @param mac */ - 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());// ������������ - if(device.getMonitorPointId()!=null){ - List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(device.getMonitorPointId()); - device.setOrganizationIds(orgIds); - } - String key = "device_"+device.getMac(); + private void refreshDeviceInRedis(String mac){ + if(!StringUtils.isBlank(mac)){ + Device devQuery = new Device(); + devQuery.setMac(mac); + Device device = deviceMapper.selectOne(devQuery); + if(device.getMonitorPointId()!=null){ + List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(device.getMonitorPointId()); + device.setOrganizationIds(orgIds); + } + String key = "device_"+mac; redisUtils.set(key,device); - } + }else + { + log.warn("param mac is null in method [refreshDeviceInRedis]"); + } } @Override public int countByExample(PageBean pageBean){ @@ -331,15 +332,28 @@ Device device = new Device(); device.setIsDelete(Constants.IS_DELETE_TRUE); if(ids!=null&&ids.length>0){ + Example example = new Example(ENTITY_CLASS); + example.or().andIn("id", Arrays.asList(ids)); if(ids.length==1){ device.setId(ids[0]); deviceMapper.updateByPrimaryKeySelective(device); }else{ - Example example = new Example(ENTITY_CLASS); - example.or().andIn("id", Arrays.asList(ids)); deviceMapper.updateByExampleSelective(device,example); } - + List<Device> deviceList = deviceMapper.selectByExample(example); + List<String> adjustAndDeviceKeys = deviceList.stream().collect( + ArrayList<String>::new, + (list,dev) -> { + if(!StringUtils.isBlank(dev.getMac())){ + list.add("device_"+dev.getMac()); + list.add("adjust_"+dev.getMac()); + } + }, + (oList,nList)-> { + oList.addAll(nList); + } + ); + redisUtils.remove(adjustAndDeviceKeys.toArray(new String [adjustAndDeviceKeys.size()])); } } @@ -358,7 +372,7 @@ deviceMapper.updateByPrimaryKeySelective(device); } //������redis��������������� - refreshDeviceInRedis(device); + refreshDeviceInRedis(device.getMac()); } catch (Exception ex){ throw ex; -- Gitblit v1.8.0