Procházet zdrojové kódy

定时删除测试账号下的数据删除云存相关数据

locky před 4 roky
rodič
revize
c47519493f
1 změnil soubory, kde provedl 23 přidání a 6 odebrání
  1. 23 6
      Controller/TestApi.py

+ 23 - 6
Controller/TestApi.py

@@ -12,6 +12,7 @@
 @Contact: chanjunkai@163.com
 """
 import botocore
+from django.db import transaction
 from django.views.generic.base import View
 import os
 
@@ -43,7 +44,8 @@ from Object.RedisObject import RedisObject
 from django.contrib.auth.hashers import make_password, check_password  # 对密码加密模块
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
     SERVER_DOMAIN_SSL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
-from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, CompanySerialModel, SerialNumberModel, CompanyModel, VPGModel
+from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, CompanySerialModel, \
+    SerialNumberModel, CompanyModel, VPGModel, Unused_Uid_Meal, StsCrdModel, ExperienceContextModel
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -759,13 +761,28 @@ class testView(View):
                             content_type="application/json,charset=utf-8")
 
     def delete_device(self, response):
-        # 每两周删除一次tech01@ansjer.com~tech10@ansjer.com账号下的设备
+        # 定时删除测试账号下的设备数据
         try:
-            userID_list = ['tech01@ansjer.com', 'tech02@ansjer.com', 'tech03@ansjer.com',
-                           'tech04@ansjer.com', 'tech05@ansjer.com', 'tech06@ansjer.com',
-                           'tech07@ansjer.com', 'tech08@ansjer.com', 'tech09@ansjer.com', 'tech10@ansjer.com']
+            userID_list = ['tech01@ansjer.com', 'tech02@ansjer.com', 'tech03@ansjer.com', 'tech04@ansjer.com',
+                           'tech05@ansjer.com', 'tech06@ansjer.com', 'tech07@ansjer.com', 'tech08@ansjer.com',
+                           'tech09@ansjer.com', 'tech10@ansjer.com', 'fix01@ansjer.com', 'fix02@ansjer.com',
+                           'fix03@ansjer.com', 'fix04@ansjer.com', 'fix05@ansjer.com']
             device_user = Device_User.objects.filter(username__in=userID_list)
-            Device_Info.objects.filter(userID__in=device_user).delete()
+            device_info_qs = Device_Info.objects.filter(userID__in=device_user).values('UID')
+            uid_list = []
+            for device_info in device_info_qs:
+                uid_list.append(device_info['UID'])
+            with transaction.atomic():
+                # 删除设备云存相关数据
+                UidSetModel.objects.filter(uid__in=uid_list).delete()
+                UID_Bucket.objects.filter(uid__in=uid_list).delete()
+                Unused_Uid_Meal.objects.filter(uid__in=uid_list).delete()
+                Order_Model.objects.filter(UID__in=uid_list).delete()
+                StsCrdModel.objects.filter(uid__in=uid_list).delete()
+                VodHlsModel.objects.filter(uid__in=uid_list).delete()
+                ExperienceContextModel.objects.filter(uid__in=uid_list).delete()
+                Device_Info.objects.filter(userID__in=device_user).delete()
+
             return response.json(0)
         except Exception as e:
             return response.json(500, repr(e))