From f52e59d2cb5391b6cb46d2d75e4ffa586aa61df1 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 15 Sep 2023 11:24:42 +0800 Subject: [PATCH] chore:过滤无人机无效数据 --- screen-api/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java | 62 ++++++++++++++++++++++++++++-- 1 files changed, 57 insertions(+), 5 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java index 761a62b..6d310b9 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java @@ -1,17 +1,20 @@ package com.moral.api.service.impl; -import com.moral.api.entity.Device; -import com.moral.api.entity.OrganizationUnitAlarm; -import com.moral.api.entity.Sensor; -import com.moral.api.entity.Version; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.moral.api.entity.*; import com.moral.api.mapper.OrganizationUnitAlarmMapper; +import com.moral.api.service.DeviceService; import com.moral.api.service.OrganizationUnitAlarmService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.constant.Constants; import com.moral.constant.RedisConstants; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -28,12 +31,61 @@ @Autowired RedisTemplate redisTemplate; + @Autowired + DeviceService deviceService; + @Autowired + OrganizationUnitAlarmMapper organizationUnitAlarmMapper; + /** + * @Description: ��������������������������������� + * @Param: [mac] + * @return: java.util.List<com.moral.api.entity.Sensor> + * @Author: ��������� + * @Date: 2021/8/23 + */ @Override public List<Sensor> queryAlarmLevel(String mac) { Device device = (Device) redisTemplate.opsForHash().get(RedisConstants.DEVICE_INFO, mac); - Version version = device.getVersion(); + Version version; + if (ObjectUtils.isEmpty(device)){ + SpecialDevice specialDevice = (SpecialDevice) redisTemplate.opsForHash().get(RedisConstants.SPECIAL_DEVICE_INFO,mac); + version = specialDevice.getVersion(); + }else { + version = device.getVersion(); + } List<Sensor> sensors = version.getSensors(); + //������������������������������������������������ + if (ObjectUtils.isEmpty(sensors)) { + sensors = queryAlarmLevelFromDb(mac); + } + return sensors; + } + + + /** + * @Description: ������������������������������������ + * @Param: [mac] + * @return: java.util.List<com.moral.api.entity.Sensor> + * @Author: ��������� + * @Date: 2021/8/23 + */ + private List<Sensor> queryAlarmLevelFromDb(String mac) { + Device device = deviceService.getDeviceByMac(mac); + Integer organizationId = device.getOrganizationId(); + Integer deviceVersionId = device.getDeviceVersionId(); + QueryWrapper<OrganizationUnitAlarm> wrapper = new QueryWrapper<>(); + wrapper.eq("organization_id", organizationId); + wrapper.eq("version_id", deviceVersionId); + wrapper.eq("is_delete", Constants.NOT_DELETE); + List<OrganizationUnitAlarm> organizationUnitAlarms = organizationUnitAlarmMapper.selectList(wrapper); + List<Sensor> sensors = new ArrayList<>(); + //���������sensorcode���alarmlevel������ + for (OrganizationUnitAlarm organizationUnitAlarm : organizationUnitAlarms) { + Sensor sensor = new Sensor(); + sensor.setCode(organizationUnitAlarm.getSensorCode()); + sensor.setAlarmLevel(organizationUnitAlarm.getAlarmLevel()); + sensors.add(sensor); + } return sensors; } } -- Gitblit v1.8.0