From 100690a225167806a08f64eafff3326564a7154a Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 13 Oct 2023 17:06:22 +0800
Subject: [PATCH] fix:补偿提交

---
 screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 43 insertions(+), 14 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..d281aa0 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;
@@ -74,7 +75,7 @@
     private GovMonitorPointMapper govMonitorPointMapper;
 
     @Autowired
-    private LogUtils logUtils;
+    private AdjustDataUtils adjustDataUtils;
 
     /*
      * ���redis������������������
@@ -285,7 +286,7 @@
             HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
             StringBuilder content = new StringBuilder();
             content.append("������������������������������������").append(insertSpecialDeviceHistory.getName()).append(":").append("mac���").append(insertSpecialDeviceHistory.getMac());
-            logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
+            LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
         }else {
             /*UpdateWrapper<SpecialDeviceHistory> wrapper_insertSpecialDeviceHistory = new UpdateWrapper<>();
             wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE);
@@ -320,7 +321,7 @@
                 }
 
             }
-            logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+            LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
         }
         //Map<String, Object> deviceInfo = selectDeviceInfoById(specialDevice.getId());
         SpecialDeviceInfoDTO specialDeviceInfoDTO = selectDeviceInfoDTOById(specialDevice.getId());
@@ -338,7 +339,7 @@
         HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
         StringBuilder content = new StringBuilder();
         content.append("������������������������").append(specialDevice.getName()).append(":").append("mac���").append(mac);
-        logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
+        LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
         resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode());
         resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
         return resultMap;
@@ -384,7 +385,7 @@
             HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
             StringBuilder content = new StringBuilder();
             content.append("������������������������������������").append(updateSpecialDeviceHistory.getName()).append(":").append("mac���").append(updateSpecialDeviceHistory.getMac());
-            logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
+            LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
         }else {
             /*UpdateWrapper<SpecialDeviceHistory> wrapper_insertSpecialDeviceHistory = new UpdateWrapper<>();
             wrapper_specialDeviceHistory.eq("is_delete",Constants.NOT_DELETE);
@@ -394,7 +395,7 @@
             //������������������
             HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
             StringBuilder content = new StringBuilder();
-            content.append("������������������������").append(specialDeviceHistory.getId()).append("���");
+            content.append("������������������������������").append(specialDeviceHistory.getId()).append(";");
             Field[] fields = SpecialDevice.class.getDeclaredFields();
             for (Field field : fields) {
                 if (field.getName().equals("id")) {
@@ -411,7 +412,7 @@
                     Object o1 = method.invoke(specialDeviceHistory);
                     Object o2 = method.invoke(updateSpecialDeviceHistory);
                     if (o2 != null) {
-                        content.append(fieldName).append("���").append(o1).append("-->").append(o2).append(":");
+                        content.append(fieldName).append("���").append(o1).append("-->").append(o2).append(";");
                     }
 
                 } catch (Exception e) {
@@ -419,12 +420,12 @@
                 }
 
             }
-            logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+            LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
         }
         //������������������
         HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
         StringBuilder content = new StringBuilder();
-        content.append("������������������������").append(specialDeviceId).append("���");
+        content.append("������������������������").append(specialDeviceId).append(";");
         Field[] fields = SpecialDevice.class.getDeclaredFields();
         for (Field field : fields) {
             if (field.getName().equals("id")) {
@@ -441,7 +442,7 @@
                 Object o1 = method.invoke(oldSpecialDevice);
                 Object o2 = method.invoke(specialDevice);
                 if (o2 != null) {
-                    content.append(fieldName).append("���").append(o1).append("-->").append(o2).append(":");
+                    content.append(fieldName).append("���").append(o1).append("-->").append(o2).append(";");
                 }
 
             } catch (Exception e) {
@@ -449,7 +450,7 @@
             }
 
         }
-        logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+        LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
     }
 
     @Override
@@ -471,7 +472,7 @@
         HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
         StringBuilder content = new StringBuilder();
         content.append("������������������").append(specialDevice.getName()).append(";").append("mac���").append(mac);
-        logUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE);
+        LogUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE);
     }
 
     @Override
@@ -540,11 +541,39 @@
         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();
+        String mac = deviceData.get("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> govMpInfo = JSON.parseObject(JSON.toJSONString(specialDeviceInfo.getGovMonitorPoint()),Map.class);
+            Map<String, Object> aqiMap = null;
+            if (null != govMpInfo && null != govMpInfo.get("guid")) {
+                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,"0");
+        }
+        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