Преглед на файлове

优化查询订单成本利润

peng преди 1 година
родител
ревизия
71a97ec893
променени са 1 файла, в които са добавени 10 реда и са изтрити 11 реда
  1. 10 11
      AdminController/dataSystemManagement/OperatingCostsDataController.py

+ 10 - 11
AdminController/dataSystemManagement/OperatingCostsDataController.py

@@ -36,15 +36,14 @@ class OperatingCostsDataView(View):
         if token_code != 0:
             return response.json(token_code)
         if operation == 'getOperatingCosts':  # 查询订单成本利润
-            return self.get_operating_costs(request, request_dict, response)
+            return self.get_operating_costs(request_dict, response)
         else:
             return response.json(414)
 
-    @classmethod
-    def get_operating_costs(cls, request, request_dict, response):
+    @staticmethod
+    def get_operating_costs(request_dict, response):
         """
         查询订单成本利润
-        @param request:请求参数
         @param request_dict:请求参数
         @request_dict startTime:开始时间
         @request_dict endTime:结束时间
@@ -53,12 +52,8 @@ class OperatingCostsDataView(View):
         """
         start_time = request_dict.get('startTime', None)
         end_time = request_dict.get('endTime', None)
-        page = request_dict.get('page', 1)
-        line = request_dict.get('line', 10)
-        if not all([page, line]):
-            return response.json(444, {'error param': 'page or line'})
-        page = int(page)
-        line = int(line)
+        page = request_dict.get('page', None)
+        line = request_dict.get('line', None)
         try:
             if start_time and end_time:
                 operating_costs_qs = OperatingCosts.objects.filter(time__gte=start_time, time__lt=end_time)
@@ -71,7 +66,11 @@ class OperatingCostsDataView(View):
                                                      'end_time', 'created_time', 'start_time', 'time', 'storage_cost',
                                                      'api_cost', 'profit', 'profit_margin', 'fee', 'flow_cost',
                                                      'real_income', 'price', 'region', 'country_name', 'actual_flow',
-                                                     'order_type', 'expire')[(page - 1) * line:page * line]
+                                                     'order_type', 'expire')
+            if page and line:
+                page = int(page)
+                line = int(line)
+                operating_qs = operating_qs[(page - 1) * line:page * line]
             return response.json(0, {'count': count, 'res': list(operating_qs)})
         except Exception as e:
             print('error')