123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- from __future__ import division
- from datetime import datetime
- 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 TimeConvert import TimeConvert as tc
- from account.models import LensmanInfo, LensmanIntegralIncomeExpensesInfo
- from kodo.decorators import check_admin
- @logit
- @check_admin
- def lensman_list(request, administrator):
- page = request.POST.get('page', 1)
- num = request.POST.get('num', 20)
- query = request.POST.get('query', '')
- lensman_status = request.POST.get('lensman_status', '')
- end_date = tc.to_date(request.POST.get('end_date', ''))
- integral_end_date_start = request.POST.get('integral_end_date_start', '')
- integral_end_date_end = request.POST.get('integral_end_date_end', '')
- logs = LensmanInfo.objects.filter(status=True).order_by('-pk')
- if query:
- logs = logs.filter(Q(name__icontains=query) | Q(phone__icontains=query))
- if lensman_status:
- logs = logs.filter(lensman_status=lensman_status)
- if end_date:
- logs = logs.filter(end_date__lte=end_date)
- if integral_end_date_start and integral_end_date_end:
- ftime = datetime.strptime(
- integral_end_date_start + ' 00:00:00', '%Y%m%d %H:%M:%S')
- ttime = datetime.strptime(
- integral_end_date_end + ' 23:59:59', '%Y%m%d %H:%M:%S')
- logs = logs.filter(integral_end_date__range=[ftime, ttime])
- count = logs.count()
- logs, left = pagination(logs, page, num)
- logs = [log.admindata for log in logs]
- return response(data={
- 'logs': logs,
- 'left': left,
- 'count': count,
- })
- @logit
- @check_admin
- def lensman_audit(request, administrator):
- lensman_id = request.POST.get('lensman_id', '')
- start_date = tc.to_date(request.POST.get('start_date', ''))
- end_date = tc.to_date(request.POST.get('end_date', ''))
- try:
- lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True)
- except LensmanInfo.DoesNotExist:
- return response(200, 'Lensman Not Found', u'摄影师不存在')
- lensman.lensman_status = LensmanInfo.ACTIVATED
- lensman.start_date = start_date
- lensman.end_date = end_date
- lensman.save()
- return response(200, 'Lensman Audit Pass Suceess', u'摄影师审核通过')
- @logit
- @check_admin
- def lensman_update(request, administrator):
- lensman_id = request.POST.get('lensman_id', '')
- start_date = tc.to_date(request.POST.get('start_date', ''))
- end_date = tc.to_date(request.POST.get('end_date', ''))
- integral_start_date = tc.to_date(
- request.POST.get('integral_start_date', ''))
- integral_end_date = tc.to_date(request.POST.get('integral_end_date', ''))
- name = request.POST.get('name', '')
- phone = request.POST.get('phone', '')
- remark = request.POST.get('remark', '')
- identity_card_name = request.POST.get('identity_card_name', '')
- identity_card_number = request.POST.get('identity_card_number', '')
- try:
- lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True)
- except LensmanInfo.DoesNotExist:
- return response(200, 'Lensman Not Found', u'摄影师不存在')
- lensman.start_date = start_date
- lensman.end_date = end_date
- lensman.integral_start_date = integral_start_date
- lensman.integral_end_date = integral_end_date
- lensman.name = name
- lensman.phone = phone
- lensman.remark = remark
- lensman.identity_card_name = identity_card_name
- lensman.identity_card_number = identity_card_number
- lensman.save()
- return response(200, 'Lensman Info Update Suceess', u'摄影师信息更新成功')
- @logit
- @check_admin
- def lensman_integral_list(request, administrator):
- user_id = request.POST.get('user_id', '')
- try:
- lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
- except LensmanInfo.DoesNotExist:
- return response(200, 'Lensman Not Found', u'摄影师不存在')
- integrals = LensmanIntegralIncomeExpensesInfo.objects.filter(
- user_id=user_id, status=True)
- integrals = [integral.admindata for integral in integrals]
- return response(200, 'Get Lensman Integral List Success', u'获取摄影师积分列表成功', data=integrals)
- @logit
- def lensman_integral_update(request):
- user_id = request.POST.get('user_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:
- lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
- except LensmanInfo.DoesNotExist:
- return response(200, 'Lensman Not Found', u'摄影师不存在')
- lensman.integral += integral
- lensman.save()
- LensmanIntegralIncomeExpensesInfo.objects.create(
- brand_id=brand_id,
- user_id=user_id,
- integral=integral,
- remark=remark,
- expired_at=lensman.integral_end_date,
- )
- return response(200, 'Lensman Integral Update Success', u'摄影师积分更新成功')
|