From 4bea542def6e511c1b508b654d3e418de3694ad1 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Fri, 01 Jun 2018 16:26:31 +0800 Subject: [PATCH] 百度地图api 接口修改 适配 --- src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 66 ++++++++++++++++++++++++++------- 1 files changed, 52 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index baa1462..200db4e 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -1,5 +1,6 @@ package com.moral.service.impl; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -43,6 +44,7 @@ } @Override public List<MonitorPoint> queryWithStateByMap(Map<String, Object> params){ + params.put("isDelete",Constants.IS_DELETE_FALSE); List<MonitorPoint> monitorPointList = monitorPointMapper.selectByMap(params); for(MonitorPoint monitorPoint:monitorPointList){ Integer state = getStateFromRedis(monitorPoint.getId()); @@ -93,9 +95,17 @@ monitorPoint.setIsDelete(Constants.IS_DELETE_FALSE); monitorPointMapper.insertSelective(monitorPoint); }else{ + MonitorPoint queryMonitorPoint = new MonitorPoint(); + queryMonitorPoint.setId(monitorPoint.getId()); + queryMonitorPoint.setOrganizationId(monitorPoint.getOrganizationId()); + // num = 1,���������������,������������������������ + Integer num = monitorPointMapper.selectCount(queryMonitorPoint); + boolean needRefreshCach = (num!=1); monitorPointMapper.updateByPrimaryKeySelective(monitorPoint); - // ������������������������������ ���redis��������������� - refreshDevicesInRedis(monitorPoint.getId()); + if(needRefreshCach){ + // ������������������������������ ���redis��������������� + refreshDevicesInRedis(monitorPoint.getId()); + } } } catch (Exception ex){ @@ -106,24 +116,24 @@ ������������������������������ ���redis��������������� */ private void refreshDevicesInRedis(int monitorPointId){ - Device device = new Device(); - device.setMonitorPointId(monitorPointId); - List<Device> deviceList = deviceMapper.select(device); + Device queryDevice = new Device(); + queryDevice.setMonitorPointId(monitorPointId); + List<Device> deviceList = deviceMapper.select(queryDevice); if (!CollectionUtils.isEmpty(deviceList)){ List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(monitorPointId); if (!CollectionUtils.isEmpty(orgIds)){ deviceList.stream().forEach(dev ->{ if(!StringUtils.isNullOrEmpty(dev.getMac())){ String key = "device_"+dev.getMac(); - // ��������������������� ������������redis - Device simpleDevice = new Device(); - simpleDevice.setId(dev.getId()); - simpleDevice.setDeviceVersion(dev.getDeviceVersion()); - simpleDevice.setMac(dev.getMac()); - simpleDevice.setMonitorPointId(dev.getMonitorPointId()); +// // ��������������������� ������������redis +// Device simpleDevice = new Device(); +// simpleDevice.setId(dev.getId()); +// simpleDevice.setDeviceVersion(dev.getDeviceVersion()); +// simpleDevice.setMac(dev.getMac()); +// simpleDevice.setMonitorPointId(dev.getMonitorPointId()); // ������������������������������������������������������������������ - simpleDevice.setOrganizationIds(orgIds); - redisUtils.set(key,simpleDevice); + dev.setOrganizationIds(orgIds); + redisUtils.set(key,dev); } }); } @@ -153,10 +163,25 @@ Criteria criteria = example.createCriteria(); criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE).andLike("name", "%" + name + "%"); - example.or().andEqualTo("isDelete", Constants.IS_DELETE_FALSE).andCondition("getPY(REPLACE (REPLACE (name,'���',''),'���','')) like ", "%" + name + "%"); + example.or().andEqualTo("isDelete", Constants.IS_DELETE_FALSE) + .andCondition("getPY(" + getReplaceStr("name") + ") like ", "%" + name + "%"); List<MonitorPoint> monitorPoints = monitorPointMapper.selectByExample(example); return monitorPoints; + } + + private String getReplaceStr(String name){ + List<String[]> list = new ArrayList<String[]>(); + list.add(new String[]{"���",""}); + list.add(new String[]{"���",""}); + for (String[] string : list) { + name = replace(name,string[0],string[1]); + } + return name; + } + + private String replace(String name,String fromStr,String toStr){ + return "REPLACE (" + name + ",'" + fromStr + "','" + toStr + "')"; } /** @@ -188,4 +213,17 @@ example.orderBy("name").asc(); return monitorPointMapper.selectByExample(example); } + @Override + public List<MonitorPoint> getMonitorPointsByRegion(Map<String, Object> parameters) { + Example example = new Example(MonitorPoint.class); + Criteria criteria = example.createCriteria(); + + criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE); + criteria.andEqualTo(parameters.get("name").toString(), parameters.get("value")); + return monitorPointMapper.selectByExample(example); + } + @Override + public List<Integer> queryVersionsById(Integer id){ + return monitorPointMapper.selectVersionsById(id); + } } -- Gitblit v1.8.0