From c7d5088dbd18cbbcb98d12aeac35e7d38cdf93be Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Sun, 26 Sep 2021 17:31:23 +0800
Subject: [PATCH] 臭氧8小时滑动值算法,分钟,小时数据时间变更为开始时间

---
 screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
index 48b5e86..41aad0c 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -11,6 +11,7 @@
 import com.moral.api.pojo.vo.device.DeviceVO;
 import com.moral.api.service.SpecialDeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.AdjustDataUtils;
 import com.moral.api.util.CacheUtils;
 import com.moral.api.util.LogUtils;
 import com.moral.constant.Constants;
@@ -75,6 +76,9 @@
 
     @Autowired
     private LogUtils logUtils;
+
+    @Autowired
+    private AdjustDataUtils adjustDataUtils;
 
     /*
      * ���redis������������������
@@ -540,11 +544,37 @@
         organizationInfo = organizationMapper.selectById(specialDevice.getOrganizationId());
         specialDeviceInfoDTO.setOrganization(organizationInfo);
 
-        System.out.println("========================");
-        System.out.println(specialDeviceInfoDTO);
         return specialDeviceInfoDTO;
     }
 
+    @Override
+    public Map<String, Object> adjustSpecialDeviceData(Map<String, Object> deviceData) {
+        String mac = deviceData.remove("mac").toString();
+        //���redis������������������
+        Map<String, Object> adjustFormula = redisTemplate.opsForHash().entries(RedisConstants.ADJUST + "_" + mac);
+        if (!org.springframework.util.ObjectUtils.isEmpty(adjustFormula)) {
+            SpecialDeviceInfoDTO specialDeviceInfo = getDeviceInfoFromRedis(mac);
+            if (org.springframework.util.ObjectUtils.isEmpty(specialDeviceInfo)) {
+                QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("mac", mac).eq("is_delete", Constants.NOT_DELETE);
+                SpecialDevice specialDevice = specialDeviceMapper.selectOne(queryWrapper);
+                if (specialDevice != null) {
+                    specialDeviceInfo = selectDeviceInfoDTOById(specialDevice.getId());
+                    setDeviceInfoToRedis(mac, specialDeviceInfo);
+                }
+            }
+            //������������������������������������
+            Map<String, Object> govMpInfo = (Map<String, Object>) specialDeviceInfo.getGovMonitorPoint();
+            Map<String, Object> aqiMap = null;
+            if (govMpInfo.get("guid") != null) {
+                aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMpInfo.get("guid").toString());
+            }
+            return adjustDataUtils.adjust(deviceData, adjustFormula, org.springframework.util.ObjectUtils.isEmpty(aqiMap) ? null : aqiMap);
+        }
+        deviceData.remove("DataTime");
+        return deviceData;
+    }
+
     private void insertOrganizationUnitAlarm(Integer orgId, Integer versionId) {
         QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>();
         queryOrganizationVersionWrapper.eq("organization_id", orgId);

--
Gitblit v1.8.0