chenjunkai 6 gadi atpakaļ
vecāks
revīzija
1837c039c6
1 mainītis faili ar 16 papildinājumiem un 13 dzēšanām
  1. 16 13
      Controller/VodBucket.py

+ 16 - 13
Controller/VodBucket.py

@@ -19,7 +19,7 @@ from django.utils.decorators import method_decorator
 from django.views.decorators.csrf import csrf_exempt
 from django.views.generic.base import View
 
-from Model.models import VodBucketModel, UID_Bucket, Store_Meal
+from Model.models import VodBucketModel, UID_Bucket, Store_Meal,Device_Info
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.ModelService import ModelService
@@ -151,6 +151,9 @@ class UidBucketView(View):
         channel = request_dict.get('channel', None)
         if not rank:
             return response.json(444, 'rank')
+        dvqs = Device_Info.objects.filter(UID=uid)
+        if not dvqs.exists():
+            return response.json(10,'设备不存在')
         try:
             smqs = Store_Meal.objects.filter(id=rank).values("bucket__storeDay", "day", "bucket_id")
             if not smqs.exists():
@@ -159,16 +162,17 @@ class UidBucketView(View):
             addDay = smqs[0]['day']
             addTime = addDay * 3600 * 24
             nowTime = int(time.time())
-            endTime = nowTime + addTime
             ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel).values("bucket_id", "endTime",
                                                                               "bucket__storeDay")
             if ubqs.exists():
                 if nowTime > ubqs[0]['endTime']:
+                    endTime = nowTime + addTime
                     ubqs.update(endTime=nowTime + addTime)
                 else:
                     # 同一个bucket续费
                     if bucketId == ubqs[0]['bucket_id']:
-                        ubqs.update(endTime=ubqs[0]['endTime'] + addTime)
+                        endTime = ubqs[0]['endTime'] + addTime
+                        ubqs.update(endTime=endTime)
                     else:
                         if ubqs[0]['bucket__storeDay'] > smqs[0]['bucket__storeDay']:
                             return response.json(10, '不可降级')
@@ -179,8 +183,8 @@ class UidBucketView(View):
                             multiple = math.ceil(upgrade_storeDay / origin_storeDay)
                             ubqs.update(endTime=ctcTime / multiple + addTime + ubqs[0]['endTime'])
             else:
+                endTime = nowTime + addTime
                 UID_Bucket.objects.create(uid=uid, channel=channel, bucket_id=bucketId, endTime=endTime)
-
         except Exception as e:
             return response.json(10, repr(e))
         return response.json(0, {'endTime': endTime})
@@ -192,16 +196,15 @@ class UidBucketView(View):
         ubqs = UID_Bucket.objects
         if uid:
             ubqs = ubqs.filter(uid=uid)
-        ubqs = ubqs[(page - 1) * line:page * line].values('id', 'uid', 'channel', 'status', 'endTime', 'bucket__bucket',
+        ubqs = ubqs.values('id', 'uid', 'channel', 'status', 'endTime', 'bucket__bucket',
                                                           'bucket__storeDay', 'bucket__area')
-        res = list(ubqs)
+        res = list(ubqs[(page - 1) * line:page * line])
         return response.json(0, res)
 
     def do_update(self, request_dict, response):
         status = request_dict.get('status', None)
-        uid = request_dict.get('uid', None)
-        channel = request_dict.get('channel', None)
-        ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel).values('endTime')
+        id = request_dict.get('id', None)
+        ubqs = UID_Bucket.objects.filter(id=id).values('endTime')
         nowTime = int(time.time())
         endTime = ubqs[0]['endTime']
         if not ubqs.exists():
@@ -215,16 +218,16 @@ class UidBucketView(View):
     def do_delete(self, request_dict, response):
         id = request_dict.get('id', None)
         try:
+            page = int(request_dict.get('page', None))
+            line = int(request_dict.get('line', None))
             UID_Bucket.objects.filter(id=id).delete()
         except Exception as e:
             return response.json(10, repr(e))
-        page = int(request_dict.get('page', None))
-        line = int(request_dict.get('line', None))
         uid = request_dict.get('uid', None)
         ubqs = UID_Bucket.objects
         if uid:
             ubqs = ubqs.filter(uid=uid)
-        ubqs = ubqs[(page - 1) * line:page * line].values('id', 'uid', 'channel', 'status', 'endTime', 'bucket__bucket',
+        ubqs = ubqs.values('id', 'uid', 'channel', 'status', 'endTime', 'bucket__bucket',
                                                           'bucket__storeDay', 'bucket__area')
-        res = list(ubqs)
+        res = list(ubqs[(page - 1) * line:page * line])
         return response.json(0, res)