@@ -557,6 +557,28 @@ def statistic_member(request): |
||
557 | 557 |
'province_logs': province_logs, |
558 | 558 |
}) |
559 | 559 |
|
560 |
+def statistic_coupon(request): |
|
561 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
562 |
+ admin_id = request.POST.get('admin_id', '') |
|
563 |
+ start_time = request.POST.get('start_time', '') |
|
564 |
+ end_time = request.POST.get('end_time', '') |
|
565 |
+ |
|
566 |
+ if start_time and end_time: |
|
567 |
+ start_time = datetime.strptime(start_time, '%Y%m%d') |
|
568 |
+ end_time = datetime.strptime(end_time + ' 23:59:59', '%Y%m%d %H:%M:%S') |
|
569 |
+ coupons = UserCouponInfo.objects.filter(create_at__range=(start_time, end_time), status=True) |
|
570 |
+ else: |
|
571 |
+ coupons = UserCouponInfo.objects.filter(status=True) |
|
572 |
+ |
|
573 |
+ froms_logs = list(coupons.values('coupon_from').annotate(num=Count('user_coupon_id'))) |
|
574 |
+ type_logs = list(coupons.values('coupon_title', 'coupon_value').annotate(num=Count('user_coupon_id'))) |
|
575 |
+ type_has_used_logs = list(coupons.filter(has_used=True).values('coupon_title', 'coupon_value').annotate(num=Count('user_coupon_id'))) |
|
576 |
+ |
|
577 |
+ return response(200, 'Get Consumer Statistic Success', u'获取消费者统计成功', data={ |
|
578 |
+ 'froms_logs': froms_logs, |
|
579 |
+ 'type_logs': type_logs, |
|
580 |
+ 'type_has_used_logs': type_has_used_logs, |
|
581 |
+ }) |
|
560 | 582 |
|
561 | 583 |
def record_consumer(request): |
562 | 584 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
@@ -148,6 +148,8 @@ urlpatterns += [ |
||
148 | 148 |
url(r'^admin/statistic/consumer$', admin_views.statistic_consumer, name='statistic_consumer'), |
149 | 149 |
url(r'^admin/statistic/member$', admin_views.statistic_member, name='statistic_member'), |
150 | 150 |
|
151 |
+ url(r'^admin/statistic/coupon$', admin_views.statistic_coupon, name='statistic_coupon'), |
|
152 |
+ |
|
151 | 153 |
url(r'^admin/record/consumer$', admin_views.record_consumer, name='record_consumer'), |
152 | 154 |
url(r'^admin/record/sale$', admin_views.record_sale, name='record_sale'), |
153 | 155 |
url(r'^admin/record/warehouse$', admin_views.record_warehouse, name='record_warehouse'), |