| @@ -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'), |