Procházet zdrojové kódy

新增设备连接信息缓存

liuyaowen před 1 rokem
rodič
revize
63e89990e7

+ 1 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/constant/IotErrorCode.java

@@ -19,6 +19,7 @@ public enum IotErrorCode {
     DB_NOT_FOUND(Codes.CODE_FAILURE,"数据库中找不到此条数据"),
     CACHE_NOT_FOUNT(Codes.CODE_FAILURE,"缓存中找不到此条数据"),
     INVALID_DEVICE_TYPE(Codes.CODE_FAILURE,"无效的设备类型"),
+    INVALID_DEVICE_CONN_BID(Codes.CODE_FAILURE,"无效的设备连接信息标识"),
     BIND_DEVICE_EXIST(Codes.CODE_FAILURE,"设备已绑定"),
     GET_TOKEN_FAIL(Codes.CODE_FAILURE,"获取token失败"),
     ;

+ 36 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/service/DeviceconnCacheService.java

@@ -0,0 +1,36 @@
+package com.yunfeiyun.agmp.iot.common.service;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.yunfeiyun.agmp.common.enums.RedisCacheKey;
+import com.yunfeiyun.agmp.iot.common.constant.IotErrorCode;
+import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictEnum;
+import com.yunfeiyun.agmp.iot.common.domain.IotDeviceconn;
+import com.yunfeiyun.agmp.iot.common.domain.IotDeviceconn;
+import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class DeviceconnCacheService {
+    @Resource
+    private RedisTemplate redisTemplate;
+
+    public void setCache(IotDeviceconn iotDeviceconn){
+        redisTemplate.opsForValue().set(getKey(RedisCacheKey.IOT_DEVICE_CONN)+iotDeviceconn.getDevconnBid(),iotDeviceconn);
+    }
+    public void deleteCache(IotDeviceconn iotDeviceconn){
+        redisTemplate.delete(getKey(RedisCacheKey.IOT_DEVICE_CONN)+iotDeviceconn.getDevconnBid());
+    }
+    public IotDeviceconn getIotDeviceConnByDevconnBid(String devconnBid){
+        IotDeviceconn iotDeviceconn = (IotDeviceconn) redisTemplate.opsForValue().get(getKey(RedisCacheKey.IOT_DEVICE_CONN)+devconnBid);
+        if(null == iotDeviceconn){
+            throw new IotBizException(IotErrorCode.INVALID_DEVICE_CONN_BID);
+        }
+        return iotDeviceconn;
+    }
+    private String getKey(RedisCacheKey redisCacheKey){
+        return redisCacheKey.getPrefix() + ":" + redisCacheKey.getModuleType() + ":" + redisCacheKey.getName()+":";
+    }
+}