From 9d91dc402f279630eaa100024fd3b1542fbeb41c Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 22 Dec 2021 11:04:41 +0800
Subject: [PATCH] 分钟,5分钟,小时表存入非本月数据bug修复

---
 screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java |   47 ++++++++++++++++++++++++++++-------------------
 1 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
index 26598b6..fb293a2 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
@@ -1,16 +1,17 @@
 package com.moral.api.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
-import com.moral.api.entity.HistoryHourly;
 import com.moral.api.mapper.HistoryHourlyMapper;
 import com.moral.api.service.DeviceService;
 import com.moral.api.service.HistoryHourlyService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
 import com.moral.util.DateUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.HashMap;
@@ -25,7 +26,7 @@
  * @since 2021-06-04
  */
 @Service
-public class HistoryHourlyServiceImpl extends ServiceImpl<HistoryHourlyMapper, HistoryHourly> implements HistoryHourlyService {
+public class HistoryHourlyServiceImpl implements HistoryHourlyService {
 
     @Autowired
     private HistoryHourlyMapper historyHourlyMapper;
@@ -33,31 +34,39 @@
     @Autowired
     private DeviceService deviceService;
 
+    @Autowired
+    private RedisTemplate redisTemplate;
+
     @Override
+    @Transactional
     public void insertHistoryHourly(Map<String, Object> data) {
+        //������������������
         Map<String, Object> dataAdjust = new HashMap<>(data);
+        //���������������������
+        Map<String, Object> result = new HashMap<>();
         String mac = data.remove("mac").toString();
-        Date time = DateUtils.dataToTimeStampTime(new Date(new Long((String) data.remove("DataTime"))), DateUtils.yyyy_MM_dd_HH_EN);
-        Integer version = (Integer) data.remove("ver");
-        Map<String, Object> result = new HashMap<>(data);
+        //������mac������������
+        Map<String, Object> deviceInfo = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, mac);
+        Map<String, Object> versionInfo = (Map<String, Object>) deviceInfo.get("version");
+        Integer version = (Integer) versionInfo.get("id");
+
+        Date time = DateUtils.getDate((String) data.remove("DataTime"), DateUtils.yyyyMMddHHmmss_EN);
+        String yearAndMonth = DateUtils.dateToDateString(DateUtils.addHours(time, -1), DateUtils.yyyyMM_EN);
+
         result.put("mac", mac);
-        result.put("time", time);
+        result.put("time", DateUtils.addHours(time, -1));
         result.put("version", version);
-        result.put("timeUnits", Constants.UN_ADJUST);
+        result.put("timeUnits", yearAndMonth + "_" + Constants.UN_ADJUST);
         result.put("value", JSONObject.toJSONString(data));
-        //���������������������������
-        historyHourlyMapper.insertHistoryHourlyUnAdjust(result);
+        //������������������insert
+        historyHourlyMapper.insertHistoryHourly(result);
 
         //������������
         dataAdjust = deviceService.adjustDeviceData(dataAdjust);
-        dataAdjust.remove("mac");
-        dataAdjust.remove("DataTime");
-        dataAdjust.remove("ver");
-        HistoryHourly historyHourly = new HistoryHourly();
-        historyHourly.setMac(mac);
-        historyHourly.setTime(time);
-        historyHourly.setVersion(version);
-        historyHourly.setValue(JSONObject.toJSONString(dataAdjust));
-        historyHourlyMapper.insert(historyHourly);
+
+        //������������������insert
+        result.put("timeUnits", yearAndMonth);
+        result.put("value", JSONObject.toJSONString(dataAdjust));
+        historyHourlyMapper.insertHistoryHourly(result);
     }
 }

--
Gitblit v1.8.0