|  | # -*- coding: utf-8 -*-
from __future__ import division
from paginator import pagination
from django.db import transaction
from django.db.models import Q
from django_logit import logit
from django_response import response
from TimeConvert import TimeConvert as tc
from kodo.decorators import check_admin
from account.models import UserInfo
from mch.models import AdministratorInfo, ConsumeShotUnbindingInfo
@logit
@check_admin
def consumer_shot_unbinding_list(request, administrator):
    start_time = request.POST.get('start_time', '')
    end_time = request.POST.get('end_time', '')
    query = request.POST.get('query', '')
    model_id = request.POST.get('model_id', '')
    page = request.POST.get('page', 1)
    num = request.POST.get('num', 20)
    unbindings = ConsumeShotUnbindingInfo.objects.filter(status=True).order_by('-created_at')
    if query:
        user_id = ''
        try:
            user_id = UserInfo.objects.get(phone__icontains=query, status=True)
        except UserInfo.DoesNotExist:
            pass
        unbindings = unbindings.filter(Q(sn__icontains=query) | Q(user_id=user_id))
    if start_time and end_time:
        start_time = tc.string_to_utc_datetime(start_time, format='%Y%m%d')
        end_time = tc.string_to_utc_datetime(end_time + ' 23:59:59', format='%Y%m%d %H:%M:%S')
        unbindings = unbindings.filter(created_at__range=(start_time, end_time))
    if model_id:
        unbindings = unbindings.filter(model_id=model_id)
    count = unbindings.count()
    unbindings, left = pagination(unbindings, page, num)
    unbindings = [unbinding.admindata for unbinding in unbindings]
    return response(200, 'Get Cosumer Shot Unbinding List Success', u'消费者镜头解绑列表获取成功', data={
        'unbindings': unbindings,
        'count': count,
        'left': left
    })
 |