説明なし

views.py 2.2KB

    # -*- coding: utf-8 -*- from django.conf import settings from django.http import JsonResponse from message.models import UserMessageInfo from utils.errno_utils import MessageStatusCode from utils.response_utils import response from utils.page_utils import pagination def message_list_api(request): user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '') messages = UserMessageInfo.MESSAGE_TYPE_INFO final_messages = [] for message in messages: type_messages = UserMessageInfo.objects.filter( to_uid=user_id, msg_type=message['msg_type'], ).order_by( '-pk' )[:settings.MESSAGE_NUM_PER_PAGE] type_messages = [msg.msg_info for msg in type_messages] message['msg_list'] = type_messages final_messages.append(message) return JsonResponse({ 'status': 200, 'message': u'获取消息列表成功', 'data': { 'messages': final_messages, }, }) def message_type_list_api(request, msg_type): user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '') page = int(request.POST.get('page', 0) or request.GET.get('page', 0) or 1) num = int(request.POST.get('num', 0) or request.GET.get('num', 0) or settings.MESSAGE_NUM_PER_PAGE) type_messages = UserMessageInfo.objects.filter( to_uid=user_id, msg_type=msg_type, ).order_by( '-pk' ) type_messages, left = pagination(type_messages, page, num) type_messages = [msg.msg_info for msg in type_messages] return JsonResponse({ 'status': 200, 'message': u'获取消息列表成功', 'data': { 'messages': type_messages, 'left': left, }, }) def message_read_api(request): pk = int(request.POST.get('pk', 0) or request.GET.get('pk', 0) or -1) user_id = request.POST.get('user_id', '') or request.GET.get('user_id', '') try: message = UserMessageInfo.objects.get(pk=pk, to_uid=user_id) except UserMessageInfo.DoesNotExist: return response(MessageStatusCode.MESSAGE_NOT_FOUND) message.read = True message.save() return JsonResponse({ 'status': 200, 'message': u'已读消息成功', })