Просмотр исходного кода

优化统计联通流量接口

peng 2 лет назад
Родитель
Сommit
0d1bc8df91
1 измененных файлов с 8 добавлено и 3 удалено
  1. 8 3
      AdminController/dataSystemManagement/UnicomDataController.py

+ 8 - 3
AdminController/dataSystemManagement/UnicomDataController.py

@@ -99,8 +99,9 @@ class UnicomDataView(View):
                     if not user_qs.exists():
                         return response.json(173)
                     iccid_qs = iccid_qs.filter(iccid=user_qs[0]['iccid'])
-                iccid_qs = iccid_qs.values('iccid').distinct().order_by('iccid')[(page - 1) * line:page * line]
+                iccid_qs = iccid_qs.values('iccid').distinct().order_by('iccid')
                 count = iccid_qs.count()
+                iccid_qs = iccid_qs[(page - 1) * line:page * line]
                 total_flow = 0
                 for item in iccid_qs:
                     item['flow_total_usage'] = 0
@@ -143,10 +144,14 @@ class UnicomDataView(View):
         iccid = request_dict.get('iccid', None)
         year = request_dict.get('year', None)
         month = request_dict.get('month', None)
+        page = request_dict.get('page', None)
+        line = request_dict.get('line', None)
         redis_obj = RedisObject()
         data_list = []
-        if not iccid:
+        if not all([iccid, page, line]):
             return response.json(444)
+        page = int(page)
+        line = int(line)
         try:
             key = 'monthly_flow_' + iccid
             if year and month:
@@ -159,7 +164,7 @@ class UnicomDataView(View):
                 for k, v in flow_dict.items():
                     data_list.append({k.decode(): float(v)})
             res = {
-                'list': data_list,
+                'list': data_list[(page - 1) * line:page * line],
             }
             return response.json(0, res)
         except Exception as e: