|
# -*- 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 LensmanInfo, LensmanIntegralIncomeExpensesInfo, UserInfo
from kodo.decorators import check_admin
from member.models import MemberActivityDataInfo, MemberActivitySignupInfo
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'添加积分成功')
|