lang 4 жил өмнө
parent
commit
7e244fd68f

+ 11 - 14
Controller/CloudStorage.py

@@ -278,7 +278,9 @@ class CloudStorageView(View):
         #         'name': response_url,
         #         'duration': sec,
         #     })
-        for i in range(7):
+        fg = int(fg)
+        ts_count = fg & 0xf
+        for i in range(ts_count):
             shift = (i+1)*4
             duration = (fg >> shift) & 0xf
             if duration > 0:
@@ -320,9 +322,8 @@ class CloudStorageView(View):
         print(uid)
         now_time = int(time.time())
         ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
-            values("bucket__mold", "bucket__bucket", "bucket__endpoint", "bucket__region", "endTime").order_by('endTime')
-        print('-------------bucket')
-        print(ubqs)
+            values("bucket__mold", "bucket__bucket", "bucket__endpoint",
+                   "bucket__region", "endTime").order_by('endTime')[:1]
         if ubqs.exists():
             if ubqs[0]["bucket__mold"] == 0:
                 # 阿里云 oss sts
@@ -560,7 +561,7 @@ class CloudStorageView(View):
         now_time = int(time.time())
         ubqs = UID_Bucket.objects.filter(uid=UID, channel=channel, is_use=1, endTime__gte=now_time). \
             values("bucket__mold", "bucket__bucket", "bucket__endpoint",
-                   "bucket__region", "status", "bucket__storeDay", "bucket__id").order_by('endTime')
+                   "bucket__region", "status", "bucket__storeDay", "bucket__id").order_by('endTime')[:1]
         if ubqs.exists():
             ub_qs_data = ubqs[0]
             store_day = ub_qs_data['bucket__storeDay']
@@ -651,7 +652,7 @@ class CloudStorageView(View):
         dvqs = Device_Info.objects.filter(UID=uid, userID_id=userID, isShare=False)
         if not dvqs.exists():
             return response.json(12)
-        ubqs = UID_Bucket.objects.filter(channel=channel, uid=uid).order_by('endTime')
+        ubqs = UID_Bucket.objects.filter(channel=channel, uid=uid).order_by('endTime')[:1]
         if not ubqs.exists():
             return response.json(10, '未购买')
         now_time = int(time.time())
@@ -917,14 +918,12 @@ class CloudStorageView(View):
             return response.json(0, '套餐已删除')
         # ##
         ubqs = UID_Bucket.objects.filter(bucket__id=bucketId, uid=UID, channel=channel, endTime__gte=nowTime). \
-            values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('endTime')
+            values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('endTime')[:1]
         expire = smqs[0]['expire']
         if order_list[0]['isSelectDiscounts'] == 1:
             expire = smqs[0]['expire'] * 2
         if ubqs.exists():
-            ubqs_count = ubqs.count()
-            print(ubqs_count)
-            ubq = ubqs[ubqs_count - 1]
+            ubq = ubqs[0]
             endTime = CommonService.calcMonthLater(expire,ubq['endTime'])
             ub_cqs = UID_Bucket.objects.filter(id=ubq['id']).update \
                 (uid=UID, channel=channel, bucket_id=bucketId,
@@ -963,14 +962,12 @@ class CloudStorageView(View):
                 return HttpResponse(WechatPayObject.xml_to_dict({'return_code':'FAIL', 'return_msg':'套餐不存在'}))
             # ##
             ubqs = UID_Bucket.objects.filter(bucket__id=bucketId, uid=UID, channel=channel, endTime__gte=nowTime). \
-                values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('endTime')
+                values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('endTime')[:1]
             expire = smqs[0]['expire']
             if order_list[0]['isSelectDiscounts'] == 1:
                 expire = smqs[0]['expire'] * 2
             if ubqs.exists():
-                ubqs_count = ubqs.count()
-                print(ubqs_count)
-                ubq = ubqs[ubqs_count - 1]
+                ubq = ubqs[0]
                 endTime = CommonService.calcMonthLater(expire,ubq['endTime'])
                 ub_cqs = UID_Bucket.objects.filter(id=ubq['id']).update \
                     (uid=UID, channel=channel, bucket_id=bucketId,

+ 2 - 4
Controller/CloudVod.py

@@ -1305,14 +1305,12 @@ class CloudVodView(View):
                             return response
                             # ##
                         ubqs = UID_Bucket.objects.filter(bucket__id=bucketId, uid=UID, channel=channel, endTime__gte=nowTime). \
-                            values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('endTime')
+                            values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('endTime')[:1]
                         expire = smqs[0]['expire']
                         if order_list[0]['isSelectDiscounts'] == 1:
                             expire = smqs[0]['expire'] * 2
                         if ubqs.exists():
-                            ubqs_count = ubqs.count()
-                            print(ubqs_count)
-                            ubq = ubqs[ubqs_count - 1]
+                            ubq = ubqs[0]
                             endTime = CommonService.calcMonthLater(expire,ubq['endTime'])
                             ub_cqs = UID_Bucket.objects.filter(id=ubq['id']).update \
                                 (uid=UID, channel=channel, bucket_id=bucketId,

+ 2 - 2
Model/models.py

@@ -576,7 +576,7 @@ class VodHlsModel(models.Model):
     sec = models.IntegerField(verbose_name='秒数', default=0)
     bucket = models.ForeignKey(VodBucketModel, blank=True, to_field='id', on_delete=models.CASCADE, default=1,
                                verbose_name='存储空间')
-    fg = models.IntegerField(default=0,verbose_name='时间描述片段数') # 阿里为时间片段数,亚马逊为一个32bit整型,前28bit代表ts文件的时长
+    fg = models.CharField(max_length=20,verbose_name='ts个数,时间描述片段数') # 阿里为时间片段数,亚马逊为一个32bit整型,前28bit代表ts文件的时长
 
 
     def __str__(self):
@@ -635,7 +635,7 @@ class UID_Bucket(models.Model):
     bucket = models.ForeignKey(VodBucketModel, blank=True, to_field='id', on_delete=models.CASCADE, verbose_name='存储空间')
     status = models.SmallIntegerField(default=0, verbose_name='状态[0:开启,1:关闭]')
     endTime = models.IntegerField(verbose_name='套餐结束时间', default=0)
-    is_use = models.IntegerField(verbose_name='是否使用中[0:未使用,1:使用中]', default=0)
+    # is_use = models.IntegerField(verbose_name='是否使用中[0:未使用,1:使用中]', default=0)
 
     class Meta:
         db_table = 'vod_uid_bucket'