|
@@ -462,7 +462,7 @@ class CronCollectDataView(View):
|
|
order_qs = Order_Model.objects.filter(addTime__gte=start_time, addTime__lt=end_time,
|
|
order_qs = Order_Model.objects.filter(addTime__gte=start_time, addTime__lt=end_time,
|
|
status=1).values('UID', 'order_type',
|
|
status=1).values('UID', 'order_type',
|
|
'store_meal_name', 'price',
|
|
'store_meal_name', 'price',
|
|
- 'addTime').order_by(
|
|
|
|
|
|
+ 'addTime', 'currency').order_by(
|
|
'addTime')
|
|
'addTime')
|
|
uid_list = []
|
|
uid_list = []
|
|
all_order_qs = Order_Model.objects.filter(addTime__lt=start_time, status=1).values('UID')
|
|
all_order_qs = Order_Model.objects.filter(addTime__lt=start_time, status=1).values('UID')
|
|
@@ -484,6 +484,7 @@ class CronCollectDataView(View):
|
|
for item in order_qs:
|
|
for item in order_qs:
|
|
is_pay = 0
|
|
is_pay = 0
|
|
price = float(item['price'])
|
|
price = float(item['price'])
|
|
|
|
+ currency = item['currency']
|
|
uid_set_qs = UidSetModel.objects.filter(uid=item['UID']).values('tb_country')
|
|
uid_set_qs = UidSetModel.objects.filter(uid=item['UID']).values('tb_country')
|
|
country_id = uid_set_qs[0]['tb_country'] if uid_set_qs.exists() else 0
|
|
country_id = uid_set_qs[0]['tb_country'] if uid_set_qs.exists() else 0
|
|
country_name = country_dict.get(country_id, '未知国家')
|
|
country_name = country_dict.get(country_id, '未知国家')
|
|
@@ -514,62 +515,112 @@ class CronCollectDataView(View):
|
|
if pay_order_summary_qs.exists():
|
|
if pay_order_summary_qs.exists():
|
|
pay_order_summary = pay_order_summary_qs.first()
|
|
pay_order_summary = pay_order_summary_qs.first()
|
|
pay_order_summary.count += 1
|
|
pay_order_summary.count += 1
|
|
- pay_order_summary.total = str(round(float(pay_order_summary.total) + price, 2))
|
|
|
|
|
|
+ temp_total = eval(pay_order_summary.total)
|
|
|
|
+ if currency not in temp_total:
|
|
|
|
+ temp_total[currency] = price
|
|
|
|
+ else:
|
|
|
|
+ temp_total[currency] = round(temp_total[currency] + price, 2)
|
|
|
|
+ pay_order_summary.total = temp_total
|
|
country_temp_dict = eval(pay_order_summary.country)
|
|
country_temp_dict = eval(pay_order_summary.country)
|
|
if country_name in country_temp_dict:
|
|
if country_name in country_temp_dict:
|
|
- country_temp_dict[country_name] += 1
|
|
|
|
|
|
+ country_temp_dict[country_name]['数量'] += 1
|
|
|
|
+ if currency not in country_temp_dict[country_name]:
|
|
|
|
+ country_temp_dict[country_name][currency] = price
|
|
|
|
+ else:
|
|
|
|
+ country_temp_dict[country_name][currency] = round(
|
|
|
|
+ country_temp_dict[country_name][currency] + price, 2)
|
|
else:
|
|
else:
|
|
- country_temp_dict[country_name] = 1
|
|
|
|
|
|
+ country_temp_dict[country_name] = {'数量': 1, currency: price}
|
|
pay_order_summary.country = country_temp_dict
|
|
pay_order_summary.country = country_temp_dict
|
|
device_type_temp_dict = eval(pay_order_summary.device_type)
|
|
device_type_temp_dict = eval(pay_order_summary.device_type)
|
|
if device_type_name in device_type_temp_dict:
|
|
if device_type_name in device_type_temp_dict:
|
|
- device_type_temp_dict[device_type_name] += 1
|
|
|
|
|
|
+ device_type_temp_dict[device_type_name]['数量'] += 1
|
|
|
|
+ if currency not in device_type_temp_dict[device_type_name]:
|
|
|
|
+ device_type_temp_dict[device_type_name][currency] = price
|
|
|
|
+ else:
|
|
|
|
+ device_type_temp_dict[device_type_name][currency] = round(
|
|
|
|
+ device_type_temp_dict[device_type_name][currency] + price, 2)
|
|
else:
|
|
else:
|
|
- device_type_temp_dict[device_type_name] = 1
|
|
|
|
|
|
+ device_type_temp_dict[device_type_name] = {'数量': 1, currency: price}
|
|
pay_order_summary.device_type = device_type_temp_dict
|
|
pay_order_summary.device_type = device_type_temp_dict
|
|
store_meal_temp_dict = eval(pay_order_summary.store_meal)
|
|
store_meal_temp_dict = eval(pay_order_summary.store_meal)
|
|
if store_meal_name in store_meal_temp_dict:
|
|
if store_meal_name in store_meal_temp_dict:
|
|
- store_meal_temp_dict[store_meal_name] += 1
|
|
|
|
|
|
+ store_meal_temp_dict[store_meal_name]['数量'] += 1
|
|
|
|
+ if currency not in store_meal_temp_dict[store_meal_name]:
|
|
|
|
+ store_meal_temp_dict[store_meal_name][currency] = price
|
|
|
|
+ else:
|
|
|
|
+ store_meal_temp_dict[store_meal_name][currency] = round(
|
|
|
|
+ store_meal_temp_dict[store_meal_name][currency] + price, 2)
|
|
else:
|
|
else:
|
|
- store_meal_temp_dict[store_meal_name] = 1
|
|
|
|
|
|
+ store_meal_temp_dict[store_meal_name] = {'数量': 1, currency: price}
|
|
pay_order_summary.store_meal = store_meal_temp_dict
|
|
pay_order_summary.store_meal = store_meal_temp_dict
|
|
pay_order_summary.save()
|
|
pay_order_summary.save()
|
|
else:
|
|
else:
|
|
|
|
+ final_total = {currency: price}
|
|
country_temp_dict = {
|
|
country_temp_dict = {
|
|
- country_name: 1
|
|
|
|
|
|
+ country_name: {
|
|
|
|
+ '数量': 1,
|
|
|
|
+ currency: price
|
|
|
|
+ }
|
|
}
|
|
}
|
|
device_type_temp_dict = {
|
|
device_type_temp_dict = {
|
|
- device_type_name: 1
|
|
|
|
|
|
+ device_type_name: {
|
|
|
|
+ '数量': 1,
|
|
|
|
+ currency: price
|
|
|
|
+ }
|
|
}
|
|
}
|
|
store_meal_temp_dict = {
|
|
store_meal_temp_dict = {
|
|
- store_meal_name: 1
|
|
|
|
|
|
+ store_meal_name: {
|
|
|
|
+ '数量': 1,
|
|
|
|
+ currency: price
|
|
|
|
+ }
|
|
}
|
|
}
|
|
OrdersSummary.objects.create(time=add_time_stamp, count=1, query_type=query_type,
|
|
OrdersSummary.objects.create(time=add_time_stamp, count=1, query_type=query_type,
|
|
- service_type=order_type, total=price,
|
|
|
|
|
|
+ service_type=order_type, total=final_total,
|
|
country=country_temp_dict,
|
|
country=country_temp_dict,
|
|
device_type=device_type_temp_dict,
|
|
device_type=device_type_temp_dict,
|
|
store_meal=store_meal_temp_dict)
|
|
store_meal=store_meal_temp_dict)
|
|
if order_summary_qs.exists():
|
|
if order_summary_qs.exists():
|
|
order_summary = order_summary_qs.first()
|
|
order_summary = order_summary_qs.first()
|
|
order_summary.count += 1
|
|
order_summary.count += 1
|
|
- order_summary.total = str(round(float(order_summary.total) + price, 2))
|
|
|
|
|
|
+ temp_total = eval(order_summary.total)
|
|
|
|
+ if currency not in temp_total:
|
|
|
|
+ temp_total[currency] = price
|
|
|
|
+ else:
|
|
|
|
+ temp_total[currency] = round(temp_total[currency] + price, 2)
|
|
|
|
+ order_summary.total = temp_total
|
|
country_temp_dict = eval(order_summary.country)
|
|
country_temp_dict = eval(order_summary.country)
|
|
if country_name in country_temp_dict:
|
|
if country_name in country_temp_dict:
|
|
- country_temp_dict[country_name] += 1
|
|
|
|
|
|
+ if is_pay == 0:
|
|
|
|
+ country_temp_dict[country_name]['数量'] += 1
|
|
|
|
+ if currency not in country_temp_dict[country_name]:
|
|
|
|
+ country_temp_dict[country_name][currency] = price
|
|
|
|
+ else:
|
|
|
|
+ country_temp_dict[country_name][currency] = round(
|
|
|
|
+ country_temp_dict[country_name][currency] + price, 2)
|
|
|
|
+ else:
|
|
|
|
+ country_temp_dict[country_name] += 1
|
|
else:
|
|
else:
|
|
- country_temp_dict[country_name] = 1
|
|
|
|
|
|
+ if is_pay == 0:
|
|
|
|
+ country_temp_dict[country_name] = {'数量': 1, currency: price}
|
|
|
|
+ else:
|
|
|
|
+ country_temp_dict[country_name] = 1
|
|
order_summary.country = country_temp_dict
|
|
order_summary.country = country_temp_dict
|
|
device_type_temp_dict = eval(order_summary.device_type)
|
|
device_type_temp_dict = eval(order_summary.device_type)
|
|
if device_type_name in device_type_temp_dict:
|
|
if device_type_name in device_type_temp_dict:
|
|
if is_pay == 0:
|
|
if is_pay == 0:
|
|
device_type_temp_dict[device_type_name]['数量'] += 1
|
|
device_type_temp_dict[device_type_name]['数量'] += 1
|
|
- device_type_temp_dict[device_type_name]['销售额'] = round(
|
|
|
|
- device_type_temp_dict[device_type_name]['销售额'] + price, 2)
|
|
|
|
|
|
+ if currency not in device_type_temp_dict[device_type_name]:
|
|
|
|
+ device_type_temp_dict[device_type_name][currency] = price
|
|
|
|
+ else:
|
|
|
|
+
|
|
|
|
+ device_type_temp_dict[device_type_name][currency] = round(
|
|
|
|
+ device_type_temp_dict[device_type_name][currency] + price, 2)
|
|
else:
|
|
else:
|
|
device_type_temp_dict[device_type_name] += 1
|
|
device_type_temp_dict[device_type_name] += 1
|
|
else:
|
|
else:
|
|
if is_pay == 0:
|
|
if is_pay == 0:
|
|
- device_type_temp_dict[device_type_name] = {'数量': 1, '销售额': price}
|
|
|
|
|
|
+ device_type_temp_dict[device_type_name] = {'数量': 1, currency: price}
|
|
else:
|
|
else:
|
|
device_type_temp_dict[device_type_name] = 1
|
|
device_type_temp_dict[device_type_name] = 1
|
|
order_summary.device_type = device_type_temp_dict
|
|
order_summary.device_type = device_type_temp_dict
|
|
@@ -577,32 +628,39 @@ class CronCollectDataView(View):
|
|
if store_meal_name in store_meal_temp_dict:
|
|
if store_meal_name in store_meal_temp_dict:
|
|
if is_pay == 0:
|
|
if is_pay == 0:
|
|
store_meal_temp_dict[store_meal_name]['数量'] += 1
|
|
store_meal_temp_dict[store_meal_name]['数量'] += 1
|
|
- store_meal_temp_dict[store_meal_name]['销售额'] = round(
|
|
|
|
- store_meal_temp_dict[store_meal_name]['销售额'] + price, 2)
|
|
|
|
|
|
+ if currency not in store_meal_temp_dict[store_meal_name]:
|
|
|
|
+ store_meal_temp_dict[store_meal_name][currency] = price
|
|
|
|
+ else:
|
|
|
|
+ store_meal_temp_dict[store_meal_name][currency] = round(
|
|
|
|
+ store_meal_temp_dict[store_meal_name][currency] + price, 2)
|
|
else:
|
|
else:
|
|
store_meal_temp_dict[store_meal_name] += 1
|
|
store_meal_temp_dict[store_meal_name] += 1
|
|
else:
|
|
else:
|
|
if is_pay == 0:
|
|
if is_pay == 0:
|
|
- store_meal_temp_dict[store_meal_name] = {'数量': 1, '销售额': price}
|
|
|
|
|
|
+ store_meal_temp_dict[store_meal_name] = {'数量': 1, currency: price}
|
|
else:
|
|
else:
|
|
store_meal_temp_dict[store_meal_name] = 1
|
|
store_meal_temp_dict[store_meal_name] = 1
|
|
order_summary.store_meal = store_meal_temp_dict
|
|
order_summary.store_meal = store_meal_temp_dict
|
|
order_summary.save()
|
|
order_summary.save()
|
|
else:
|
|
else:
|
|
- country_temp_dict = {
|
|
|
|
- country_name: 1
|
|
|
|
- }
|
|
|
|
|
|
+ final_total = {currency: price}
|
|
if is_pay == 0:
|
|
if is_pay == 0:
|
|
|
|
+ country_temp_dict = {
|
|
|
|
+ country_name: {
|
|
|
|
+ '数量': 1,
|
|
|
|
+ currency: price
|
|
|
|
+ }
|
|
|
|
+ }
|
|
device_type_temp_dict = {
|
|
device_type_temp_dict = {
|
|
device_type_name: {
|
|
device_type_name: {
|
|
'数量': 1,
|
|
'数量': 1,
|
|
- '销售额': price
|
|
|
|
|
|
+ currency: price
|
|
}
|
|
}
|
|
}
|
|
}
|
|
store_meal_temp_dict = {
|
|
store_meal_temp_dict = {
|
|
store_meal_name: {
|
|
store_meal_name: {
|
|
'数量': 1,
|
|
'数量': 1,
|
|
- '销售额': price
|
|
|
|
|
|
+ currency: price
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else:
|
|
else:
|
|
@@ -612,8 +670,11 @@ class CronCollectDataView(View):
|
|
store_meal_temp_dict = {
|
|
store_meal_temp_dict = {
|
|
store_meal_name: 1
|
|
store_meal_name: 1
|
|
}
|
|
}
|
|
|
|
+ country_temp_dict = {
|
|
|
|
+ country_name: 1
|
|
|
|
+ }
|
|
OrdersSummary.objects.create(time=add_time_stamp, count=1, query_type=is_pay,
|
|
OrdersSummary.objects.create(time=add_time_stamp, count=1, query_type=is_pay,
|
|
- service_type=order_type, total=price,
|
|
|
|
|
|
+ service_type=order_type, total=final_total,
|
|
country=country_temp_dict,
|
|
country=country_temp_dict,
|
|
device_type=device_type_temp_dict, store_meal=store_meal_temp_dict)
|
|
device_type=device_type_temp_dict, store_meal=store_meal_temp_dict)
|
|
return response.json(0)
|
|
return response.json(0)
|