Parcourir la source

update change status

lang il y a 4 ans
Parent
commit
ef6edf431a
1 fichiers modifiés avec 50 ajouts et 24 suppressions
  1. 50 24
      Controller/CloudStorage.py

+ 50 - 24
Controller/CloudStorage.py

@@ -533,35 +533,61 @@ class CloudStorageView(View):
             res = {'code': 404, 'msg': '设备未购买'}
             return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
 
+    # def do_change_vod_status(self, request_dict, userID, response):
+    #     uid = request_dict.get('uid', None)
+    #     status = request_dict.get('status', None)
+    #     channel = request_dict.get('channel', None)
+    #     if all([uid, status, channel]):
+    #         dv_qs = Device_Info.objects.filter(UID=uid, userID_id=userID, isShare=False, isExist=1)
+    #         if dv_qs.exists():
+    #             now_time = int(time.time())
+    #             ub_qs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time)
+    #             if ub_qs.exists():
+    #                 ub_qs.status = status
+    #                 ub_qs.save()
+    #                 if status == 0:
+    #                     return response.json(0)
+    #                 else:
+    #                     utko = UidTokenObject()
+    #                     utko.generate(data={'uid': uid, 'channel': channel})
+    #                     uidTK = utko.token
+    #                     uidTkUrl = "{SERVER_DOMAIN}cloudstorage/getsignsts?uidToken={uidToken}". \
+    #                         format(uidToken=uidTK, SERVER_DOMAIN=SERVER_DOMAIN)
+    #                     storeHlsUrl = "{SERVER_DOMAIN}cloudstorage/storeplaylist?uidToken={uidToken}". \
+    #                         format(uidToken=uidTK, SERVER_DOMAIN=SERVER_DOMAIN)
+    #                     return response.json(0, {'uidTkUrl': uidTkUrl, 'storeHlsUrl': storeHlsUrl})
+    #             else:
+    #                 return response.json(10, '未购买')
+    #         else:
+    #             return response.json(12)
+    #     else:
+    #         return response.json(444, 'uid,status,channel')
+
     def do_change_vod_status(self, request_dict, userID, response):
         uid = request_dict.get('uid', None)
         status = request_dict.get('status', None)
         channel = request_dict.get('channel', None)
-        if all([uid, status, channel]):
-            dv_qs = Device_Info.objects.filter(UID=uid, userID_id=userID, isShare=False, isExist=1)
-            if dv_qs.exists():
-                now_time = int(time.time())
-                ub_qs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time)
-                if ub_qs.exists():
-                    ub_qs.status = status
-                    ub_qs.save()
-                    if status == 0:
-                        return response.json(0)
-                    else:
-                        utko = UidTokenObject()
-                        utko.generate(data={'uid': uid, 'channel': channel})
-                        uidTK = utko.token
-                        uidTkUrl = "{SERVER_DOMAIN}cloudstorage/getsignsts?uidToken={uidToken}". \
-                            format(uidToken=uidTK, SERVER_DOMAIN=SERVER_DOMAIN)
-                        storeHlsUrl = "{SERVER_DOMAIN}cloudstorage/storeplaylist?uidToken={uidToken}". \
-                            format(uidToken=uidTK, SERVER_DOMAIN=SERVER_DOMAIN)
-                        return response.json(0, {'uidTkUrl': uidTkUrl, 'storeHlsUrl': storeHlsUrl})
-                else:
-                    return response.json(10, '未购买')
-            else:
-                return response.json(12)
-        else:
+        if not uid or not status or not channel:
             return response.json(444, 'uid,status,channel')
+        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)
+        if not ubqs.exists():
+            return response.json(10, '未购买')
+        now_time = int(time.time())
+        if now_time > ubqs[0].endTime:
+            return response.json(10, '已过期')
+        ubqs.update(status=status)
+        if status == 0:
+            return response.json(0)
+        utko = UidTokenObject()
+        utko.generate(data={'uid': uid, 'channel': channel})
+        uidTkUrl = "{SERVER_DOMAIN}cloudVod/getSts?uidToken={uidToken}". \
+            format(uidToken=utko.token, SERVER_DOMAIN=SERVER_DOMAIN)
+        storeHlsUrl = "{SERVER_DOMAIN}cloudVod/storeplaylist?uidToken={uidToken}". \
+            format(uidToken=utko.token, SERVER_DOMAIN=SERVER_DOMAIN)
+        return response.json(0, {'uidTkUrl': uidTkUrl, 'storeHlsUrl': storeHlsUrl})
 
     def do_pay_error(self):
         response = HttpResponse()