Эх сурвалжийг харах

优化统计联通流量接口

peng 2 жил өмнө
parent
commit
eb97f684cd

+ 3 - 3
AdminController/dataSystemManagement/UnicomDataController.py

@@ -99,12 +99,12 @@ 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')[(page - 1) * line:page * line]
+                iccid_qs = iccid_qs.values('iccid').distinct().order_by('iccid')[(page - 1) * line:page * line]
                 count = iccid_qs.count()
                 total_flow = 0
                 for item in iccid_qs:
                     item['flow_total_usage'] = 0
-                    key = 'monthly' + item['iccid']
+                    key = 'monthly_flow_' + item['iccid']
                     user_qs = UnicomDeviceInfo.objects.filter(iccid=item['iccid']).values('user_id')
                     item['user_id'] = user_qs[0]['user_id'] if user_qs.exists() else ''
                     if year and month:
@@ -148,7 +148,7 @@ class UnicomDataView(View):
         if not iccid:
             return response.json(444)
         try:
-            key = 'monthly' + iccid
+            key = 'monthly_flow_' + iccid
             if year and month:
                 file = year + '-' + month
                 flow = redis_obj.get_hash_data(key, file)

+ 3 - 2
Controller/Cron/CronTaskController.py

@@ -1260,7 +1260,8 @@ class CronCollectDataView(View):
     @staticmethod
     def collect_flow_info(response):
         try:
-            unicom_qs = UnicomComboOrderInfo.objects.filter(combo__combo_type__in=[0, 1, 2]).values('iccid')
+            unicom_qs = UnicomComboOrderInfo.objects.filter(combo__combo_type__in=[0, 1, 2]).values(
+                'iccid').distinct().order_by('iccid')
             asy = threading.Thread(target=CronCollectDataView.thread_collect_flow, args=(unicom_qs,))
             asy.start()
             return response.json(0)
@@ -1286,7 +1287,7 @@ class CronCollectDataView(View):
                                 continue
                             file = str(year) + '-' + str(month)
                             redis_dict[file] = flow
-                        key = 'monthly' + item['iccid']
+                        key = 'monthly_flow_' + item['iccid']
                         if redis_dict:
                             redis_obj.set_hash_data(key, redis_dict)
         except Exception as e: