lang hace 4 años
padre
commit
d034b49c17
Se han modificado 1 ficheros con 44 adiciones y 57 borrados
  1. 44 57
      Controller/CloudStorage.py

+ 44 - 57
Controller/CloudStorage.py

@@ -120,11 +120,11 @@ class CloudStorageView(View):
             elif operation == 'experiencereset':
                 return self.do_experience_reset(request_dict, userID, response)
             elif operation == 'deletevodlist':
-                return self.deleteVodList(request_dict, response)
+                return self.deleteVodList(request_dict, userID, response)
             elif operation == 'devicecommodity':
-                return self.device_commodity(request_dict, response)
+                return self.device_commodity(request_dict, userID, response)
             elif operation == 'switchdevicecommodity':
-                return self.switch_device_commodity(request_dict, response)
+                return self.switch_device_commodity(request_dict, userID, response)
             else:
                 return response.json(414)
 
@@ -512,6 +512,7 @@ class CloudStorageView(View):
                 vod_play_list.append({'name': vod['time'], 'sign_url': vod_play_url,
                                       'thumb': thumb, 'sec': vod['sec'], 'vod_id': vod['id']})
             elif bucket__mold == 1:
+
                 # aws_access_key_id = 'AKIA2E67UIMD45Y3HL53'
                 # aws_secret_access_key = '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'
                 # session = Session(
@@ -520,7 +521,7 @@ class CloudStorageView(View):
                 #     region_name=bucket__region
                 # )
                 # conn = session.client('s3')
-
+                #
                 # thumbspng = '{uid}/vod{channel}/{time}/Thumb.jpeg'. \
                 #     format(uid=uid, channel=channel, time=vod['time'])
                 # response_url = conn.generate_presigned_url(
@@ -532,7 +533,6 @@ class CloudStorageView(View):
                 #     ExpiresIn=3600
                 # )
                 # thumb_url = response_url
-                #     format(uid=uid, channel=channel, time=vod['time'])
 
                 vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
                           'uid={uid}&channel={channel}&time={time}&sign=tktktktk'. \
@@ -1180,61 +1180,36 @@ class CloudStorageView(View):
         dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1)
         if not dv_qs.exists():
             return response.json(12)
-        smqs = Store_Meal.objects.filter(commodity_code=commodity_code, pay_type=pay_type). \
-            values('currency', 'price', 'content', 'day', 'commodity_type', 'title', 'content')
-        if not smqs.exists():
-            return response.json(10, '套餐不存在')
-        currency = smqs[0]['currency']
-        price = smqs[0]['price']
-        content = smqs[0]['content']
-        day = smqs[0]['day']
-        commodity_type = smqs[0]['commodity_type']
-        # ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=nowTime). \
-        #     values("bucket__storeDay", "bucket__region", "endTime")
-        # if ubqs.exists():
-        #     ubqs_count = ubqs.count()
-        #     ubq = ubqs[ubqs_count - 1, ubqs_count]
-        #     new_starTime = ubq['endTime'] + 1
-        nowTime = int(time.time())
-        orderID = CommonService.createOrderID()
 
-        Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
-                                   desc=content, payType=pay_type, payTime=nowTime,
-                                   price=price, currency=currency, addTime=nowTime, updTime=nowTime,
-                                   pay_url="体验版",
-                                   commodity_code=commodity_code, commodity_type=commodity_type,
-                                   rank_id=rank)
-
-        order_qs = Order_Model.objects.filter(orderID=orderID)
+        orderID = CommonService.createOrderID()
         nowTime = int(time.time())
-        order_list = order_qs.values("UID", "channel", "commodity_code")
-        UID = order_list[0]['UID']
-        channel = order_list[0]['channel']
-        commodity_code = order_list[0]['commodity_code']
-        smqs = Store_Meal.objects.filter(commodity_code=commodity_code). \
-            values("day", "bucket_id", "bucket__storeDay")
-        bucketId = smqs[0]['bucket_id']
+        smqs = Store_Meal.objects.filter(id=rank). \
+            values("day", "bucket_id", "bucket__storeDay", "expire")
         if not smqs.exists():
-            return response.json(0, '套餐已删除')
-        addTime = int(smqs[0]["day"]) * 24 * 3600
+            return response.json(173)
+        bucketId = smqs[0]['bucket_id']
         # ##
-        ubqs = UID_Bucket.objects.filter(uid=UID, channel=channel, endTime__gte=nowTime). \
-            values("bucket__storeDay", "bucket__region", "endTime")
+        ubqs = UID_Bucket.objects.filter(bucket__id=bucketId, uid=uid, channel=channel, endTime__gte=nowTime). \
+                   values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('addTime')[:1]
+        expire = smqs[0]['expire']
         if ubqs.exists():
-            ubqs_count = ubqs.count()
-            print(ubqs_count)
-            ubq = ubqs[ubqs_count - 1]
-            print(ubq)
-            new_starTime = ubq['endTime'] + 1
-            ub_cqs = UID_Bucket.objects.create \
-                (uid=UID, channel=channel, bucket_id=bucketId,
-                 endTime=new_starTime + addTime)
-            uid_bucket_id = ub_cqs.id
+            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,
+                 endTime=endTime,updateTime=nowTime)
+            uid_bucket_id = ubq['id']
         else:
+            endTime = CommonService.calcMonthLater(expire)
             ub_cqs = UID_Bucket.objects.create \
-                (uid=UID, channel=channel, bucket_id=bucketId, endTime=nowTime + addTime)
+                (uid=uid, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
             uid_bucket_id = ub_cqs.id
-        order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
+        Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
+                                   desc=smqs[0]['content'], payType=pay_type, payTime=nowTime,
+                                   price=smqs[0]['price'], currency=smqs[0]['currency'], addTime=nowTime, updTime=nowTime,
+                                   pay_url="体验版",
+                                   commodity_code=commodity_code, commodity_type=smqs[0]['commodity_type'],
+                                   rank_id=rank,status=1, uid_bucket_id=uid_bucket_id)
 
         # return response.json(0)
         returnurl = "{SERVER_DOMAIN}cloudstorage/payOK".format(SERVER_DOMAIN=SERVER_DOMAIN)
@@ -1279,8 +1254,12 @@ class CloudStorageView(View):
         return response.json(0,'重置云存体验成功')
 
 
-    def deleteVodList(self, request_dict, response):
+    def deleteVodList(self, request_dict, userID, response):
         uid = request_dict.get('uid',None)
+        dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1) \
+            .values('primaryUserID')
+        if not dv_qs.exists() or dv_qs[0]['primaryUserID'] != userID:
+            return response.json(12)
         vod_id_list = json.loads(request_dict.get('vod_id_list', None))
         is_del_all = request_dict.get('is_del_all',0)
         try:
@@ -1296,11 +1275,15 @@ class CloudStorageView(View):
             return response.json(0)
 
     #设备关联套餐列表
-    def device_commodity(self, request_dict, response):
+    def device_commodity(self, request_dict, userID, response):
         uid = request_dict.get('uid',None)
+        dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1) \
+            .values('primaryUserID')
+        if not dv_qs.exists() or dv_qs[0]['primaryUserID'] != userID:
+            return response.json(12)
         now_time = int(time.time())
         uid_bucket = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time).values("id", "uid", "endTime",
-                                                                                      "bucket__content").order_by('addTime')
+                                                                              "bucket__content").order_by('addTime')
         if not uid_bucket.exists():
             return response.json(10030)
         for index, value in enumerate(uid_bucket):
@@ -1309,9 +1292,13 @@ class CloudStorageView(View):
                 value['is_use'] = 1
         return response.json(0,list(uid_bucket))
 
-    #切换设备关联套餐
-    def switch_device_commodity(self, request_dict, response):
+    #提前使用设备关联套餐
+    def switch_device_commodity(self, request_dict, userID, response):
         uid = request_dict.get('uid',None)
+        dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1) \
+            .values('primaryUserID')
+        if not dv_qs.exists() or dv_qs[0]['primaryUserID'] != userID:
+            return response.json(12)
         switch_commodity_id = request_dict.get('switch_commodity_id',None)
         if switch_commodity_id:
             #切换设备套餐关联