Brak opisu

lensman_activity_mp_views.py 3.3KB

    # -*- coding: utf-8 -*- from django.conf import settings from django_logit import logit from django.db.models import Q from django_response import response from account.models import LensmanInfo from member.models import MemberActivityInfo, MemberActivityDataInfo, MemberActivitySignupInfo, MemberActivityContributionInfo from utils.error.errno_utils import MemberActivityStatusCode @logit def activity_data_submit(request): user_id = request.POST.get('user_id', '') lensman_id = request.POST.get('lensman_id', '') activity_id = request.POST.get('activity_id', '') data_fields = request.POST.get('data_fields', '[]') try: act = MemberActivityInfo.objects.get(activity_id=activity_id, status=True) except MemberActivityInfo.DoesNotExist: return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND) try: lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True) except LensmanInfo.DoesNotExist: return response('400001', 'LensmanInfo Not Found', '摄影师不存在') if lensman.is_expired: return response(40001, 'Lensman Has Expired', '摄影师合作已到期') MemberActivityDataInfo.objects.update_or_create(user_id=user_id, activity_id=activity_id, defaults={ 'title': act.title, 'lensman_id': lensman_id, 'lensman_name': lensman.name, 'lensman_phone': lensman.phone, 'data_fields': data_fields, }) return response(data={ 'activity': act.data(user_id), }) @logit def activity_data_detail(request): user_id = request.POST.get('user_id', '') activity_id = request.POST.get('activity_id', '') try: data_info = MemberActivityDataInfo.objects.get(user_id=user_id, activity_id=activity_id, status=True) except MemberActivityDataInfo.DoesNotExist: return response() return response(data={ 'data_info': data_info.data, }) @logit def activity_message(request): user_id = request.POST.get('user_id', '') lensman_acts = MemberActivityInfo.objects.values_list('activity_id', flat=True).filter(activity_section=4, status=True) signup_infos = MemberActivitySignupInfo.objects.filter(Q(user_id=user_id) & Q(activity_id__in=lensman_acts) & Q(is_read=False)).exclude(audit_status=MemberActivitySignupInfo.UNAUDITED) contribution_infos = MemberActivityContributionInfo.objects.filter(Q(user_id=user_id) & Q(activity_id__in=lensman_acts) & Q(is_read=False)).exclude(audit_status=MemberActivityContributionInfo.UNAUDITED) signup_infos = [info.data for info in signup_infos] contribution_infos = [info.data for info in contribution_infos] return response(data={ 'signup_messages': signup_infos, 'contribution_messages': contribution_infos, }) @logit def activity_message_read(request): user_id = request.POST.get('user_id', '') signup_id = request.POST.get('signup_id', '') contribution_id = request.POST.get('contribution_id', '') if signup_id: MemberActivitySignupInfo.objects.filter(user_id=user_id, signup_id=signup_id).update(is_read=True) if contribution_id: MemberActivityContributionInfo.objects.filter(user_id=user_id, contribution_id=contribution_id).update(is_read=True) return response(200, 'Activity Message Has Read Success', '活动消息已读')