lang 4 gadi atpakaļ
vecāks
revīzija
49892fbd4a
1 mainītis faili ar 35 papildinājumiem un 4 dzēšanām
  1. 35 4
      Controller/CloudStorage.py

+ 35 - 4
Controller/CloudStorage.py

@@ -117,6 +117,8 @@ class CloudStorageView(View):
                 return self.do_experience_reset(request_dict, userID, response)
             elif operation == 'deletevodlist':
                 return self.deleteVodList(request_dict, response)
+            elif operation == 'devicecommodity':
+                return self.device_commodity(request_dict, response)
             else:
                 return response.json(414)
 
@@ -917,11 +919,11 @@ class CloudStorageView(View):
             ub_cqs = ubqs.update \
                 (uid=UID, channel=channel, bucket_id=bucketId,
                  endTime=endTime)
-            uid_bucket_id = ub_cqs.id
+            uid_bucket_id = ubq.id
         else:
             endTime = CommonService.calcMonthLater(expire)
             ub_cqs = UID_Bucket.objects.create \
-                (uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime)
+                (uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, is_use=1)
             uid_bucket_id = ub_cqs.id
         order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
 
@@ -979,7 +981,6 @@ class CloudStorageView(View):
         pay_type = int(request_dict.get('pay_type', None))
         rank = request_dict.get('rank', None)
         is_select_discount = request_dict.get('is_select_discount', 0)
-
         if not uid or not channel or not pay_type or not rank:
             return response.json(13, '参数有误.')
         dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1)
@@ -993,7 +994,7 @@ class CloudStorageView(View):
             return response.json(10, '套餐不存在')
         currency = smqs[0]['currency']
         price = smqs[0]['price']
-        if is_select_discount == 1:
+        if is_select_discount == '1':
             price = float(smqs[0]['price']) + float(smqs[0]['discount_price'])
         content = smqs[0]['content']
         day = smqs[0]['day']
@@ -1237,6 +1238,36 @@ class CloudStorageView(View):
         else:
             return response.json(0, '删除成功.')
 
+    def device_commodity(self, request_dict, response):
+        uid = request_dict.get('uid',None)
+        now_time = int(time.time())
+        switch_commodity_id = request_dict.get('switch_commodity_id',None)
+        if switch_commodity_id:
+            #切换设备套餐关联
+            using_uid_bucket = UID_Bucket.objects.filter(uid=uid, is_use=1).values("id", "uid", "endTime",
+                                                                                          "is_use","bucket__content")
+            if not using_uid_bucket.exists():
+                return response.json(404,'该设备未购买云存套餐.')
+
+            if using_uid_bucket[0]['id'] == switch_commodity_id:
+                return response.json(404,'转移的云存套餐ID不能与正在使用中的相同.')
+
+            UID_Bucket.objects.filter(id=switch_commodity_id).update(is_use=1)  #更新转移的云存套餐为使用中
+            UID_Bucket.objects.filter(id=using_uid_bucket[0]['id']).delete()    #删除原来使用中的云存套餐
+            VodHlsModel.objects.filter(uid=uid).delete()                        #删除播放列表
+            StsCrdModel.objects.filter(uid=uid).delete()                        #删除sts记录
+            return response.json(0,'转移成功')
+        else:
+            uid_bucket = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time).values("id", "uid", "endTime",
+                                                                                     "is_use","bucket__content")
+            if not uid_bucket.exists():
+                return response.json(404,'该设备未购买云存套餐.')
+            return response.json(0,list(uid_bucket))
+
+
+
+
+