暂无描述

lensman_admin_views.py 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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_delete(request, administrator):
  61. lensman_id = request.POST.get('lensman_id', '')
  62. try:
  63. lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True)
  64. except LensmanInfo.DoesNotExist:
  65. return response(200, 'Lensman Not Found', u'摄影师不存在')
  66. lensman.lensman_status = LensmanInfo.DISABLED
  67. lensman.status = False
  68. lensman.save()
  69. return response(200, 'Lensman Audit Pass Suceess', u'摄影师删除成功')
  70. @logit
  71. @check_admin
  72. def lensman_update(request, administrator):
  73. lensman_id = request.POST.get('lensman_id', '')
  74. start_date = tc.to_date(request.POST.get('start_date', ''))
  75. end_date = tc.to_date(request.POST.get('end_date', ''))
  76. integral_start_date = tc.to_date(
  77. request.POST.get('integral_start_date', ''))
  78. integral_end_date = tc.to_date(request.POST.get('integral_end_date', ''))
  79. name = request.POST.get('name', '')
  80. phone = request.POST.get('phone', '')
  81. remark = request.POST.get('remark', '')
  82. identity_card_name = request.POST.get('identity_card_name', '')
  83. identity_card_number = request.POST.get('identity_card_number', '')
  84. lensman_type = request.POST.get('lensman_type', '')
  85. try:
  86. lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True)
  87. except LensmanInfo.DoesNotExist:
  88. return response(200, 'Lensman Not Found', u'摄影师不存在')
  89. lensman.start_date = start_date
  90. lensman.end_date = end_date
  91. lensman.integral_start_date = integral_start_date
  92. lensman.integral_end_date = integral_end_date
  93. lensman.name = name
  94. lensman.phone = phone
  95. lensman.remark = remark
  96. lensman.identity_card_name = identity_card_name
  97. lensman.identity_card_number = identity_card_number
  98. lensman.lensman_type = lensman_type
  99. lensman.save()
  100. return response(200, 'Lensman Info Update Suceess', u'摄影师信息更新成功')
  101. @logit
  102. @check_admin
  103. def lensman_integral_list(request, administrator):
  104. user_id = request.POST.get('user_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. integrals = LensmanIntegralIncomeExpensesInfo.objects.filter(
  110. user_id=user_id, status=True)
  111. integrals = [integral.admindata for integral in integrals]
  112. return response(200, 'Get Lensman Integral List Success', u'获取摄影师积分列表成功', data=integrals)
  113. @logit
  114. def lensman_integral_update(request):
  115. user_id = request.POST.get('user_id', '')
  116. integral = int(request.POST.get('integral', 0))
  117. remark = request.POST.get('remark', '')
  118. brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
  119. try:
  120. lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
  121. except LensmanInfo.DoesNotExist:
  122. return response(200, 'Lensman Not Found', u'摄影师不存在')
  123. lensman.integral += integral
  124. lensman.save()
  125. LensmanIntegralIncomeExpensesInfo.objects.create(
  126. brand_id=brand_id,
  127. user_id=user_id,
  128. integral=integral,
  129. remark=remark,
  130. expired_at=lensman.integral_end_date,
  131. )
  132. return response(200, 'Lensman Integral Update Success', u'摄影师积分更新成功')