瀏覽代碼

完善设备型号管理服务

liuyaowen 1 年之前
父節點
當前提交
3d04990bf9

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

@@ -17,6 +17,7 @@ public enum IotErrorCode {
     PARAM_NULL(Codes.CODE_FAILURE,"参数NULL"),
     PARAM_INVALID(Codes.CODE_FAILURE,"参数无效"),
     DB_NOT_FOUND(Codes.CODE_FAILURE,"数据库中找不到此条数据"),
+    CACHE_NOT_FOUNT(Codes.CODE_FAILURE,"缓存中找不到此条数据"),
     BIND_DEVICE_EXIST(Codes.CODE_FAILURE,"设备已绑定"),
     GET_TOKEN_FAIL(Codes.CODE_FAILURE,"获取token失败"),
     ;

+ 24 - 0
src/main/java/com/yunfeiyun/agmp/iot/common/service/TypeCacheService.java

@@ -1,11 +1,35 @@
 package com.yunfeiyun.agmp.iot.common.service;
 
+import com.alibaba.fastjson2.JSONObject;
+import com.yunfeiyun.agmp.common.enums.RedisCacheKey;
+import com.yunfeiyun.agmp.common.framework.manager.RedisCacheManager;
+import com.yunfeiyun.agmp.iot.common.constant.IotErrorCode;
+import com.yunfeiyun.agmp.iot.common.domain.TosDevicetype;
+import com.yunfeiyun.agmp.iot.common.exception.IotBizException;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * 统一维护type(lv2)的缓存,增删改查
  */
 @Service
 public class TypeCacheService {
+    @Resource
+    private RedisCacheManager redisCacheManager;
+
+    public void setCache(TosDevicetype tosDevicetype){
+        redisCacheManager.setCacheObject(RedisCacheKey.IOT_DEVICE_TYPE,tosDevicetype.getDevtypeCode(),tosDevicetype);
+    }
+    public void deleteCache(TosDevicetype tosDevicetype){
+        redisCacheManager.deleteObject(RedisCacheKey.IOT_DEVICE_TYPE,tosDevicetype.getDevtypeCode());
+    }
 
+    public TosDevicetype getCacheObjectByDevTypeCode(String devtypeCode){
+        Object tosDevicetype = redisCacheManager.getCacheObject(RedisCacheKey.IOT_DEVICE_TYPE,devtypeCode);
+        if(null == tosDevicetype){
+            throw new IotBizException(IotErrorCode.CACHE_NOT_FOUNT);
+        }
+        return JSONObject.parseObject(JSONObject.toJSONString(tosDevicetype), TosDevicetype.class);
+    }
 }