From cea9aba8d0e4833bac428d071664cbe84e6180c9 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Fri, 15 Jun 2018 09:47:49 +0800 Subject: [PATCH] update --- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 64 ++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index 53ef55d..4213c13 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -181,7 +181,7 @@ * * @param map * map��� ������ ������id���4������������ - * @return + * @return ������������������������ */ @Override public List<Device> query(Map<String, Object> map) { @@ -196,14 +196,32 @@ * @param deviceName * @param pageSize * @param pageNo - * @return + * @return ��������������������� */ @Override public PageResult query(Integer orgId, String deviceName, Integer pageSize, Integer pageNo) { if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){ PageHelper.startPage(pageNo,pageSize); } - List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,deviceName); + String state = null; + switch (deviceName){ + case "������": + state = "0"; + deviceName = null;break; + case "������": + state = "1"; + deviceName = null;break; + case "������": + state = "2"; + deviceName = null;break; + case "������": + state = "3"; + deviceName = null;break; + case "������": + state = "4"; + deviceName = null;break; + } + List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,state,deviceName); //���redis������������ loadDeviceState(list); if(list instanceof Page){ @@ -218,7 +236,7 @@ * @param mpId * @param pageSize * @param pageNo - * @return + * @return ��������������������� */ @Override public PageResult query(Integer orgId, Integer mpId, Integer pageSize, Integer pageNo) { @@ -332,31 +350,53 @@ 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()])); } } @Override + @Transactional public void addOrModify(Device device){ try{ //mac ��������� if(!StringUtils.isBlank(device.getMac())){ device.setMac(device.getMac().toLowerCase()); } - if(device.getId()==null){ - device.setState(Constants.DEVICE_STATE_OFFLINE); - device.setIsDelete(Constants.IS_DELETE_FALSE); - deviceMapper.insertSelective(device); - }else{ + if(device.getId()!=null){ deviceMapper.updateByPrimaryKeySelective(device); + }else{ + Device deviceQuery = new Device(); + deviceQuery.setMac(device.getMac()); + Device deviceResult = deviceMapper.selectOne(deviceQuery); + if(deviceResult !=null){ + device.setId(deviceResult.getId()); + deviceMapper.updateByPrimaryKeySelective(device); + }else { + device.setState(Constants.DEVICE_STATE_OFFLINE); + device.setIsDelete(Constants.IS_DELETE_FALSE); + deviceMapper.insertSelective(device); + } } //������redis��������������� refreshDeviceInRedis(device.getMac()); -- Gitblit v1.8.0