Răsfoiți Sursa

自动删除过期云存关联套餐

lang 4 ani în urmă
părinte
comite
3f29c8f293
2 a modificat fișierele cu 26 adăugiri și 11 ștergeri
  1. 24 10
      Controller/CloudStorage.py
  2. 2 1
      Object/ResponseObject.py

+ 24 - 10
Controller/CloudStorage.py

@@ -320,7 +320,7 @@ class CloudStorageView(View):
         print(uid)
         print(uid)
         now_time = int(time.time())
         now_time = int(time.time())
         ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
         ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
-            values("bucket__mold", "bucket__bucket", "bucket__endpoint", "bucket__region", "endTime")
+            values("bucket__mold", "bucket__bucket", "bucket__endpoint", "bucket__region", "endTime").order_by('endTime')
         print('-------------bucket')
         print('-------------bucket')
         print(ubqs)
         print(ubqs)
         if ubqs.exists():
         if ubqs.exists():
@@ -472,8 +472,10 @@ class CloudStorageView(View):
         dv_qs = Device_Info.objects.filter(UID=uid, userID_id=userID, isShare=False)
         dv_qs = Device_Info.objects.filter(UID=uid, userID_id=userID, isShare=False)
         if not dv_qs.exists():
         if not dv_qs.exists():
             return response.json(12)
             return response.json(12)
-        # bv_qs = UID_Bucket.objects.filter(UID=uid,channel=channel)
         now_time = int(time.time())
         now_time = int(time.time())
+        bv_qs = UID_Bucket.objects.filter(UID=uid,channel=channel, endTime__gte=now_time).order_by('endTime')
+        if not bv_qs.exists():
+            return response.json(10008)
         vh_qs = VodHlsModel.objects.filter \
         vh_qs = VodHlsModel.objects.filter \
             ( uid=uid, channel=channel, time__range=(startTime, endTime), endTime__gte=now_time). \
             ( uid=uid, channel=channel, time__range=(startTime, endTime), endTime__gte=now_time). \
             values("id", "time", "sec", "bucket__bucket", "fg", "bucket__endpoint", "bucket__region", "bucket__mold")
             values("id", "time", "sec", "bucket__bucket", "fg", "bucket__endpoint", "bucket__region", "bucket__mold")
@@ -558,7 +560,7 @@ class CloudStorageView(View):
         now_time = int(time.time())
         now_time = int(time.time())
         ubqs = UID_Bucket.objects.filter(uid=UID, channel=channel, is_use=1, endTime__gte=now_time). \
         ubqs = UID_Bucket.objects.filter(uid=UID, channel=channel, is_use=1, endTime__gte=now_time). \
             values("bucket__mold", "bucket__bucket", "bucket__endpoint",
             values("bucket__mold", "bucket__bucket", "bucket__endpoint",
-                   "bucket__region", "status", "bucket__storeDay", "bucket__id")
+                   "bucket__region", "status", "bucket__storeDay", "bucket__id").order_by('endTime')
         if ubqs.exists():
         if ubqs.exists():
             ub_qs_data = ubqs[0]
             ub_qs_data = ubqs[0]
             store_day = ub_qs_data['bucket__storeDay']
             store_day = ub_qs_data['bucket__storeDay']
@@ -649,12 +651,14 @@ class CloudStorageView(View):
         dvqs = Device_Info.objects.filter(UID=uid, userID_id=userID, isShare=False)
         dvqs = Device_Info.objects.filter(UID=uid, userID_id=userID, isShare=False)
         if not dvqs.exists():
         if not dvqs.exists():
             return response.json(12)
             return response.json(12)
-        ubqs = UID_Bucket.objects.filter(channel=channel, uid=uid, is_use=1)
+        ubqs = UID_Bucket.objects.filter(channel=channel, uid=uid).order_by('endTime')
+        print(ubqs)
+        exit()
         if not ubqs.exists():
         if not ubqs.exists():
             return response.json(10, '未购买')
             return response.json(10, '未购买')
         now_time = int(time.time())
         now_time = int(time.time())
         if now_time > ubqs[0].endTime:
         if now_time > ubqs[0].endTime:
-            return response.json(10, '已过期')
+            return response.json(10008)
         ubqs.update(status=status)
         ubqs.update(status=status)
         if status == 0:
         if status == 0:
             return response.json(0)
             return response.json(0)
@@ -931,7 +935,7 @@ class CloudStorageView(View):
         else:
         else:
             endTime = CommonService.calcMonthLater(expire)
             endTime = CommonService.calcMonthLater(expire)
             ub_cqs = UID_Bucket.objects.create \
             ub_cqs = UID_Bucket.objects.create \
-                (uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, is_use=1)
+                (uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime)
             uid_bucket_id = ub_cqs.id
             uid_bucket_id = ub_cqs.id
         order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
         order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
 
 
@@ -1253,9 +1257,13 @@ class CloudStorageView(View):
         uid = request_dict.get('uid',None)
         uid = request_dict.get('uid',None)
         now_time = int(time.time())
         now_time = int(time.time())
         uid_bucket = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time).values("id", "uid", "endTime",
         uid_bucket = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time).values("id", "uid", "endTime",
-                                                                                 "is_use","bucket__content")
+                                                                     "bucket__content").order_by('endTime')
         if not uid_bucket.exists():
         if not uid_bucket.exists():
             return response.json(404,'该设备未购买云存套餐.')
             return response.json(404,'该设备未购买云存套餐.')
+        for index, value in enumerate(uid_bucket):
+            value['is_use'] = 0
+            if index == 0:
+                value['is_use'] = 1
         return response.json(0,list(uid_bucket))
         return response.json(0,list(uid_bucket))
 
 
     #切换设备关联套餐
     #切换设备关联套餐
@@ -1265,14 +1273,15 @@ class CloudStorageView(View):
         if switch_commodity_id:
         if switch_commodity_id:
             #切换设备套餐关联
             #切换设备套餐关联
             using_uid_bucket = UID_Bucket.objects.filter(uid=uid, is_use='1').values("id", "uid", "endTime",
             using_uid_bucket = UID_Bucket.objects.filter(uid=uid, is_use='1').values("id", "uid", "endTime",
-                                                                                   "is_use","bucket__content")
+                                                                               "bucket__content").order_by('endTime')
+
             if not using_uid_bucket.exists():
             if not using_uid_bucket.exists():
                 return response.json(404,'该设备未购买云存套餐.')
                 return response.json(404,'该设备未购买云存套餐.')
 
 
             if int(using_uid_bucket[0]['id']) == int(switch_commodity_id):
             if int(using_uid_bucket[0]['id']) == int(switch_commodity_id):
                 return response.json(404,'切换的云存套餐ID不能与正在使用中的相同.')
                 return response.json(404,'切换的云存套餐ID不能与正在使用中的相同.')
 
 
-            UID_Bucket.objects.filter(id=switch_commodity_id).update(is_use=1)  #更新转移的云存套餐为使用中
+            # UID_Bucket.objects.filter(id=switch_commodity_id).update(is_use=1)  #更新转移的云存套餐为使用中
             UID_Bucket.objects.filter(id=using_uid_bucket[0]['id']).delete()    #删除原来使用中的云存套餐
             UID_Bucket.objects.filter(id=using_uid_bucket[0]['id']).delete()    #删除原来使用中的云存套餐
             VodHlsModel.objects.filter(uid=uid).delete()                        #删除播放列表
             VodHlsModel.objects.filter(uid=uid).delete()                        #删除播放列表
             StsCrdModel.objects.filter(uid=uid).delete()                        #删除sts记录
             StsCrdModel.objects.filter(uid=uid).delete()                        #删除sts记录
@@ -1310,5 +1319,10 @@ def deleteVodHls(request):
 
 
 #删除过期云存关联套餐
 #删除过期云存关联套餐
 def deleteExpiredUidBucket(request):
 def deleteExpiredUidBucket(request):
+    response = ResponseObject()
     now_time = int(time.time())
     now_time = int(time.time())
-    expired_uid_bucket = UID_Bucket.objects.filter(is_use=1, endTime__lte =now_time)
+    expired_uid_bucket = UID_Bucket.objects.filter(endTime__lte=now_time)
+    id_list = expired_uid_bucket.values_list("id", flat=True)
+    UID_Bucket.objects.filter(id__in=list(id_list)).delete()  #删除过期云存关联套餐, 后续是否考虑用软删除
+    return response.json(0)
+

+ 2 - 1
Object/ResponseObject.py

@@ -142,7 +142,8 @@ class ResponseObject(object):
             10004: '请求方法不正确。请联系开发者',
             10004: '请求方法不正确。请联系开发者',
             10005: '配置错误,客户编号这个值是错误的',
             10005: '配置错误,客户编号这个值是错误的',
             10006: '配置错误,路径这个值是错误的',
             10006: '配置错误,路径这个值是错误的',
-            10007: '此设备不是体验套餐,无法重置'
+            10007: '此设备不是体验套餐,无法重置',
+            10008: '云存已过期',
         }
         }
         if self.lang == 'cn':
         if self.lang == 'cn':
             msg = data_cn
             msg = data_cn