|
@@ -68,30 +68,27 @@ class OperatingCostsDataView(View):
|
|
|
else:
|
|
|
operating_costs_qs = OperatingCosts.objects.all()
|
|
|
count = operating_costs_qs.count()
|
|
|
- operating_qs = operating_costs_qs.filter(~Q(order_id='')).values('order_id', 'uid', 'day_average_price',
|
|
|
- 'month_average_price',
|
|
|
- 'purchase_quantity', 'actual_storage',
|
|
|
- 'actual_api',
|
|
|
- 'monthly_income', 'settlement_days',
|
|
|
- 'remaining_usage_time',
|
|
|
- 'end_time', 'created_time',
|
|
|
- 'time').order_by('order_id')[
|
|
|
- (page - 1) * line:page * line]
|
|
|
+ order_list = list(operating_costs_qs.values_list('order_id', flat=True).order_by('-order_id'))[:page * line]
|
|
|
+ operating_qs = operating_costs_qs.values('order_id', 'uid', 'day_average_price', 'month_average_price',
|
|
|
+ 'purchase_quantity', 'actual_storage', 'actual_api',
|
|
|
+ 'monthly_income', 'settlement_days', 'remaining_usage_time',
|
|
|
+ 'end_time', 'created_time', 'time').order_by('-order_id')[
|
|
|
+ :page * line]
|
|
|
+ all_order_qs = Order_Model.objects.filter(orderID__in=order_list)
|
|
|
+ country_qs = CountryModel.objects.values('id', 'country_name')
|
|
|
+ country_dict = {}
|
|
|
+ for item in country_qs:
|
|
|
+ country_dict[item['id']] = item['country_name']
|
|
|
res = []
|
|
|
storage_univalence = 0.023 / 30
|
|
|
api_univalence = 0.005 / 1000
|
|
|
for item in operating_qs:
|
|
|
- order_qs = Order_Model.objects.filter(orderID=item['order_id'], UID=item['uid']).values('price',
|
|
|
- 'order_type',
|
|
|
- 'fee',
|
|
|
- 'userID__region_country',
|
|
|
- 'rank__expire',
|
|
|
- 'payType')
|
|
|
+ order_qs = all_order_qs.filter(orderID=item['order_id']).values('price', 'order_type', 'fee',
|
|
|
+ 'userID__region_country',
|
|
|
+ 'rank__expire', 'payType')
|
|
|
if not order_qs.exists():
|
|
|
continue
|
|
|
- country_qs = CountryModel.objects.filter(id=order_qs[0]['userID__region_country']).values(
|
|
|
- 'country_name')
|
|
|
- country_name = country_qs[0]['country_name'] if country_qs.exists() else '未知国家'
|
|
|
+ country_name = country_dict.get(order_qs[0]['userID__region_country'], '未知国家')
|
|
|
region = '国内' if CONFIG_INFO == CONFIG_CN else '国外'
|
|
|
if order_qs[0]['order_type'] in [0, 1]:
|
|
|
order_type = '云存'
|
|
@@ -150,6 +147,7 @@ class OperatingCostsDataView(View):
|
|
|
if eur_result['result_code'] == 0:
|
|
|
res += eur_result['result']['res']
|
|
|
count += eur_result['result']['count']
|
|
|
- return response.json(0, {'count': count, 'res': CommonService.list_sort_v2(res, 'order_id')})
|
|
|
+ return response.json(0, {'count': count,
|
|
|
+ 'res': CommonService.list_sort_v2(res, 'order_id')[(page - 1) * line:page * line]})
|
|
|
except Exception as e:
|
|
|
return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|