From 0723049b7785749898fede88452055a66c49770e Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 07 Feb 2018 11:50:51 +0800 Subject: [PATCH] 地图相关资源 --- src/main/resources/mapper/DeviceMapper.xml | 7 ++- src/main/webapp/js/moralmap.js | 40 ++++++++++--------- src/main/webapp/view/map.jsp | 2 src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 41 ++++++++++++-------- 4 files changed, 51 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index bf3ad03..bb9406d 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -165,9 +165,13 @@ private void loadDeviceState(List<Device> list){ //���redis������������ list.stream().map( device -> { - String mac = Optional.of(device.getMac()).get(); - String state = getSateFromRedis(device.getMonitorPointId(),mac.toLowerCase()); - device.setState(state); + String mac = device.getMac(); + if(!StringUtils.isBlank(mac)){ + String state = getSateFromRedis(device.getMonitorPointId(),mac.toLowerCase()); + device.setState(state); + }else{ + device.setState(Constants.DEVICE_STATE_OFFLINE); + } return device; }).count(); } @@ -269,21 +273,24 @@ @Override public List<Map<String,String>> queryDevicesState(List<String> macList,Boolean withData) { List<Map<String,String>> list = macList.stream().map(mac->{ - mac = mac.toLowerCase(); - Device device = getDeviceWithOrgIdsByMac(mac); Map<String,String> resultMap = new HashMap<>(); - Map<String,String> stateMap = getStateMapFromRedis(device.getMonitorPointId(),mac); - if(!MapUtils.isEmpty(stateMap)){ - resultMap.putAll(stateMap); - }else{ - resultMap.put("state",Constants.DEVICE_STATE_OFFLINE); - resultMap.put("mac",mac); - } - if(BooleanUtils.isTrue(withData)){ - String dataKey = "data_"+mac; - Map<String,String> dataMap = redisUtils.get(dataKey,new TypeReference<Map<String,String>>(){}); - if(!MapUtils.isEmpty(dataMap)){ - resultMap.putAll(dataMap); + if(!StringUtils.isBlank(mac)){ + mac = mac.toLowerCase(); + Device device = getDeviceWithOrgIdsByMac(mac); + Map<String,String> stateMap = getStateMapFromRedis(device.getMonitorPointId(),mac); + if(!MapUtils.isEmpty(stateMap)){ + resultMap.putAll(stateMap); + }else{ + resultMap.put("state",Constants.DEVICE_STATE_OFFLINE); + resultMap.put("mac",mac); + } + //������data + if(BooleanUtils.isTrue(withData)){ + String dataKey = "data_"+mac; + Map<String,String> dataMap = redisUtils.get(dataKey,new TypeReference<Map<String,String>>(){}); + if(!MapUtils.isEmpty(dataMap)){ + resultMap.putAll(dataMap); + } } } return resultMap; diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 27f05e1..0098098 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -21,6 +21,7 @@ </association> <association property="deviceVersion" javaType="com.moral.entity.DeviceVersion"> <result column="device_version_id" property="id" jdbcType="INTEGER" /> + <result column="device_version_value" property="version" jdbcType="INTEGER" /> <result column="device_version_name" property="name" jdbcType="VARCHAR" /> </association> <association property="monitorPoint" javaType="com.moral.entity.MonitorPoint"> @@ -133,8 +134,9 @@ AND device_version_id = #{deviceVersionId} </select> <select id="selectByOrgIdAndDevName" resultMap="BaseResultMap"> - SELECT * from device dev + SELECT dev.*,dve.version as device_version_value from device dev left join monitor_point mpt on dev.monitor_point_id = mpt.id + left join device_version dve on dev.device_version_id = dve.id <where> <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)"> mpt.organization_id = #{orgId} @@ -145,8 +147,9 @@ </where> </select> <select id="selectByOrgIdAndMpId" resultMap="BaseResultMap"> - SELECT * from device dev + SELECT dev.*,dve.version as device_version_value from device dev left join monitor_point mpt on dev.monitor_point_id = mpt.id + left join device_version dve on dev.device_version_id = dve.id <where> <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)"> mpt.organization_id = #{orgId} diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js index 107a9c1..4efef27 100644 --- a/src/main/webapp/js/moralmap.js +++ b/src/main/webapp/js/moralmap.js @@ -26,20 +26,20 @@ /* * ������mac������������version */ - moralMap.getVersion = function(mac){ - var version = null; - $.ajax({ - type:"get", - url:"getversion?mac="+mac, - async:false, - success:function(jsonData){ - if(jsonData!=null&&typeof jsonData=='object'){ - version = jsonData['version']; - } - } - }); - return version; - } + // moralMap.getVersion = function(mac){ + // var version = null; + // $.ajax({ + // type:"get", + // url:"getversion?mac="+mac, + // async:false, + // success:function(jsonData){ + // if(jsonData!=null&&typeof jsonData=='object'){ + // version = jsonData['version']; + // } + // } + // }); + // return version; + // } /* * ��������������������� */ @@ -260,7 +260,7 @@ mac: (row['mac']).toLowerCase(), longitude: row['longitude'], latitude: row['latitude'], - version:moralMap.getVersion(row['mac']) + version:row['deviceVersion']['version'] } var equStr = JSON.stringify(equ); if(window["console"]!=undefined){ @@ -736,11 +736,13 @@ } //������MonitorPoint������ moralMap.putEquipment = function(key, obj) { - key = String.prototype.toLowerCase.call(key); - if(moralMap['_equipments'] == undefined) { - moralMap['_equipments'] = {}; + if(key!=null&&key!=""){ + key = String.prototype.toLowerCase.call(key); + if(moralMap['_equipments'] == undefined) { + moralMap['_equipments'] = {}; + } + moralMap['_equipments'][key] = obj; } - moralMap['_equipments'][key] = obj; } moralMap.getEquipment = function(key) { if(key == null){ diff --git a/src/main/webapp/view/map.jsp b/src/main/webapp/view/map.jsp index 55f7a75..11ede8b 100644 --- a/src/main/webapp/view/map.jsp +++ b/src/main/webapp/view/map.jsp @@ -321,7 +321,7 @@ mac: (_obj['mac']).toLowerCase(), longitude: _obj['longitude'], latitude: _obj['latitude'], - version:moralMap.getVersion(_obj['mac']) + version:_obj['deviceVersion']['version'] } var equStr = JSON.stringify(equ); if(window["console"]!=undefined){ -- Gitblit v1.8.0