1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- from django.conf import settings
- from django.http import JsonResponse
- from message.models import UserMessageInfo
- from utils.page_utils import pagination
- from utils.error.errno_utils import MessageStatusCode
- from utils.error.response_utils import response
- 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'已读消息成功',
- })
|