暂无描述

lensman_admin_views.py 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. # -*- coding: utf-8 -*-
  2. from __future__ import division
  3. from datetime import datetime
  4. from django.conf import settings
  5. from django.db.models import Q
  6. from django_logit import logit
  7. from django_response import response
  8. from paginator import pagination
  9. from TimeConvert import TimeConvert as tc
  10. from account.models import LensmanInfo, LensmanIntegralIncomeExpensesInfo
  11. from kodo.decorators import check_admin
  12. @logit
  13. @check_admin
  14. def lensman_list(request, administrator):
  15. page = request.POST.get('page', 1)
  16. num = request.POST.get('num', 20)
  17. query = request.POST.get('query', '')
  18. lensman_status = request.POST.get('lensman_status', '')
  19. end_date = tc.to_date(request.POST.get('end_date', ''))
  20. integral_end_date_start = request.POST.get('integral_end_date_start', '')
  21. integral_end_date_end = request.POST.get('integral_end_date_end', '')
  22. logs = LensmanInfo.objects.filter(status=True).order_by('-pk')
  23. if query:
  24. logs = logs.filter(Q(name__icontains=query) | Q(phone__icontains=query))
  25. if lensman_status:
  26. logs = logs.filter(lensman_status=lensman_status)
  27. if end_date:
  28. logs = logs.filter(end_date__lte=end_date)
  29. if integral_end_date_start and integral_end_date_end:
  30. ftime = datetime.strptime(
  31. integral_end_date_start + ' 00:00:00', '%Y%m%d %H:%M:%S')
  32. ttime = datetime.strptime(
  33. integral_end_date_end + ' 23:59:59', '%Y%m%d %H:%M:%S')
  34. logs = logs.filter(integral_end_date__range=[ftime, ttime])
  35. count = logs.count()
  36. logs, left = pagination(logs, page, num)
  37. logs = [log.admindata for log in logs]
  38. return response(data={
  39. 'logs': logs,
  40. 'left': left,
  41. 'count': count,
  42. })
  43. @logit
  44. @check_admin
  45. def lensman_audit(request, administrator):
  46. lensman_id = request.POST.get('lensman_id', '')
  47. start_date = tc.to_date(request.POST.get('start_date', ''))
  48. end_date = tc.to_date(request.POST.get('end_date', ''))
  49. try:
  50. lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True)
  51. except LensmanInfo.DoesNotExist:
  52. return response(200, 'Lensman Not Found', u'摄影师不存在')
  53. lensman.lensman_status = LensmanInfo.ACTIVATED
  54. lensman.start_date = start_date
  55. lensman.end_date = end_date
  56. lensman.save()
  57. return response(200, 'Lensman Audit Pass Suceess', u'摄影师审核通过')
  58. @logit
  59. @check_admin
  60. def lensman_update(request, administrator):
  61. lensman_id = request.POST.get('lensman_id', '')
  62. start_date = tc.to_date(request.POST.get('start_date', ''))
  63. end_date = tc.to_date(request.POST.get('end_date', ''))
  64. integral_start_date = tc.to_date(
  65. request.POST.get('integral_start_date', ''))
  66. integral_end_date = tc.to_date(request.POST.get('integral_end_date', ''))
  67. name = request.POST.get('name', '')
  68. phone = request.POST.get('phone', '')
  69. remark = request.POST.get('remark', '')
  70. identity_card_name = request.POST.get('identity_card_name', '')
  71. identity_card_number = request.POST.get('identity_card_number', '')
  72. try:
  73. lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True)
  74. except LensmanInfo.DoesNotExist:
  75. return response(200, 'Lensman Not Found', u'摄影师不存在')
  76. lensman.start_date = start_date
  77. lensman.end_date = end_date
  78. lensman.integral_start_date = integral_start_date
  79. lensman.integral_end_date = integral_end_date
  80. lensman.name = name
  81. lensman.phone = phone
  82. lensman.remark = remark
  83. lensman.identity_card_name = identity_card_name
  84. lensman.identity_card_number = identity_card_number
  85. lensman.save()
  86. return response(200, 'Lensman Info Update Suceess', u'摄影师信息更新成功')
  87. @logit
  88. @check_admin
  89. def lensman_integral_list(request, administrator):
  90. user_id = request.POST.get('user_id', '')
  91. try:
  92. lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
  93. except LensmanInfo.DoesNotExist:
  94. return response(200, 'Lensman Not Found', u'摄影师不存在')
  95. integrals = LensmanIntegralIncomeExpensesInfo.objects.filter(
  96. user_id=user_id, status=True)
  97. integrals = [integral.admindata for integral in integrals]
  98. return response(200, 'Get Lensman Integral List Success', u'获取摄影师积分列表成功', data=integrals)
  99. @logit
  100. def lensman_integral_update(request):
  101. user_id = request.POST.get('user_id', '')
  102. integral = int(request.POST.get('integral', 0))
  103. remark = request.POST.get('remark', '')
  104. brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
  105. try:
  106. lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
  107. except LensmanInfo.DoesNotExist:
  108. return response(200, 'Lensman Not Found', u'摄影师不存在')
  109. lensman.integral += integral
  110. lensman.save()
  111. LensmanIntegralIncomeExpensesInfo.objects.create(
  112. brand_id=brand_id,
  113. user_id=user_id,
  114. integral=integral,
  115. remark=remark,
  116. expired_at=lensman.integral_end_date,
  117. )
  118. return response(200, 'Lensman Integral Update Success', u'摄影师积分更新成功')