暂无描述

lensman_admin_views.py 4.8KB

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