No Description

lensman_admin_views.py 4.4KB

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