diff --git a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/rule/bjq/BjqLocationDataRule.java b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/rule/bjq/BjqLocationDataRule.java index 0c0732dd9..5fac74596 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/rule/bjq/BjqLocationDataRule.java +++ b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/rule/bjq/BjqLocationDataRule.java @@ -56,7 +56,11 @@ public class BjqLocationDataRule implements MqttMessageRule { // Latitude, longitude String latitude = convertArr[1].toString(); String longitude = convertArr[2].toString(); - + // 判断 latitude 和 longitude 是否都为 0 + if ("0".equals(latitude) && "0".equals(longitude)) { + log.info("位置信息为0,不存储到Redis: device={}, lat={}, lon={}", context.getDeviceImei(), latitude, longitude); + return; + } // 异步发送经纬度到Redis asyncSendLocationToRedisWithFuture(context.getDeviceImei(), latitude, longitude); // 异步保存数据 @@ -122,6 +126,7 @@ public class BjqLocationDataRule implements MqttMessageRule { if (StringUtils.isBlank(latitude) || StringUtils.isBlank(longitude)) { return; } + // String[] latArr = latitude.split("\\."); // String[] lonArr = longitude.split("\\."); // // 将位置信息存储到Redis中 diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBizService.java b/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBizService.java index 4a395b8a0..d77a9bdb5 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBizService.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBizService.java @@ -395,6 +395,10 @@ public class DeviceBizService { JSONObject jsonObject = JSONObject.parseObject(obj); Long timestamp = jsonObject.getLong("timestamp"); LocalDate date = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), ZoneId.systemDefault()).toLocalDate(); + String address = jsonObject.getString("address"); + if(StringUtils.isBlank( address) || "[]".equals(address)){ + continue; + } if (map.containsKey(date.toString())) { map.get(date.toString()).add(jsonObject); } else { diff --git a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml index 46fa3f446..3879beab0 100644 --- a/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml +++ b/fys-modules/fys-equipment/src/main/resources/mapper/equipment/DeviceMapper.xml @@ -274,6 +274,9 @@ and a.device_imei like concat('%',#{criteria.deviceImei}, '%') + + and a.device_mac like concat('%',#{criteria.deviceMac}, '%') + AND (a.device_imei like concat('%',#{criteria.content}, '%') or a.device_mac like concat('%',#{criteria.content}, '%') )