src/main/java/com/moral/service/impl/DeviceServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/DeviceMapper.xml | ●●●●● patch | view | raw | blame | history | |
src/main/webapp/js/moralmap.js | ●●●●● patch | view | raw | blame | history | |
src/main/webapp/view/map.jsp | ●●●●● patch | view | raw | blame | history |
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; 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} 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){ 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){