Bläddra i källkod

注销用户删除云盘记录

peng 2 år sedan
förälder
incheckning
c9f407129a
1 ändrade filer med 22 tillägg och 2 borttagningar
  1. 22 2
      Controller/UserController.py

+ 22 - 2
Controller/UserController.py

@@ -38,11 +38,12 @@ from jwt.algorithms import RSAAlgorithm
 from ratelimit import limits
 
 from Ansjer.config import AuthCode_Expire, SERVER_DOMAIN, APNS_CONFIG, JPUSH_CONFIG, FCM_CONFIG, TUTK_PUSH_DOMAIN
-from Ansjer.config import BASE_DIR, CONFIG_EUR, CONFIG_INFO, SERVER_DOMAIN_EUR
+from Ansjer.config import BASE_DIR, CONFIG_EUR, CONFIG_INFO, SERVER_DOMAIN_EUR, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
 from Controller.CheckUserData import DataValid, date_handler, RandomStr
 from Model.models import Device_User, Role, UidPushModel, UserOauth2Model, UserExModel, Device_Info, UidSetModel, \
     UserAppFrequencyModel, CountryIPModel, CountryModel, UidChannelSetModel, Order_Model, UID_Bucket, Unused_Uid_Meal, \
-    GatewayPush, CountryLanguageModel, LanguageModel
+    GatewayPush, CountryLanguageModel, LanguageModel, IcloudUseDetails, IcloudStorageRecord, VodBucketModel
+from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.AWS.SesClassObject import SesClassObject
 from Object.AliSmsObject import AliSmsObject
 from Object.RedisObject import RedisObject
@@ -4353,6 +4354,25 @@ def deleteAccount(request):
         if hadUnUseSevice.exists():
             return response.json(10046)
         delUser.delete()
+        # 删除云盘记录
+        icloud_use_qs = IcloudUseDetails.objects.filter(user_id=userID)
+        icloud_record = IcloudStorageRecord.objects.filter(user_id=userID).values('bucket_id')
+        bucket_id = icloud_record[0]['bucket_id']
+        bucket_qs = VodBucketModel.objects.filter(id=bucket_id).values('bucket', 'region', 'mold')
+        if bucket_qs.exists():
+            bucket_name = bucket_qs[0]['bucket']
+            bucket_region = bucket_qs[0]['region']
+            mold = bucket_qs[0]['mold']
+            s3_obj = AmazonS3Util(
+                AWS_ACCESS_KEY_ID[mold],
+                AWS_SECRET_ACCESS_KEY[mold],
+                bucket_region
+            )
+            object_list = s3_obj.get_object_list(bucket_name, userID)
+            for obj in object_list:
+                s3_obj.delete_obj(bucket_name, obj['Key'])
+            icloud_record.delete()
+        icloud_use_qs.update(use_size=0)
         return response.json(0)