浏览代码

删除设备数据接口

locky 3 年之前
父节点
当前提交
b2772c4849
共有 1 个文件被更改,包括 35 次插入1 次删除
  1. 35 1
      AdminController/DeviceManagementController.py

+ 35 - 1
AdminController/DeviceManagementController.py

@@ -14,7 +14,7 @@ from django.views.generic.base import View
 from Service.ModelService import ModelService
 from Service.CommonService import CommonService
 from Model.models import Device_Info, UidSetModel, LogModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
-    VodHlsModel, ExperienceContextModel, DeviceTypeModel
+    VodHlsModel, ExperienceContextModel, DeviceTypeModel, Equipment_Info, UidUserModel
 
 
 class DeviceManagement(View):
@@ -33,6 +33,8 @@ class DeviceManagement(View):
         response = ResponseObject(language, 'pc')
         if operation == 'addDeviceType':
             return self.addDeviceType(request, request_dict, response)
+        elif operation == 'delDeviceData':
+            return self.delDeviceData(request_dict, response)
         else:
             tko = TokenObject(
                 request.META.get('HTTP_AUTHORIZATION'),
@@ -258,3 +260,35 @@ class DeviceManagement(View):
         except Exception as e:
             print(e)
             return response.json(500, repr(e))
+
+    # 删除设备数据
+    def delDeviceData(self, request_dict, response):
+        uidList = request_dict.get('uidList', None)
+        delDataOptions = request_dict.get('delDataOptions', None)
+
+        if not all([uidList, delDataOptions]):
+            return response.json(444)
+        try:
+            with transaction.atomic():
+                uidList = uidList.splitlines()      # 按行('\r', '\r\n', \n')切割字符串返回列表
+                # 根据删除项删除相关数据
+                if '设备信息数据' in delDataOptions:
+                    Device_Info.objects.filter(UID__in=uidList).delete()
+                if '设备配置数据' in delDataOptions:
+                    UidSetModel.objects.filter(uid__in=uidList).delete()
+                if '设备推送数据' in delDataOptions:
+                    Equipment_Info.objects.filter(devUid__in=uidList).delete()
+                if '设备AP信息数据' in delDataOptions:
+                    UidUserModel.objects.filter(UID__in=uidList).delete()
+                if '设备云存数据' in delDataOptions:
+                    UID_Bucket.objects.filter(uid__in=uidList).delete()
+                    Unused_Uid_Meal.objects.filter(uid__in=uidList).delete()
+                    Order_Model.objects.filter(UID__in=uidList).delete()
+                    StsCrdModel.objects.filter(uid__in=uidList).delete()
+                    VodHlsModel.objects.filter(uid__in=uidList).delete()
+                    ExperienceContextModel.objects.filter(uid__in=uidList).delete()
+                    Device_Info.objects.filter(UID__in=uidList).update(vodPrimaryUserID='', vodPrimaryMaster='')
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))