فهرست منبع

VUE-uid_set新增重置云存和重置主用户2

chenshibin 3 سال پیش
والد
کامیت
8acb2e8937
1فایلهای تغییر یافته به همراه67 افزوده شده و 1 حذف شده
  1. 67 1
      AdminController/DeviceManagementController.py

+ 67 - 1
AdminController/DeviceManagementController.py

@@ -1,13 +1,17 @@
 #!/usr/bin/env python3
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 # -*- coding: utf-8 -*-
 import json
 import json
+import time
+
+from aioredis.commands import transaction
 
 
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 from django.views.generic.base import View
 from django.views.generic.base import View
 from Service.ModelService import ModelService
 from Service.ModelService import ModelService
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
-from Model.models import Device_Info, UidSetModel
+from Model.models import Device_Info, UidSetModel, LogModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
+    VodHlsModel, ExperienceContextModel
 import datetime
 import datetime
 from django.utils import timezone
 from django.utils import timezone
 
 
@@ -41,6 +45,10 @@ class DeviceManagement(View):
                 return self.delete(request_dict, userID, response)
                 return self.delete(request_dict, userID, response)
             elif operation == 'uidSetQuery':
             elif operation == 'uidSetQuery':
                 return self.uidSetQuery(request_dict, userID, response)
                 return self.uidSetQuery(request_dict, userID, response)
+            elif operation == 'vod_reset':
+                return self.vod_reset(request, request_dict, response)
+            elif operation == 'primary_user_reset':
+                return self.primary_user_reset(request, request_dict, response)
         return response.json(444, 'operation')
         return response.json(444, 'operation')
 
 
 
 
@@ -104,3 +112,61 @@ class DeviceManagement(View):
         uidset_json['count'] = count
         uidset_json['count'] = count
         return response.json(
         return response.json(
             0, {'list': uidset_json, 'total': count})
             0, {'list': uidset_json, 'total': count})
+
+    # 重置设备云存
+    def vod_reset(self, request, request_dict, response):
+        uid = request_dict.get('uid', None)
+        if uid:
+            try:
+                # 记录操作日志
+                ip = CommonService.get_ip_address(request)
+                content = json.loads(json.dumps(request_dict))
+                log = {
+                    'ip': ip,
+                    'user_id': 1,
+                    'status': 200,
+                    'time': int(datetime.time.time()),
+                    'url': 'uidset/vod_reset',
+                    'content': json.dumps(content),
+                    'operation': '{}重置设备云存'.format(uid),
+                }
+                with transaction.atomic():
+                    LogModel.objects.create(**log)
+                    # 删除和更新设备云存相关数据
+                    UID_Bucket.objects.filter(uid=uid).delete()
+                    Unused_Uid_Meal.objects.filter(uid=uid).delete()
+                    Order_Model.objects.filter(UID=uid).delete()
+                    StsCrdModel.objects.filter(uid=uid).delete()
+                    VodHlsModel.objects.filter(uid=uid).delete()
+                    ExperienceContextModel.objects.filter(uid=uid).delete()
+                    # UIDMainUser.objects.filter(UID=uid).delete()
+                    Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID='', vodPrimaryMaster='')
+            except Exception as e:
+                print(e)
+                return response.json(500, repr(e))
+            else:
+                return response.json(0)
+
+    # 重置设备主用户
+    def primary_user_reset(self, request, request_dict, response):
+        uid = request_dict.get('uid', None)
+        if not uid:
+            return response.json(404)
+        try:
+            # 记录操作日志
+            ip = CommonService.get_ip_address(request)
+            content = json.loads(json.dumps(request_dict))
+            log = {
+                'ip': ip,
+                'user_id': 1,
+                'status': 200,
+                'time': int(time.time()),
+                'url': 'uidset/primary_user_reset',
+                'content': json.dumps(content),
+                'operation': '{}重置设备主用户'.format(uid),
+            }
+            LogModel.objects.create(**log)
+            Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID='', vodPrimaryMaster='')
+            return response.json(0)
+        except Exception as e:
+            return response.json(500, repr(e))