|
@@ -220,8 +220,8 @@ class ServiceDataView(View):
|
|
uidset_count = uidset_qs.filter(is_ai=1).count()
|
|
uidset_count = uidset_qs.filter(is_ai=1).count()
|
|
else:
|
|
else:
|
|
uidset_count = uidset_qs.filter(mobile_4g=1).count()
|
|
uidset_count = uidset_qs.filter(mobile_4g=1).count()
|
|
- device_count = order_qs.values('UID').distinct().order_by('UID').count()
|
|
|
|
- inversion_rate = round(device_count / uidset_count * 100, 2)
|
|
|
|
|
|
+ order_device_count = order_qs.values('UID').distinct().order_by('UID').count()
|
|
|
|
+ inversion_rate = round(order_device_count / uidset_count * 100, 2)
|
|
# 订单数量统计
|
|
# 订单数量统计
|
|
order_list = []
|
|
order_list = []
|
|
for item in time_list:
|
|
for item in time_list:
|
|
@@ -275,7 +275,9 @@ class ServiceDataView(View):
|
|
'orders': order_list,
|
|
'orders': order_list,
|
|
'regions': region_list,
|
|
'regions': region_list,
|
|
'deviceType': device_type_list,
|
|
'deviceType': device_type_list,
|
|
- 'inversionRate': inversion_rate
|
|
|
|
|
|
+ 'inversionRate': inversion_rate,
|
|
|
|
+ 'newDeviceCount': uidset_count,
|
|
|
|
+ 'orderDeviceCount': order_device_count
|
|
}
|
|
}
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
@@ -587,6 +589,8 @@ class ServiceDataView(View):
|
|
region_count = 0
|
|
region_count = 0
|
|
device_type_list = []
|
|
device_type_list = []
|
|
device_type_count = 0
|
|
device_type_count = 0
|
|
|
|
+ new_device_count = 0
|
|
|
|
+ order_device_count = 0
|
|
for url in url_list:
|
|
for url in url_list:
|
|
url = url + request.path.replace('global/', '')
|
|
url = url + request.path.replace('global/', '')
|
|
res = requests.get(url=url, params=request_dict, headers=headers)
|
|
res = requests.get(url=url, params=request_dict, headers=headers)
|
|
@@ -632,12 +636,19 @@ class ServiceDataView(View):
|
|
for item in device_type_list:
|
|
for item in device_type_list:
|
|
type_rate = round(item['count'] / device_type_count * 100, 2)
|
|
type_rate = round(item['count'] / device_type_count * 100, 2)
|
|
item['typeRate'] = type_rate
|
|
item['typeRate'] = type_rate
|
|
|
|
+ # 处理转化率
|
|
|
|
+ new_device_count += int(result['result']['newDeviceCount'])
|
|
|
|
+ order_device_count += int(result['result']['orderDeviceCount'])
|
|
else:
|
|
else:
|
|
return response.json(result['result_code'])
|
|
return response.json(result['result_code'])
|
|
|
|
+ inversion_rate = round(order_device_count / new_device_count * 100, 2)
|
|
res = {
|
|
res = {
|
|
'orders': order_list,
|
|
'orders': order_list,
|
|
'regions': CommonService.list_sort(region_list),
|
|
'regions': CommonService.list_sort(region_list),
|
|
- 'deviceType': CommonService.list_sort(device_type_list)
|
|
|
|
|
|
+ 'deviceType': CommonService.list_sort(device_type_list),
|
|
|
|
+ 'newDeviceCount': new_device_count,
|
|
|
|
+ 'orderDeviceCount': order_device_count,
|
|
|
|
+ 'inversionRate': inversion_rate
|
|
}
|
|
}
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
except Exception as e:
|
|
except Exception as e:
|