From 6b8209671b4ee8296c01f9f6a70b3f9444a48e71 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Tue, 28 Sep 2021 17:00:20 +0800
Subject: [PATCH] 修改bug
---
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 41 +++++++++++++++++++++++++++--------------
1 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index 4dfe2bb..64eee36 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -12,7 +12,7 @@
import com.moral.api.service.DeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.moral.api.service.GovMonitorPointService;
+import com.moral.api.service.OrganizationService;
import com.moral.api.service.SysDictDataService;
import com.moral.api.util.CacheUtils;
import com.moral.api.util.AdjustDataUtils;
@@ -40,6 +40,7 @@
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
@@ -93,6 +94,9 @@
@Autowired
private AdjustDataUtils adjustDataUtils;
+
+ @Autowired
+ private OrganizationService organizationService;
/*
* ���redis������������������
@@ -243,8 +247,14 @@
@Override
public List<Map<String, Object>> selectMonitorsByOrgId(Integer orgId) {
+ //���������������������
+ List<Organization> organizations = organizationService.getAllChildrenOrganization(orgId);
+ List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList());
+ orgIds.add(orgId);
QueryWrapper<MonitorPoint> queryWrapper = new QueryWrapper<>();
- queryWrapper.select("id", "name").eq("organization_id", orgId).eq("is_delete", Constants.NOT_DELETE);
+ queryWrapper.select("id", "name")
+ .eq("is_delete", Constants.NOT_DELETE)
+ .in("organization_id", orgIds);
return monitorPointMapper.selectMaps(queryWrapper);
}
@@ -270,9 +280,13 @@
Object orgId = parameters.get("organizationId");
Object mpId = parameters.get("monitorPointId");
- //������������������������������
+ //������������������������������,���������������
if (orgId != null) {
- queryWrapper.eq("organization_id", orgId);
+ //���������������������
+ List<Organization> organizations = organizationService.getAllChildrenOrganization(Integer.parseInt(orgId.toString()));
+ List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList());
+ orgIds.add(Integer.parseInt(orgId.toString()));
+ queryWrapper.in("organization_id", orgIds);
}
//������������������������������
@@ -394,13 +408,14 @@
//������������
Map<String, Object> govMpInfo = new LinkedHashMap<>();
- GovMonitorPoint govMonitorPoint = device.getGovMonitorPoint();
- if (govMonitorPoint != null) {
+
+ govMpInfo.put("guid", null);
+ govMpInfo.put("name", null);
+ if (device.getGovMonitorPoint() != null) {
govMpInfo.put("guid", device.getGovMonitorPoint().getGuid());
govMpInfo.put("name", device.getGovMonitorPoint().getName());
}
deviceInfo.put("govMonitorPoint", govMpInfo);
-
setDeviceInfoToRedis(mac, deviceInfo);
return deviceInfo;
}
@@ -441,14 +456,12 @@
Map<String, Object> adjustFormula = redisTemplate.opsForHash().entries(RedisConstants.ADJUST + "_" + mac);
if (!ObjectUtils.isEmpty(adjustFormula)) {
Map<String, Object> deviceInfo = getDeviceByMac(mac);
- //���������������������������������
- Map<String, Object> govMpInfo = (Map) deviceInfo.get("govMonitorPoint");
- if (ObjectUtils.isEmpty(govMpInfo.get("guid"))) {
- return deviceData;
+ //������������������������������������
+ Map<String, Object> govMpInfo = (Map<String, Object>) deviceInfo.get("govMonitorPoint");
+ Map<String, Object> aqiMap = null;
+ if (govMpInfo.get("guid") != null) {
+ aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMpInfo.get("guid").toString());
}
- String guid = (String) govMpInfo.get("guid");
- //���������������aqi������
- Map<String, Object> aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, guid);
return adjustDataUtils.adjust(deviceData, adjustFormula, ObjectUtils.isEmpty(aqiMap) ? null : aqiMap);
}
deviceData.remove("DataTime");
--
Gitblit v1.8.0