From 4ad67c20b9c5e6625babefeee59ccee155cfc3aa Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Fri, 18 Jun 2021 16:54:10 +0800
Subject: [PATCH] Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into dev

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

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java
index 562c462..e22c1ea 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java
@@ -16,6 +16,7 @@
 import com.moral.constant.Constants;
 import com.moral.constant.ResponseCodeEnum;
 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 org.springframework.web.context.request.RequestContextHolder;
@@ -51,6 +52,9 @@
     @Autowired
     LogUtils logUtils;
 
+    @Autowired
+    RedisTemplate redisTemplate;
+
     @Override
     @Transactional
     public Map<String, Object> insertOne(DeviceAdjustValue deviceAdjustValue) {
@@ -81,11 +85,13 @@
             resultMap.put("msg",ResponseCodeEnum.SENSOR_IS_NOT_EXIST.getMsg());
             return resultMap;
         }
-        deviceAdjustValueMapper.insert(deviceAdjustValue);
+        //deviceAdjustValueMapper.insert(deviceAdjustValue);
         //������������������
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
         String content = "���������"+deviceAdjustValue.getMac()+"������"+deviceAdjustValue.getSensorCode()+"���������"+deviceAdjustValue.getStartTime()+"���"+deviceAdjustValue.getEndTime()+"���������������:"+";";
-        logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE);
+        //logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE);
+        //������������
+        refreshCache(deviceAdjustValue.getMac());
         resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode());
         resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
         return resultMap;
@@ -162,6 +168,8 @@
             }
         }
         logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE);
+        //������������
+        refreshCache(deviceAdjustValueOld.getMac());
         resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
         resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
         return resultMap;
@@ -192,6 +200,8 @@
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
         String content = "���������"+deviceAdjustValue.getMac()+"������"+deviceAdjustValue.getSensorCode()+"���������"+deviceAdjustValue.getStartTime()+"���"+deviceAdjustValue.getEndTime()+"���������������:"+";";
         logUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE);
+        //������������
+        refreshCache(deviceAdjustValue.getMac());
         resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
         resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
         return resultMap;
@@ -231,4 +241,42 @@
         return resultMap;
     }
 
+    private Map<String,Object> getDeviceAdjustValueFromDB(String mac){
+        QueryWrapper<DeviceAdjustValue> wapper_redis = new QueryWrapper<>();
+        wapper_redis.eq("mac",mac);
+        wapper_redis.eq("is_delete",Constants.NOT_DELETE);
+        List<DeviceAdjustValue> deviceAdjustValueList = deviceAdjustValueMapper.selectList(wapper_redis);
+        if (deviceAdjustValueList.size()==0){
+            return null;
+        }
+        Map<String, Object> deviceAdjustValueMap = new HashMap<>();
+        for (DeviceAdjustValue deviceAdjustValue:deviceAdjustValueList) {
+            String sensor_code = deviceAdjustValue.getSensorCode();
+            List<DeviceAdjustValue> timeSlotValueList = new ArrayList<>();
+            for (DeviceAdjustValue deviceAdjustValueIn:deviceAdjustValueList) {
+                if (deviceAdjustValueIn.getSensorCode().equals(sensor_code)){
+                    Map<String, Object> timeSlot_value = new HashMap<>();
+                    timeSlot_value.put("start_time",deviceAdjustValue.getStartTime());
+                    timeSlot_value.put("end_time",deviceAdjustValue.getEndTime());
+                    timeSlot_value.put("value",deviceAdjustValue.getValue());
+                    timeSlotValueList.add(deviceAdjustValueIn);
+                }
+            }
+            deviceAdjustValueMap.put(sensor_code,timeSlotValueList);
+        }
+        return deviceAdjustValueMap;
+    }
+
+    private void refreshCache(String mac){
+        Map<String, Object> deviceAdjustValueMap = getDeviceAdjustValueFromDB(mac);
+        refreshCache(deviceAdjustValueMap,mac);
+    }
+
+    private void refreshCache(Map<String,Object> deviceAdjustValueMap,String mac){
+        //������������
+        redisTemplate.delete("adjust_"+mac);
+        //������������
+        redisTemplate.opsForHash().putAll("adjust_"+mac,deviceAdjustValueMap);
+    }
+
 }

--
Gitblit v1.8.0