Prechádzať zdrojové kódy

设备版本信息编辑后删除缓存

linhaohong 7 mesiacov pred
rodič
commit
f86450270f

+ 29 - 4
AdminController/DeviceManagementController.py

@@ -110,7 +110,7 @@ class DeviceManagement(View):
                 return self.add_device_ver_info(request_dict, response)
             elif operation == 'editDeviceVerInfo':  # 编辑设备型号版本
                 return self.edit_device_ver_info(request_dict, response)
-            elif operation == 'delDeviceVerInfo':  # 编辑设备型号版本
+            elif operation == 'delDeviceVerInfo':  # 删除设备型号版本
                 return self.del_device_ver_info(request_dict, response)
             else:
                 return response.json(444, 'operation')
@@ -1567,13 +1567,25 @@ class DeviceManagement(View):
         try:
             now_time = int(time.time())
             ai_type = int(ai_type)
-            device_version_info_qs = DeviceVersionInfo.objects.filter(id=device_ver_id)
+            device_version_info_qs = DeviceVersionInfo.objects.filter(id=device_ver_id).values('d_code', 'software_ver')
             if not device_version_info_qs.exists():
                 return response.json(173)
             if other_features:
                 other_features = json.loads(other_features)
             else:
                 other_features = None
+
+            d_code = device_version_info_qs['d_code']
+            software_ver = device_version_info_qs['software_ver']
+            version_key = RedisKeyConstant.ZOSI_DEVICE_VERSION_INFO.value + software_ver + d_code
+            # 创建Redis对象
+            redis = RedisObject()
+            # 尝试从Redis中获取数据
+            version_info = redis.get_data(version_key)
+            if version_info:
+                # 如果在Redis中找到了数据,删除缓存
+                redis.del_data(version_key)
+
             device_version_info_qs.update(
                 d_code=d_code,
                 software_ver=software_ver,
@@ -1609,10 +1621,23 @@ class DeviceManagement(View):
     @staticmethod
     def del_device_ver_info(request_dict, response):
         device_ver_id = request_dict.get('deviceVerId', None)
-        print(device_ver_id)
         if not device_ver_id:
             return response.json(444)
-        DeviceVersionInfo.objects.filter(id=device_ver_id).delete()
+        device_version_info_qs = DeviceVersionInfo.objects.filter(id=device_ver_id).values('d_code', 'software_ver')
+        if not device_version_info_qs.exists():
+            return response.json(174)
+
+        d_code = device_version_info_qs['d_code']
+        software_ver = device_version_info_qs['software_ver']
+        version_key = RedisKeyConstant.ZOSI_DEVICE_VERSION_INFO.value + software_ver + d_code
+        # 创建Redis对象
+        redis = RedisObject()
+        # 尝试从Redis中获取数据
+        version_info = redis.get_data(version_key)
+        if version_info:
+            # 如果在Redis中找到了数据,删除缓存
+            redis.del_data(version_key)
+        device_version_info_qs.delete()
         return response.json(0)