| 
              # -*- coding: utf-8 -*-
from django.conf import settings
from django.db.models import Q
from django_logit import logit
from django_response import response
from paginator import pagination
from account.models import LensmanIntegralIncomeExpensesInfo, UserInfo, LensmanInfo
from member.models import  MemberActivitySignupInfo, MemberActivityDataInfo
from kodo.decorators import check_admin
from utils.error.errno_utils import UserStatusCode
@check_admin
def activity_signup_audit(request, administrator):
    activity_id = request.POST.get('activity_id', '')
    signup_id = request.POST.get('signup_id', '')
    audit_status = request.POST.get('audit_status', 0)
    MemberActivitySignupInfo.objects.filter(activity_id=activity_id, signup_id=signup_id, status=True).update(audit_status=audit_status)
    return response(200, 'Member Activity Signup Audit Success', u'活动审核成功')
@check_admin
def activity_data_list(request, administrator):
    activity_id = request.POST.get('activity_id', '')
    page = int(request.POST.get('page', 1))
    num = int(request.POST.get('num', 20))
    query = request.POST.get('query', '')
    logs = MemberActivityDataInfo.objects.filter(activity_id=activity_id, status=True)
    if query:
        logs = logs.filter(Q(lensman_name__icontains=query) | Q(lensman_phone__icontains=query))
    count = logs.count()
    logs, left = pagination(logs, page, num)
    logs = [log.admindata for log in logs]
    
    return response(200, 'Get Member Activity Data List Success', u'获取会员活动数据列表成功', data={
        'logs': logs,
        'count': count,
        'left': left,
    })
@check_admin
def activity_integral_add(request, administrator):
    activity_id = request.POST.get('activity_id', '')
    user_id = request.POST.get('user_id', '')
    lensman_id = request.POST.get('lensman_id', '')
    integral = int(request.POST.get('integral', 0))
    remark = request.POST.get('remark', '')
    brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
    try:
        user = UserInfo.objects.get(user_id=user_id, status=True)
    except UserInfo.DoesNotExist:
        return response(UserStatusCode.USER_NOT_FOUND)
    try:
        lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True)
    except LensmanInfo.DoesNotExist:
        return response('400001', 'LensmanInfo Not Found', '摄影师不存在')
    lensman.integral += integral
    lensman.save()
    LensmanIntegralIncomeExpensesInfo.objects.create(
        brand_id=brand_id,
        user_id=user_id,
        integral=integral,
        activity_id=activity_id,
        remark=remark,
        expired_at=lensman.integral_end_date,
    )
    return response(200, 'Add Member Activity Integral Success', u'添加积分成功')
 
  |