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