Пример #1
0
def get_records(request):
    user = request.user.get_profile()
    red_envelopes = RedEnvelope.objects.filter(owner=request.user,
                                               is_deleted=False)
    red_envelope_ids = [r.id for r in red_envelopes]

    #处理搜索
    query = request.GET.get('query', None)
    if query:
        query_hex = byte_to_hex(query)
        records = RedEnvelopeRecord.objects.filter(
            red_envelope_id__in=red_envelope_ids,
            prize_level__gt=0,
            prize_number=query_hex)
    else:
        records = RedEnvelopeRecord.objects.filter(
            red_envelope_id__in=red_envelope_ids, prize_level__gt=0)
    #进行分页
    count_per_page = int(request.GET.get('count_per_page', 15))
    cur_page = int(request.GET.get('page', '1'))
    pageinfo, records = paginator.paginate(
        records,
        cur_page,
        count_per_page,
        query_string=request.META['QUERY_STRING'])

    response = create_response(200)

    response.data.items = []
    for record in records:
        member = WebAppUser.get_member_by_webapp_user_id(record.webapp_user_id)
        one_record = JsonResponse()
        if member:
            one_record.username = member.username_for_html
            one_record.user_id = member.id
        else:
            one_record.username = u'未知'
            one_record.user_id = 0
        one_record.prize_number = record.prize_number
        one_record.red_envelope_name = record.red_envelope_name
        one_record.prize_money = str(record.prize_money)
        one_record.prize_name = record.prize_name
        one_record.prize_type = record.prize_type
        one_record.prize_detail = record.prize_detail
        one_record.created_at = record.created_at.strftime('%Y-%m-%d')
        one_record.awarded_at = record.awarded_at.strftime('%Y-%m-%d')
        one_record.is_awarded = record.is_awarded
        one_record.id = record.id
        response.data.items.append(one_record)

    response.data.pageinfo = paginator.to_dict(pageinfo)
    response.data.sortAttr = request.GET.get('sort_attr', '-created_at')

    return response.get_response()
Пример #2
0
def get_records(request):
    """
	获取中奖记录

	举例:http://weapp.weizoom.com/market_tools/lottery/api/records/get/?version=1&sort_attr=-created_at&count_per_page=15&page=1&enable_paginate=1&timestamp=1434434567924

	"""
    user = request.user.get_profile()
    lotteries = Lottery.objects.filter(owner=request.user, is_deleted=False)
    lottery_ids = [l.id for l in lotteries]

    #处理搜索
    query = request.GET.get('query', None)
    if query:
        query_hex = byte_to_hex(query)
        records = LotteryRecord.objects.filter(lottery_id__in=lottery_ids,
                                               prize_level__gt=0,
                                               prize_number=query_hex)
    else:
        records = LotteryRecord.objects.filter(lottery_id__in=lottery_ids,
                                               prize_level__gt=0)

    #进行分页
    count_per_page = int(request.GET.get('count_per_page', 15))
    cur_page = int(request.GET.get('page', '1'))
    pageinfo, records = paginator.paginate(
        records,
        cur_page,
        count_per_page,
        query_string=request.META['QUERY_STRING'])

    response = create_response(200)

    response.data.items = []
    for record in records:
        one_record = JsonResponse()
        one_record.username = record.member.username_for_html
        one_record.user_id = record.member.id
        one_record.prize_number = record.prize_number
        one_record.prize_money = str(record.prize_money)
        one_record.lottery_name = record.lottery_name
        one_record.prize_name = record.prize_name
        one_record.prize_type = record.prize_type
        one_record.prize_detail = record.prize_detail
        one_record.created_at = record.created_at.strftime('%Y-%m-%d')
        one_record.awarded_at = record.awarded_at.strftime('%Y-%m-%d')
        one_record.is_awarded = record.is_awarded
        one_record.id = record.id
        response.data.items.append(one_record)

    response.data.pageinfo = paginator.to_dict(pageinfo)
    response.data.sortAttr = request.GET.get('sort_attr', '-created_at')

    return response.get_response()